]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/ESD/AliESDTZERO.h
Compatibility with ROOT trunk
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDTZERO.h
1
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);
25   virtual void Copy(TObject &obj) const;
26
27   Double32_t GetT0zVertex() const {return fT0zVertex;}
28   void SetT0zVertex(Double32_t z) {fT0zVertex=z;}
29   Double32_t GetT0() const {return fT0timeStart;}
30   void SetT0(Double_t timeStart) {fT0timeStart = timeStart;}
31   Float_t GetT0clock() const {return fT0clock;}
32   void SetT0clock(Float_t timeStart) {fT0clock = timeStart;}
33   //1st
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;}
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
42   Int_t GetT0Trig() const {return fT0trig;}
43   void SetT0Trig(Int_t tvdc) {fT0trig = tvdc;}
44   Bool_t GetT0Trig(Int_t i) {return (fT0trig&(1<<i)) != 0;}
45   const Double32_t * GetT0time() const {return fT0time;}
46   void SetT0time(Double32_t time[24]) {
47     for (Int_t i=0; i<24; i++) fT0time[i] = time[i];
48   }
49   const Double32_t * GetT0amplitude() const {return fT0amplitude;}
50   void SetT0amplitude(Double32_t amp[24]) {
51     for (Int_t i=0; i<24; i++) fT0amplitude[i] = amp[i];
52   }
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];}
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;}
65    Float_t GetMultC()       const {return fMultC;}
66    Float_t GetMultA()       const {return fMultA;}
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  
72   Bool_t GetBackgroundFlag()  const {return fBackground;}
73    Bool_t GetPileupFlag() const {return fPileup;}
74   Bool_t GetSatellite() const {return fSattelite;}
75
76   void SetPileupTime (Int_t hit, Float_t time) { fPileupTime[hit] = time;}
77   Float_t GetPileupTime(Int_t hit) const  {return fPileupTime[hit];}
78
79
80   void    Reset();
81   void    Print(const Option_t *opt=0) const;
82
83
84 private:
85
86   Float_t      fT0clock;     // backward compatibility
87   Double32_t   fT0TOF[3];     // interaction time in ps with 1st time( A&C, A, C)
88   Double32_t   fT0zVertex;       // vertex z position estimated by the T0, cm
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
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
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
101   Bool_t fBackground; //sattelite flag
102   Float_t fPileupTime[6];
103   Double32_t   fT0TOFbest[3]; // interaction time in ps ( A&C, A, C) with best time
104
105   ClassDef(AliESDTZERO,7)
106 };
107
108
109 #endif