1 | // ESAF : Euso Simulation and Analysis Framework |
---|
2 | // class PmtSignal |
---|
3 | // $Id: PmtSignal.hh 1588 2005-02-24 11:00:28Z pesce $ |
---|
4 | // M.Pallavicini - created |
---|
5 | |
---|
6 | #ifndef __PMTSIGNAL_H_ |
---|
7 | #define __PMTSIGNAL_H_ |
---|
8 | |
---|
9 | //#include "global.hh" |
---|
10 | #include "TObject.h" |
---|
11 | |
---|
12 | // class PmtSignal |
---|
13 | // a signal is a gaussian shaped negative current |
---|
14 | |
---|
15 | class PmtSignal { |
---|
16 | public: |
---|
17 | |
---|
18 | // ctor |
---|
19 | PmtSignal(Double_t t0,Double_t c,Double_t width,Int_t pmt, Int_t ch); |
---|
20 | |
---|
21 | // dtor |
---|
22 | virtual ~PmtSignal(); |
---|
23 | |
---|
24 | // unique identifier (signal counter) |
---|
25 | inline Int_t Id() {return fId;} |
---|
26 | |
---|
27 | // pmt and pmt chan |
---|
28 | inline Int_t Pmt() {return fPmt;} |
---|
29 | inline Int_t Ch() {return fCh;} |
---|
30 | |
---|
31 | // current peak time |
---|
32 | inline Double_t Time() const {return fTime;} |
---|
33 | |
---|
34 | // total charge |
---|
35 | inline Double_t Charge() const {return fCharge;} |
---|
36 | |
---|
37 | // time standard deviation |
---|
38 | inline Double_t Sigma() const {return fWidth;} |
---|
39 | |
---|
40 | // current at time t |
---|
41 | Double_t Current(Double_t t) const; |
---|
42 | |
---|
43 | // voltage over a resistor R |
---|
44 | Double_t Voltage(Double_t t, Double_t R) const; |
---|
45 | |
---|
46 | virtual void Dump() const; |
---|
47 | |
---|
48 | // flags |
---|
49 | inline Bool_t MadeCount() const { return fMadeCount;} |
---|
50 | inline void SetMadeCount(Bool_t val) { fMadeCount=val;} |
---|
51 | |
---|
52 | inline Bool_t MadeFastOR() const { return fMadeFastOR;} |
---|
53 | inline void SetMadeFastOR(Bool_t val) { fMadeFastOR=val;} |
---|
54 | |
---|
55 | private: |
---|
56 | Double_t fTime; // time (leading edge) |
---|
57 | Double_t fCharge; // total charge |
---|
58 | Double_t fWidth; // time width |
---|
59 | Int_t fId; // identifier |
---|
60 | Int_t fPmt; // pmt number |
---|
61 | Int_t fCh; // channel number |
---|
62 | Bool_t fMadeCount; // true if the signal made a digital count in DFEE |
---|
63 | Bool_t fMadeFastOR; // true if the signal gave a fast or count in MC |
---|
64 | static Int_t gSigCounter; // signal counter |
---|
65 | ClassDef(PmtSignal,0) |
---|
66 | }; |
---|
67 | |
---|
68 | |
---|
69 | Bool_t operator < ( PmtSignal& s1, PmtSignal& s2 ); |
---|
70 | |
---|
71 | ostream& operator << (ostream&, PmtSignal&); |
---|
72 | |
---|
73 | #endif |
---|