]>
Commit | Line | Data |
---|---|---|
b0e13b29 | 1 | |
d5ebf00e | 2 | // -*- mode: C++ -*- |
3 | #ifndef ALIESDTZERO_H | |
4 | #define ALIESDTZERO_H | |
5 | ||
6 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
7 | * See cxx source for full Copyright notice */ | |
8 | ||
9 | ||
10 | //------------------------------------------------------------------------- | |
11 | // Class AliESDTZERO | |
12 | // This is a class that summarizes the TZERO data for the ESD | |
13 | // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch | |
14 | //------------------------------------------------------------------------- | |
15 | ||
16 | ||
17 | ||
18 | #include <TObject.h> | |
19 | ||
20 | class AliESDTZERO: public TObject { | |
21 | public: | |
22 | AliESDTZERO(); | |
23 | AliESDTZERO(const AliESDTZERO& tzero); | |
24 | AliESDTZERO& operator=(const AliESDTZERO& tzero); | |
732a24fe | 25 | virtual void Copy(TObject &obj) const; |
d5ebf00e | 26 | |
adf36b9d | 27 | Double32_t GetT0zVertex() const {return fT0zVertex;} |
28 | void SetT0zVertex(Double32_t z) {fT0zVertex=z;} | |
29 | Double32_t GetT0() const {return fT0timeStart;} | |
694aad0c | 30 | void SetT0(Double_t timeStart) {fT0timeStart = timeStart;} |
adf36b9d | 31 | Float_t GetT0clock() const {return fT0clock;} |
571b0564 | 32 | void SetT0clock(Float_t timeStart) {fT0clock = timeStart;} |
ce50812a | 33 | //1st |
adf36b9d | 34 | Double32_t GetT0TOF(Int_t i) const {return fT0TOF[i];} |
35 | const Double32_t * GetT0TOF() const {return fT0TOF;} | |
36 | void SetT0TOF(Int_t icase, Float_t time) { fT0TOF[icase] = time;} | |
ce50812a | 37 | //best |
38 | Double32_t GetT0TOFbest(Int_t i) const {return fT0TOFbest[i];} | |
39 | const Double32_t * GetT0TOFbest() const {return fT0TOFbest;} | |
40 | void SetT0TOFbest(Int_t icase, Float_t time) { fT0TOFbest[icase] = time;} | |
41 | ||
adf36b9d | 42 | Int_t GetT0Trig() const {return fT0trig;} |
43 | void SetT0Trig(Int_t tvdc) {fT0trig = tvdc;} | |
b0e13b29 | 44 | Bool_t GetT0Trig(Int_t i) {return (fT0trig&(1<<i)) != 0;} |
adf36b9d | 45 | const Double32_t * GetT0time() const {return fT0time;} |
46 | void SetT0time(Double32_t time[24]) { | |
b0e13b29 | 47 | for (Int_t i=0; i<24; i++) fT0time[i] = time[i]; |
d5ebf00e | 48 | } |
adf36b9d | 49 | const Double32_t * GetT0amplitude() const {return fT0amplitude;} |
50 | void SetT0amplitude(Double32_t amp[24]) { | |
d5ebf00e | 51 | for (Int_t i=0; i<24; i++) fT0amplitude[i] = amp[i]; |
52 | } | |
ec2a9359 | 53 | Float_t GetTimeFull(Int_t ch, Int_t hit) const {return fTimeFull[ch][hit];} |
54 | Float_t GetOrA(Int_t hit) const {return fOrA[hit];} | |
55 | Float_t GetOrC(Int_t hit) const {return fOrC[hit];} | |
56 | Float_t GetTVDC(Int_t hit) const {return fTVDC[hit];} | |
b0e13b29 | 57 | |
58 | void SetTimeFull(Int_t ch, Int_t hit, Float_t time) {fTimeFull[ch][hit] = time;} | |
59 | void SetOrA (Int_t hit, Float_t time) { fOrA[hit] = time ;} | |
60 | void SetOrC (Int_t hit, Float_t time) { fOrC[hit] = time;} | |
61 | void SetTVDC(Int_t hit, Float_t time) { fTVDC[hit] = time;} | |
62 | ||
63 | void SetMultC(Float_t mult) {fMultC = mult;} | |
64 | void SetMultA(Float_t mult) {fMultA = mult;} | |
ec2a9359 | 65 | Float_t GetMultC() const {return fMultC;} |
66 | Float_t GetMultA() const {return fMultA;} | |
ea1a8005 | 67 | |
68 | void SetBackgroundFlag(Bool_t back = false) {fBackground = back;} | |
69 | void SetPileupFlag(Bool_t back = false) {fPileup = back;} | |
70 | void SetSatelliteFlag(Bool_t sat = false) { fSattelite = sat;} | |
71 | ||
ec2a9359 | 72 | Bool_t GetBackgroundFlag() const {return fBackground;} |
73 | Bool_t GetPileupFlag() const {return fPileup;} | |
74 | Bool_t GetSatellite() const {return fSattelite;} | |
ea1a8005 | 75 | |
76 | void SetPileupTime (Int_t hit, Float_t time) { fPileupTime[hit] = time;} | |
ec2a9359 | 77 | Float_t GetPileupTime(Int_t hit) const {return fPileupTime[hit];} |
ea1a8005 | 78 | |
79 | ||
d5ebf00e | 80 | void Reset(); |
81 | void Print(const Option_t *opt=0) const; | |
82 | ||
ea1a8005 | 83 | |
d5ebf00e | 84 | private: |
85 | ||
adf36b9d | 86 | Float_t fT0clock; // backward compatibility |
ce50812a | 87 | Double32_t fT0TOF[3]; // interaction time in ps with 1st time( A&C, A, C) |
ea1a8005 | 88 | Double32_t fT0zVertex; // vertex z position estimated by the T0, cm |
adf36b9d | 89 | Double32_t fT0timeStart; // interaction time estimated by the T0 |
90 | Int_t fT0trig; // T0 trigger signals | |
91 | Double32_t fT0time[24]; // best TOF on each T0 PMT | |
92 | Double32_t fT0amplitude[24]; // number of particles(MIPs) on each T0 PMT | |
ea1a8005 | 93 | Float_t fTimeFull[24][5]; // array's TDC no-correction ;centred around 0, ns |
94 | Float_t fOrA[5]; //hardware OrA centred around 0, ns | |
95 | Float_t fOrC[5]; //hardware OrC centred around 0, ns | |
96 | Float_t fTVDC[5]; //hardware TVDC centred around 0, ns | |
b0e13b29 | 97 | Bool_t fPileup; // pile-up flag |
98 | Bool_t fSattelite; //sattelite flag | |
99 | Float_t fMultC; // multiplicity on the C side | |
100 | Float_t fMultA; // multiplicity on the A side | |
ea1a8005 | 101 | Bool_t fBackground; //sattelite flag |
102 | Float_t fPileupTime[6]; | |
ce50812a | 103 | Double32_t fT0TOFbest[3]; // interaction time in ps ( A&C, A, C) with best time |
ea1a8005 | 104 | |
ce50812a | 105 | ClassDef(AliESDTZERO,7) |
d5ebf00e | 106 | }; |
107 | ||
108 | ||
109 | #endif |