Fixes for bug #52499: Field polarities inconsistiency
[u/mrichter/AliRoot.git] / STEER / AliESDVZERO.h
1 #ifndef AliESDVZERO_H
2 #define AliESDVZERO_H
3
4 #include <TObject.h>
5
6 class AliESDVZERO : public TObject 
7 {
8 public:
9   AliESDVZERO();
10   AliESDVZERO(const AliESDVZERO&);
11   AliESDVZERO(UInt_t BBtriggerV0A,   UInt_t BGtriggerV0A,
12               UInt_t BBtriggerV0C,   UInt_t BGtriggerV0C,
13               Float_t *Multiplicity, Short_t *Adc, 
14               Short_t *Time, Short_t *Width, Bool_t *BBFlag, Bool_t *BGFlag);
15
16   virtual ~AliESDVZERO() {};
17   
18   // Setters
19   virtual void SetBBtriggerV0A(UInt_t BBtrigger) {fBBtriggerV0A=BBtrigger;}
20   virtual void SetBGtriggerV0A(UInt_t BGtrigger) {fBGtriggerV0A=BGtrigger;}
21   virtual void SetBBtriggerV0C(UInt_t BBtrigger) {fBBtriggerV0C=BBtrigger;}
22   virtual void SetBGtriggerV0C(UInt_t BGtrigger) {fBGtriggerV0C=BGtrigger;}
23   virtual void SetMultiplicity(Float_t Multiplicity[64])
24     {for(Int_t i=0;i<64;i++) fMultiplicity[i]=Multiplicity[i];}
25   virtual void SetADC(Short_t adc[64])
26     {for(Int_t i=0;i<64;i++) fAdc[i]=adc[i];}
27   virtual void SetTime(Short_t time[64])
28     {for(Int_t i=0;i<64;i++) fTime[i]=time[i];}
29   virtual void SetWidth(Short_t width[64])
30     {for(Int_t i=0;i<64;i++) fWidth[i]=width[i];}    
31   virtual void SetBBFlag(Bool_t BBFlag[64])
32     {for(Int_t i=0;i<64;i++) fBBFlag[i]=BBFlag[i];} 
33   virtual void SetBGFlag(Bool_t BGFlag[64])
34     {for(Int_t i=0;i<64;i++) fBGFlag[i]=BGFlag[i];}   
35          
36   // Getters  
37   Short_t  GetNbPMV0A();
38   Short_t  GetNbPMV0C();
39   Float_t  GetMTotV0A();
40   Float_t  GetMTotV0C(); 
41   Float_t* GetMRingV0A();
42   Float_t* GetMRingV0C();
43   Float_t  GetMRingV0A(Int_t ring);
44   Float_t  GetMRingV0C(Int_t ring);
45
46   Float_t  GetMultiplicity(Int_t i);
47   Float_t  GetMultiplicityV0A(Int_t i);
48   Float_t  GetMultiplicityV0C(Int_t i);    
49   Int_t    GetAdc(Int_t i);
50   Int_t    GetAdcV0A(Int_t i); 
51   Int_t    GetAdcV0C(Int_t i);   
52   Int_t    GetTime(Int_t i);
53   Int_t    GetTimeV0A(Int_t i);   
54   Int_t    GetTimeV0C(Int_t i);    
55   Int_t    GetWidth(Int_t i);
56   Int_t    GetWidthV0A(Int_t i);
57   Int_t    GetWidthV0C(Int_t i);
58   Bool_t   BBTriggerV0A(Int_t i);
59   Bool_t   BGTriggerV0A(Int_t i);
60   Bool_t   BBTriggerV0C(Int_t i);
61   Bool_t   BGTriggerV0C(Int_t i);  
62   Bool_t   GetBBFlag(Int_t i);
63   Bool_t   GetBGFlag(Int_t i);
64   
65   Bool_t OutOfRange(Int_t i, const char *s, Int_t upper) const;
66   AliESDVZERO &operator=(const AliESDVZERO& source);
67     
68 protected:
69
70   UInt_t  fBBtriggerV0A;     // bit mask for Beam-Beam trigger in V0A
71   UInt_t  fBGtriggerV0A;     // bit mask for Beam-Gas trigger in V0A
72   UInt_t  fBBtriggerV0C;     // bit mask for Beam-Beam trigger in V0C
73   UInt_t  fBGtriggerV0C;     // bit mask for Beam-Gas trigger in V0C
74
75   Float_t fMultiplicity[64]; //  multiplicity for each channel
76   Short_t fAdc[64];          //  adc for each channel
77   Short_t fTime[64];         //  time for each channel
78   Short_t fWidth[64];        //  time width for each channel
79   Bool_t  fBBFlag[64];       //  BB Flags from Online V0 Electronics
80   Bool_t  fBGFlag[64];       //  BG Flags from Online V0 Electronics
81   
82   ClassDef(AliESDVZERO,6)
83 };
84
85 #endif