]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AOD/AliAODZDC.h
ATO-98 - default streamer TFile::Open , const char * option="update"
[u/mrichter/AliRoot.git] / STEER / AOD / AliAODZDC.h
1 #ifndef ALIAODZDC_H
2 #define ALIAODZDC_H
3
4 //-------------------------------------------------------------------------
5 //     Class for AOD ZDC data
6 //     Author: Chiara Oppedisano
7 //     Chiara.Oppedisano@cern.ch March 2011
8 //-------------------------------------------------------------------------
9
10 #include <AliVZDC.h>
11
12 class AliAODZDC : public AliVZDC {
13 public:
14
15   AliAODZDC();
16   AliAODZDC(const AliAODZDC& zdcAOD);
17   AliAODZDC &operator=(const AliAODZDC& zdcAOD);
18  
19   virtual ~AliAODZDC() {};
20  
21   // Getters  
22    
23   virtual Short_t  GetZDCParticipants() const {return fZDCParticipants;}
24   virtual Short_t  GetZDCPartSideA()    const {return fZDCPartSideA;}
25   virtual Short_t  GetZDCPartSideC()    const {return fZDCPartSideC;}
26   virtual Double_t GetImpactParameter()  const {return fImpactParameter;}
27   virtual Double_t GetImpactParamSideA() const {return fImpactParamSideA;}
28   virtual Double_t GetImpactParamSideC() const {return fImpactParamSideC;}
29
30   virtual Double_t GetZNCEnergy() const;
31   virtual Double_t GetZPCEnergy() const;
32   virtual Double_t GetZNAEnergy() const;
33   virtual Double_t GetZPAEnergy() const;
34   virtual Double_t GetZEM1Energy() const {return fZEM1Energy;}
35   virtual Double_t GetZEM2Energy() const {return fZEM2Energy;}
36   
37   virtual const Double_t *GetZNCTowerEnergy() const {return fZNCTowerEnergy;}
38   virtual const Double_t *GetZNATowerEnergy() const {return fZNATowerEnergy;}
39   virtual const Double_t *GetZPCTowerEnergy() const {return fZPCTowerEnergy;}
40   virtual const Double_t *GetZPATowerEnergy() const {return fZPATowerEnergy;}
41   virtual const Double_t *GetZNCTowerEnergyLR() const {return fZNCTowerEnergyLR;}
42   virtual const Double_t *GetZNATowerEnergyLR() const {return fZNATowerEnergyLR;}
43   
44   virtual Bool_t GetZNCentroidInPbPb(Float_t beamEne, Double_t centrZNC[2], Double_t centrZNA[2]);
45   virtual Bool_t GetZNCentroidInpp(Double_t centrZNC[2], Double_t centrZNA[2]);
46
47   virtual Float_t GetZNCTime() const {return fZNCTDC;}
48   virtual Float_t GetZNATime() const {return fZNATDC;}
49
50   virtual Float_t GetZDCTimeSum() const {return fZDCTDCSum;}
51   virtual Float_t GetZDCTimeDiff() const {return fZDCTDCDifference;}
52
53   // Setters  
54   
55   void  SetZEM1Energy(const Double_t zem1) {fZEM1Energy = zem1;}
56   void  SetZEM2Energy(const Double_t zem2) {fZEM2Energy = zem2;}
57   void  SetZNCTowers(const Double_t value[5], const Double_t valueLG[5]);
58   void  SetZNATowers(const Double_t value[5], const Double_t valueLG[5]);
59   void  SetZPCTowers(const Double_t value[5])
60         {for(Int_t i=0; i<5; i++) fZPCTowerEnergy[i] = value[i];}
61   void  SetZPATowers(const Double_t value[5])
62         {for(Int_t i=0; i<5; i++) fZPATowerEnergy[i] = value[i];}
63   
64   void  SetZDCParticipants(Int_t npart, Int_t npartA, Int_t npartC) 
65         {fZDCParticipants=npart; fZDCPartSideA=npartA; fZDCPartSideC=npartC;}
66   
67   void  SetZDCImpactParameter(Float_t b, Float_t bA, Float_t bC)
68         {fImpactParameter=b; fImpactParamSideA=bA; fImpactParamSideC=bC;}
69  
70   void  SetZDCTDCSum(Float_t tdc)  {fZDCTDCSum = tdc;}
71   void  SetZDCTDCDiff(Float_t tdc) {fZDCTDCDifference = tdc;}
72   
73   void  SetZNCTDC(Float_t tdc) {fZNCTDC = tdc;}
74   void  SetZNATDC(Float_t tdc) {fZNATDC = tdc;}
75  
76  
77 protected:
78   
79   mutable Double32_t   fZNCEnergy;            //!E in ZNC
80   mutable Double32_t   fZNAEnergy;            //!E in ZNA
81   mutable Double32_t   fZPCEnergy;            //!E in ZPC
82   mutable Double32_t   fZPAEnergy;            //!E in ZPA
83   Double32_t   fZEM1Energy;           // E in ZEM1
84   Double32_t   fZEM2Energy;           // E in ZEM2
85   Double32_t   fZNCTowerEnergy[5];    // E in 5 ZNC sectors - high gain chain
86   Double32_t   fZNATowerEnergy[5];    // E in 5 ZNA sectors - high gain chain
87   Double32_t   fZPCTowerEnergy[5];    // E in 5 ZPC sectors - high gain chain
88   Double32_t   fZPATowerEnergy[5];    // E in 5 ZPA sectors - high gain chain
89   Double32_t   fZNCTowerEnergyLR[5];  // E in 5 ZNC sectors - low gain chain
90   Double32_t   fZNATowerEnergyLR[5];  // E in 5 ZNA sectors - low gain chain
91   //
92   Int_t     fZDCParticipants;      // number of participants estimated by the ZDC (ONLY in A-A)
93   Int_t     fZDCPartSideA;         // number of participants estimated by the ZDC (ONLY in A-A)
94   Int_t     fZDCPartSideC;         // number of participants estimated by the ZDC (ONLY in A-A)
95   //
96   Double32_t   fImpactParameter;   // impact parameter estimated by the ZDC (ONLY in A-A)
97   Double32_t   fImpactParamSideA;  // impact parameter estimated by the ZDC (ONLY in A-A)
98   Double32_t   fImpactParamSideC;  // impact parameter estimated by the ZDC (ONLY in A-A)
99   //
100   Float_t   fZDCTDCSum;            // ZDC TDC sum in ns corrected 4 phase shift
101   Float_t   fZDCTDCDifference;     // ZDC TDC diff. in ns corrected 4 phase shift
102   Float_t   fZNCTDC;               // ZNCC TDC sum in ns corrected 4 phase shift        
103   Float_t   fZNATDC;               // ZNA TDC diff. in ns corrected 4 phase shift;     
104
105
106   ClassDef(AliAODZDC,2)
107 };
108
109 #endif