d5ebf00e |
1 | // -*- mode: C++ -*- |
2 | #ifndef ALIESDZDC_H |
3 | #define ALIESDZDC_H |
4 | |
5 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
6 | * See cxx source for full Copyright notice */ |
7 | |
8 | //------------------------------------------------------------------------- |
9 | // Implementation of Class AliESDZDC |
d1d3e36b |
10 | // This is a class that summarizes the ZDC data for the ESD |
d5ebf00e |
11 | // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch |
12 | //------------------------------------------------------------------------- |
13 | |
14 | #include <TObject.h> |
d1d3e36b |
15 | #include <TMath.h> |
d5ebf00e |
16 | |
17 | |
18 | class AliESDZDC: public TObject { |
19 | public: |
20 | AliESDZDC(); |
21 | AliESDZDC(const AliESDZDC& zdc); |
22 | AliESDZDC& operator=(const AliESDZDC& zdc); |
732a24fe |
23 | virtual void Copy(TObject &obj) const; |
d5ebf00e |
24 | |
a7b0ef8a |
25 | Double_t GetZDCN1Energy() const {return fZDCN1Energy;} |
26 | Double_t GetZDCP1Energy() const {return fZDCP1Energy;} |
27 | Double_t GetZDCN2Energy() const {return fZDCN2Energy;} |
28 | Double_t GetZDCP2Energy() const {return fZDCP2Energy;} |
d1d3e36b |
29 | Double_t GetZDCEMEnergy(Int_t i) const |
89291556 |
30 | {if(i==0){return fZDCEMEnergy;} else if(i==1){return fZDCEMEnergy1;} |
31 | return 0;} |
a85132e7 |
32 | Short_t GetZDCParticipants() const {return fZDCParticipants;} |
2b6cdc43 |
33 | Short_t GetZDCParticipants2() const {return fZDCParticipants2;} |
7b4458a2 |
34 | const Double_t * GetZN1TowerEnergy() const {return fZN1TowerEnergy;} |
35 | const Double_t * GetZN2TowerEnergy() const {return fZN2TowerEnergy;} |
a85132e7 |
36 | const Double_t * GetZP1TowerEnergy() const {return fZP1TowerEnergy;} |
37 | const Double_t * GetZP2TowerEnergy() const {return fZP2TowerEnergy;} |
38 | const Double_t * GetZN1TowerEnergyLR() const {return fZN1TowerEnergyLR;} |
39 | const Double_t * GetZN2TowerEnergyLR() const {return fZN2TowerEnergyLR;} |
40 | const Double_t * GetZP1TowerEnergyLR() const {return fZP1TowerEnergyLR;} |
41 | const Double_t * GetZP2TowerEnergyLR() const {return fZP2TowerEnergyLR;} |
d1d3e36b |
42 | // |
2b6cdc43 |
43 | Double32_t * GetZNCCentroid(); |
44 | Double32_t * GetZNACentroid(); |
89291556 |
45 | // |
46 | void SetZDC(Double_t n1Energy, Double_t p1Energy, |
47 | Double_t emEnergy0, Double_t emEnergy1, |
2b6cdc43 |
48 | Double_t n2Energy, Double_t p2Energy, |
49 | Short_t participants, Short_t participants2) |
89291556 |
50 | {fZDCN1Energy=n1Energy; fZDCP1Energy=p1Energy; |
51 | fZDCEMEnergy=emEnergy0; fZDCEMEnergy1=emEnergy1; |
2b6cdc43 |
52 | fZDCN2Energy=n2Energy; fZDCP2Energy=p2Energy; |
53 | fZDCParticipants=participants; fZDCParticipants2=participants2;} |
d1d3e36b |
54 | // |
d1d3e36b |
55 | void SetZN1TowerEnergy(Float_t tow1[5]) |
56 | {for(Int_t i=0; i<5; i++) fZN1TowerEnergy[i] = tow1[i];} |
57 | void SetZN2TowerEnergy(Float_t tow2[5]) |
58 | {for(Int_t i=0; i<5; i++) fZN2TowerEnergy[i] = tow2[i];} |
59 | void SetZP1TowerEnergy(Float_t tow1[5]) |
60 | {for(Int_t i=0; i<5; i++) fZP1TowerEnergy[i] = tow1[i];} |
61 | void SetZP2TowerEnergy(Float_t tow2[5]) |
62 | {for(Int_t i=0; i<5; i++) fZP2TowerEnergy[i] = tow2[i];} |
63 | void SetZN1TowerEnergyLR(Float_t tow1[5]) |
64 | {for(Int_t i=0; i<5; i++) fZN1TowerEnergyLR[i] = tow1[i];} |
65 | void SetZN2TowerEnergyLR(Float_t tow2[5]) |
66 | {for(Int_t i=0; i<5; i++) fZN2TowerEnergyLR[i] = tow2[i];} |
67 | void SetZP1TowerEnergyLR(Float_t tow1[5]) |
68 | {for(Int_t i=0; i<5; i++) fZP1TowerEnergyLR[i] = tow1[i];} |
69 | void SetZP2TowerEnergyLR(Float_t tow2[5]) |
70 | {for(Int_t i=0; i<5; i++) fZP2TowerEnergyLR[i] = tow2[i];} |
89291556 |
71 | void SetZNACentroid(Float_t centrCoord[2]) |
72 | {for(Int_t i=0; i<2; i++) fZNACentrCoord[i] = centrCoord[i];} |
73 | void SetZNCCentroid(Float_t centrCoord[2]) |
74 | {for(Int_t i=0; i<2; i++) fZNCCentrCoord[i] = centrCoord[i];} |
d5ebf00e |
75 | |
76 | void Reset(); |
77 | void Print(const Option_t *opt=0) const; |
78 | |
79 | private: |
80 | |
d1d3e36b |
81 | Double32_t fZDCN1Energy; // reconstructed energy in the neutron ZDC |
82 | Double32_t fZDCP1Energy; // reconstructed energy in the proton ZDC |
83 | Double32_t fZDCN2Energy; // reconstructed energy in the neutron ZDC |
84 | Double32_t fZDCP2Energy; // reconstructed energy in the proton ZDC |
85 | Double32_t fZDCEMEnergy; // signal in the electromagnetic ZDCs |
86 | Double32_t fZDCEMEnergy1; // second EM signal,cannot change fZDCEMEnergy to array (not backward compatible) |
a85132e7 |
87 | Double32_t fZN1TowerEnergy[5];// reco E in 5 ZN1 sectors - high gain chain |
88 | Double32_t fZN2TowerEnergy[5];// reco E in 5 ZN2 sectors - high gain chain |
89 | Double32_t fZP1TowerEnergy[5];// reco E in 5 ZP1 sectors - high gain chain |
90 | Double32_t fZP2TowerEnergy[5];// reco E in 5 ZP2 sectors - high gain chain |
91 | Double32_t fZN1TowerEnergyLR[5];// reco E in 5 ZN1 sectors - low gain chain |
92 | Double32_t fZN2TowerEnergyLR[5];// reco E in 5 ZN2 sectors - low gain chain |
93 | Double32_t fZP1TowerEnergyLR[5];// reco E in 5 ZP1 sectors - low gain chain |
94 | Double32_t fZP2TowerEnergyLR[5];// reco E in 5 ZP2 sectors - low gain chain |
2b6cdc43 |
95 | Short_t fZDCParticipants;// number of participants estimated by the ZDC - side C |
96 | Short_t fZDCParticipants2;// number of participants estimated by the ZDC - side A |
89291556 |
97 | Double32_t fZNACentrCoord[2];// Coordinates of the centroid over ZNC |
98 | Double32_t fZNCCentrCoord[2];// Coordinates of the centroid over ZNA |
99 | // |
2b6cdc43 |
100 | ClassDef(AliESDZDC,9) |
d5ebf00e |
101 | }; |
102 | |
103 | #endif |
7b4458a2 |
104 | |