]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliESDVZERO.h
From Cesar: make selection and two-selection working with the new
[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               Short_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(Short_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   Int_t   GetMTotV0A();
40   Int_t   GetMTotV0C(); 
41   Int_t*  GetMRingV0A();
42   Int_t*  GetMRingV0C();
43   Int_t   GetMRingV0A(Int_t ring);
44   Int_t   GetMRingV0C(Int_t ring);
45
46   Int_t   GetMultiplicity(Int_t i);
47   Int_t   GetMultiplicityV0A(Int_t i);
48   Int_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   Short_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,5)
83 };
84
85 #endif