]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ZDC/AliZDCReco.h
Update to simulate pA interactions with slow nucleon tracking
[u/mrichter/AliRoot.git] / ZDC / AliZDCReco.h
CommitLineData
1450a7cd 1#ifndef ALIZDCRECO_H
2#define ALIZDCRECO_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6////////////////////////////////////////////////
7// Classe for ZDC RecPoints //
8////////////////////////////////////////////////
9
10#include "TObject.h"
11
12class AliZDCReco : public TObject {
13
14public:
cc2abffd 15 AliZDCReco();
c35ed519 16 AliZDCReco(Float_t* ezn1, Float_t* ezp1, Float_t* ezn2, Float_t* ezp2,
17 Float_t* ezn1tow, Float_t* ezp1tow, Float_t* ezn2tow, Float_t* ezp2tow,
18 Float_t* ezem1, Float_t* ezem2, Float_t* ref1, Float_t* ref2,
646f1679 19 //
73bc3a3f 20 Int_t detspnSideA, Int_t detsppSideA,
21 Int_t detspnSideC, Int_t detsppSideC,
22 Int_t trsp, Int_t trspSideA, Int_t trspSideC,
23 Int_t npart, Int_t npartSideA, Int_t npartSideC,
1e319f71 24 Float_t b, Float_t bSideA, Float_t bSideC,
077d2505 25 UInt_t recoFlag, Bool_t energyFlag, Bool_t scalerOn,
26 UInt_t* scaler, Int_t tdcData[32][4]);
646f1679 27
cc2abffd 28 AliZDCReco(const AliZDCReco &oldreco);
1450a7cd 29 virtual ~AliZDCReco() {}
30
31 // Getters
c35ed519 32 virtual Float_t GetZN1HREnergy() const {return fZN1Energy[0];}
33 virtual Float_t GetZP1HREnergy() const {return fZP1Energy[0];}
34 virtual Float_t GetZN2HREnergy() const {return fZN2Energy[0];}
35 virtual Float_t GetZP2HREnergy() const {return fZP2Energy[0];}
646f1679 36 //
c35ed519 37 virtual Float_t GetZN1LREnergy() const {return fZN1Energy[1];}
38 virtual Float_t GetZP1LREnergy() const {return fZP1Energy[1];}
39 virtual Float_t GetZN2LREnergy() const {return fZN2Energy[1];}
40 virtual Float_t GetZP2LREnergy() const {return fZP2Energy[1];}
646f1679 41 //
c35ed519 42 virtual Float_t GetZN1HREnTow(Int_t tow) const {return fZN1EnTow[tow];}
43 virtual Float_t GetZP1HREnTow(Int_t tow) const {return fZP1EnTow[tow];}
44 virtual Float_t GetZN2HREnTow(Int_t tow) const {return fZN2EnTow[tow];}
45 virtual Float_t GetZP2HREnTow(Int_t tow) const {return fZP2EnTow[tow];}
84d6255e 46 //
c35ed519 47 virtual Float_t GetZN1LREnTow(Int_t tow) const {return fZN1EnTow[tow+5];}
48 virtual Float_t GetZP1LREnTow(Int_t tow) const {return fZP1EnTow[tow+5];}
49 virtual Float_t GetZN2LREnTow(Int_t tow) const {return fZN2EnTow[tow+5];}
50 virtual Float_t GetZP2LREnTow(Int_t tow) const {return fZP2EnTow[tow+5];}
51 //
52 virtual Float_t GetZEM1HRsignal() const {return fZEM1signal[0];}
53 virtual Float_t GetZEM1LRsignal() const {return fZEM1signal[1];}
54 virtual Float_t GetZEM2HRsignal() const {return fZEM2signal[0];}
55 virtual Float_t GetZEM2LRsignal() const {return fZEM2signal[1];}
56 //
57 virtual Float_t GetPMRef1HRsignal() const {return fZEM1signal[0];}
58 virtual Float_t GetPMRef1LRsignal() const {return fZEM1signal[1];}
59 virtual Float_t GetPMRef2HRsignal() const {return fZEM2signal[0];}
60 virtual Float_t GetPMRef2LRsignal() const {return fZEM2signal[1];}
646f1679 61 //
73bc3a3f 62 virtual Int_t GetNDetSpecNSideA() const {return fNDetSpecNSideA;}
63 virtual Int_t GetNDetSpecPSideA() const {return fNDetSpecPSideA;}
64 virtual Int_t GetNDetSpecNSideC() const {return fNDetSpecNSideC;}
65 virtual Int_t GetNDetSpecPSideC() const {return fNDetSpecPSideC;}
66 virtual Int_t GetNTrueSpectators() const {return fNTrueSpectators;}
67 virtual Int_t GetNTrueSpecSideA() const {return fNTrueSpecSideA;}
68 virtual Int_t GetNTrueSpecSideC() const {return fNTrueSpecSideC;}
69 virtual Int_t GetNParticipants() const {return fNParticipants;}
70 virtual Int_t GetNPartSideA() const {return fNPartSideA;}
71 virtual Int_t GetNPartSideC() const {return fNPartSideC;}
72 virtual Float_t GetImpParameter() const {return fImpParameter;}
73 virtual Float_t GetImpParSideA() const {return fImpParSideA;}
74 virtual Float_t GetImpParSideC() const {return fImpParSideC;}
1e319f71 75 //
76 virtual UInt_t GetRecoFlag() const {return fRecoFlag;}
77 virtual UInt_t GetZDCPattern() const {return (fRecoFlag & 0x0000003f);}
78 virtual UInt_t GetChOnFlag() const {return (fRecoFlag & 0x00000100);}
79 virtual UInt_t GetChOvflwFlag() const {return (fRecoFlag & 0x00000200);}
80 virtual UInt_t GetChUndflwFlag() const {return (fRecoFlag & 0x00000400);}
81f09162 81 //
077d2505 82 virtual Bool_t GetEnergyFlag() const {return fEnergyFlag;}
81f09162 83 virtual Bool_t IsScalerOn() const {return fIsScalerOn;}
84 virtual UInt_t GetZDCScaler(Int_t k) const {return fZDCScaler[k];}
82dffa48 85 //
f53e5ecb 86 virtual Int_t GetZDCTDCData(Int_t j, Int_t k) const {return fZDCTDCData[j][k];}
1450a7cd 87
93f80a6f 88 // Print method
89 virtual void Print(Option_t *) const;
90
91private:
1450a7cd 92 // Data members
4e1fc320 93 Float_t fZN1Energy[2]; // Energy detected in ZN1 (sum of 5 tower signals)
94 Float_t fZP1Energy[2]; // Energy detected in ZP1 (sum of 5 tower signals)
95 Float_t fZN2Energy[2]; // Energy detected in ZN2 (sum of 5 tower signals)
96 Float_t fZP2Energy[2]; // Energy detected in ZP2 (sum of 5 tower signals)
646f1679 97 //
c35ed519 98 Float_t fZN1EnTow[10]; // Energy in ZN1 towers
99 Float_t fZP1EnTow[10]; // Energy in ZP1 towers
100 Float_t fZN2EnTow[10]; // Energy in ZN2 towers
101 Float_t fZP2EnTow[10]; // Energy in ZP2 towers
646f1679 102 //
c35ed519 103 Float_t fZEM1signal[2];// Signal in EM1 ZDC
104 Float_t fZEM2signal[2];// Signal in EM2 ZDC
84d6255e 105 //
c35ed519 106 Float_t fPMRef1[2]; // Reference PM side C
107 Float_t fPMRef2[2]; // Reference PM side A
646f1679 108 //
73bc3a3f 109 Int_t fNDetSpecNSideA; // Number of spectator neutrons detected
110 Int_t fNDetSpecPSideA; // Number of spectator protons detected
111 Int_t fNDetSpecNSideC; // Number of spectator neutrons detected
112 Int_t fNDetSpecPSideC; // Number of spectator protons detected
113 Int_t fNTrueSpectators;// Estimate of the total number of spectators
114 Int_t fNTrueSpecSideA; // Estimate of the number of spectators side A
115 Int_t fNTrueSpecSideC; // Estimate of the number of spectators side C
116 Int_t fNParticipants; // Estimate of the total number of participants
117 Int_t fNPartSideA; // Estimate of the number of participants side A
118 Int_t fNPartSideC; // Estimate of the number of participants side C
119 Float_t fImpParameter; // Estimate of the impact parameter
120 Float_t fImpParSideA; // Estimate of the impact parameter side A
121 Float_t fImpParSideC; // Estimate of the impact parameter side B
1e319f71 122 //
123 UInt_t fRecoFlag; // Reconstruction flag
077d2505 124 Bool_t fEnergyFlag; // Is the reco value in energy?
81f09162 125 Bool_t fIsScalerOn; // True if scaler has been read in the event
126 UInt_t fZDCScaler[32]; // Counts from ZDC VME scaler
82dffa48 127 //
f53e5ecb 128 Int_t fZDCTDCData[32][4]; // TDC data raw
1450a7cd 129
077d2505 130 ClassDef(AliZDCReco,14) // RecPoints for the Zero Degree Calorimeters
1450a7cd 131};
132
133#endif