]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliESDAD.h
Geometry for run3 implemented with updated TDI
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDAD.h
CommitLineData
11c03f22 1#ifndef ALIESDAD_H
2#define ALIESDAD_H
5e319bd5 3
11c03f22 4//-------------------------------------------------------------------------
5// Container class for ESD AD data
6// Author: Brigitte Cheynis & Cvetan Cheshkov
7//-------------------------------------------------------------------------
5e319bd5 8
11c03f22 9#include <AliVAD.h>
5e319bd5 10
11c03f22 11class AliESDAD : public AliVAD
12{
13public:
5e319bd5 14 AliESDAD();
11c03f22 15 AliESDAD(const AliESDAD&o);
16 AliESDAD(UInt_t BBtriggerADA, UInt_t BGtriggerADA,
17 UInt_t BBtriggerADC, UInt_t BGtriggerADC,
18 Float_t *Multiplicity, Float_t *Adc,
19 Float_t *Time, Float_t *Width, Bool_t *BBFlag, Bool_t *BGFlag);
20 void Copy(TObject &obj) const;
21
5e319bd5 22 virtual ~AliESDAD() {};
5e319bd5 23
11c03f22 24 // Setters
25 void SetBBtriggerADA(UInt_t BBtrigger) {fBBtriggerADA=BBtrigger;}
26 void SetBGtriggerADA(UInt_t BGtrigger) {fBGtriggerADA=BGtrigger;}
27 void SetBBtriggerADC(UInt_t BBtrigger) {fBBtriggerADC=BBtrigger;}
28 void SetBGtriggerADC(UInt_t BGtrigger) {fBGtriggerADC=BGtrigger;}
29 void SetMultiplicity(Float_t Multiplicity[16])
30 {for(Int_t i=0;i<16;i++) fMultiplicity[i]=Multiplicity[i];}
31 void SetADC(Float_t adc[16])
32 {for(Int_t i=0;i<16;i++) fAdc[i]=adc[i];}
33 void SetTime(Float_t time[16])
34 {for(Int_t i=0;i<16;i++) fTime[i]=time[i];}
35 void SetWidth(Float_t width[16])
36 {for(Int_t i=0;i<16;i++) fWidth[i]=width[i];}
37 void SetBBFlag(Bool_t BBFlag[16])
38 {for(Int_t i=0;i<16;i++) fBBFlag[i]=BBFlag[i];}
39 void SetBGFlag(Bool_t BGFlag[16])
40 {for(Int_t i=0;i<16;i++) fBGFlag[i]=BGFlag[i];}
5e319bd5 41
11c03f22 42 void SetADATime(Float_t time) {fADATime = time;}
43 void SetADCTime(Float_t time) {fADCTime = time;}
44 void SetADATimeError(Float_t err) {fADATimeError = err;}
45 void SetADCTimeError(Float_t err) {fADCTimeError = err;}
46
47 void SetADADecision(Decision des) {fADADecision = des;}
48 void SetADCDecision(Decision des) {fADCDecision = des;}
49
50 void SetTriggerChargeA(UShort_t chargeA) {fTriggerChargeA = chargeA;}
51 void SetTriggerChargeC(UShort_t chargeC) {fTriggerChargeC = chargeC;}
52 void SetTriggerBits(UShort_t triggerBits) {fTriggerBits = triggerBits;}
53
54 // Getters
55 virtual Short_t GetNbPMADA() const;
56 virtual Short_t GetNbPMADC() const;
57 virtual Float_t GetMTotADA() const;
58 virtual Float_t GetMTotADC() const;
59
60 virtual Float_t GetMultiplicity(Int_t i) const;
61 virtual Float_t GetMultiplicityADA(Int_t i) const;
62 virtual Float_t GetMultiplicityADC(Int_t i) const;
63 virtual Float_t GetAdc(Int_t i) const;
64 virtual Float_t GetAdcADA(Int_t i) const;
65 virtual Float_t GetAdcADC(Int_t i) const;
66 virtual Float_t GetTime(Int_t i) const;
67 virtual Float_t GetTimeADA(Int_t i) const;
68 virtual Float_t GetTimeADC(Int_t i) const;
69 virtual Float_t GetWidth(Int_t i) const;
70 virtual Float_t GetWidthADA(Int_t i) const;
71 virtual Float_t GetWidthADC(Int_t i) const;
72 virtual Bool_t BBTriggerADA(Int_t i) const;
73 virtual Bool_t BGTriggerADA(Int_t i) const;
74 virtual Bool_t BBTriggerADC(Int_t i) const;
75 virtual Bool_t BGTriggerADC(Int_t i) const;
76 virtual Bool_t GetBBFlag(Int_t i) const;
77 virtual Bool_t GetBGFlag(Int_t i) const;
78
79 virtual Float_t GetADATime() const { return fADATime; }
80 virtual Float_t GetADCTime() const { return fADCTime; }
81 virtual Float_t GetADATimeError() const { return fADATimeError; }
82 virtual Float_t GetADCTimeError() const { return fADCTimeError; }
83
84 virtual Decision GetADADecision() const { return fADADecision; }
85 virtual Decision GetADCDecision() const { return fADCDecision; }
86
87 virtual UShort_t GetTriggerChargeA() const { return fTriggerChargeA; }
88 virtual UShort_t GetTriggerChargeC() const { return fTriggerChargeC; }
89 virtual UShort_t GetTriggerBits() const { return fTriggerBits; }
5e319bd5 90
11c03f22 91 AliESDAD &operator=(const AliESDAD& source);
92
93protected:
94
95 UInt_t fBBtriggerADA; // bit mask for Beam-Beam trigger in ADA
96 UInt_t fBGtriggerADA; // bit mask for Beam-Gas trigger in ADA
97 UInt_t fBBtriggerADC; // bit mask for Beam-Beam trigger in ADC
98 UInt_t fBGtriggerADC; // bit mask for Beam-Gas trigger in ADC
99
100 Float_t fMultiplicity[16]; // multiplicity for each channel
101 Float_t fAdc[16]; // adc for each channel
102 Float_t fTime[16]; // time for each channel
103 Float_t fWidth[16]; // time width for each channel
104 Bool_t fBBFlag[16]; // BB Flags from Online AD Electronics
105 Bool_t fBGFlag[16]; // BG Flags from Online AD Electronics
106
107 Float_t fADATime; // Average time in ADA
108 Float_t fADCTime; // Average time in ADC
109 Float_t fADATimeError; // Error in the average time in ADA
110 Float_t fADCTimeError; // Error in the average time in ADC
5e319bd5 111
11c03f22 112 Decision fADADecision; // ADA final decision based on average time of channels
113 Decision fADCDecision; // ADC final decision based on average time of channels
5e319bd5 114
11c03f22 115 UShort_t fTriggerChargeA; // Sum of the trigger (clock=10) charge on A side
116 UShort_t fTriggerChargeC; // Sum of the trigger (clock=10) charge on C side
117 UShort_t fTriggerBits; // AD trigger bits as defined in the firmware
5e319bd5 118
11c03f22 119 ClassDef(AliESDAD,10)
5e319bd5 120};
121
122#endif