source: JEM-EUSO/esaf_cc_at_lal/packages/simulation/detector/electronics/include/PhotoElectron.hh @ 114

Last change on this file since 114 was 114, checked in by moretto, 11 years ago

actual version of ESAF at CCin2p3

File size: 3.1 KB
Line 
1// $Id: PhotoElectron.hh 2766 2006-11-15 15:49:03Z moreggia $
2// Author: Sylvain Moreggia   2006/03/16
3
4/*****************************************************************************
5 * ESAF: Euso Simulation and Analysis Framework                              *
6 *                                                                           *
7 *  Id: PhotoElectron                                                           *
8 *  Package: electronics                                                   *
9 *  Coordinator: Marco.Pallavicini                                               *
10 *                                                                           *
11 *****************************************************************************/
12
13#ifndef __PHOTOELECTRON_HH__
14#define __PHOTOELECTRON_HH__
15
16#include "euso.hh"
17#include "EsafMsgSource.hh"
18#include "EarthVector.hh"
19
20class Photon;
21
22
23////////////////////////////////////////////////////////////////////////////////
24//                                                                            //
25// PhotoElectron                                                                 //
26//                                                                            // 
27// <brief class description>                                                  // 
28//                                                                            // 
29////////////////////////////////////////////////////////////////////////////////
30
31enum PEType {FluoPE=0, CkovPE=1, BckgndPE=2};
32
33
34
35class PhotoElectron : public EsafMsgSource {
36public:
37   
38    // ctor
39    PhotoElectron();
40   
41    // ctor
42    PhotoElectron(const Photon&);
43   
44    // dtor
45    virtual ~PhotoElectron();
46   
47    // getters
48    inline Double_t Time() const {return fTime;}
49    inline PEType Type() const {return fType;}
50    inline EarthVector AtmoPos() const {return fAtmoPos;}
51    inline UInt_t PixelID() const {return fPixelID;}
52    inline UInt_t Dist2ShiftToShowPt() const {return fDist2ShiftToShowPt;}
53    inline Double_t SNR() const {return fSNR;}
54    inline Bool_t IsTriggered() const {return fTriggered;}
55    inline Double_t Wl() const {return fWl;}
56    inline Double_t ShowerAge() const {return fShowerAge;}
57    inline Int_t AtmoHistory() const {return fAtmoHistory;}
58    inline Int_t AtmoNbinter() const {return fAtmoNbinter;}
59   
60    // setters
61    inline void SetPixelID(UInt_t id) {fPixelID = id;}
62    inline void SeDist2ShiftToShowPt(UInt_t dist2shift) {fDist2ShiftToShowPt = dist2shift;}
63    inline void SetTime(Double_t t) {fTime = t;}
64    inline void SetSNR(Double_t snr) {fSNR = snr;}
65    inline void Triggered(Bool_t trig = kTRUE) {fTriggered = trig;}
66
67private:
68
69    PEType fType;
70    UInt_t fPixelID;
71    UInt_t fDist2ShiftToShowPt;
72    Double_t fTime;
73    Double_t fSNR;
74    Bool_t fTriggered;
75   
76    // parent photon related infos
77    Double_t fWl;
78    Double_t fShowerAge;
79    EarthVector fAtmoPos;
80    Int_t fAtmoHistory;         // last interaction in atmosphere (0: direct, 1: reflected, 2: rayleigh, 3: cloud, 4: aerosol)
81    Int_t fAtmoNbinter;         // nb of interaction in atmosphere
82   
83   
84
85    ClassDef(PhotoElectron,0)
86};
87
88#endif  /* __PHOTOELECTRON_HH__ */
89
Note: See TracBrowser for help on using the repository browser.