Changes for report #76063 Commit to trunk + v4-20-Release
[u/mrichter/AliRoot.git] / STEER / AliESDCaloTrigger.h
1 #ifndef ALIESDCALOTRIGGER_H
2 #define ALIESDCALOTRIGGER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /*
8  
9
10
11 Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
12 */
13
14 #include <TNamed.h>
15
16 class TArrayI;
17
18 class AliESDCaloTrigger : public TNamed 
19 {
20 public:
21                  AliESDCaloTrigger();
22                  AliESDCaloTrigger(const AliESDCaloTrigger& ctrig);
23         virtual ~AliESDCaloTrigger();
24         
25         AliESDCaloTrigger& operator=(const AliESDCaloTrigger& ctrig);
26         
27         Bool_t  IsEmpty() {return (fNEntries == 0);}
28
29         virtual void Reset() {fCurrent = -1;}
30
31         void    Allocate(Int_t size);
32         void    DeAllocate(        ); 
33         
34         Bool_t  Add(Int_t col, Int_t row, Float_t amp, Float_t time, Int_t trgtimes[], Int_t ntrgtimes, Int_t trgts, Int_t trgbits);
35         
36         void    SetL1Threshold(Int_t i, Int_t thr) {fL1Threshold[i] = thr;}
37 //      void    SetTriggerBits(Int_t col, Int_t row, Int_t i, Int_t j);
38
39         void    GetPosition(     Int_t& col, Int_t& row           ) const;
40         
41         void    GetAmplitude(  Float_t& amp                       ) const;
42         void    GetTime(       Float_t& time                      ) const;
43         
44         void    GetTriggerBits(  Int_t& bits                      ) const;
45         void    GetNL0Times(     Int_t& ntimes                    ) const;
46         void    GetL0Times(      Int_t  times[]                   ) const;
47         Int_t   GetEntries(                                       ) const {return fNEntries;}
48
49         void    GetL1TimeSum(    Int_t& timesum                   ) const;
50
51         Int_t   GetL1Threshold(  Int_t  i                         ) const {return fL1Threshold[i];}
52
53         virtual Bool_t Next();
54
55         virtual void Copy(TObject& obj) const;
56         
57         virtual void Print(const Option_t* opt) const;
58         
59 private:
60
61         Int_t    fNEntries;
62     Int_t    fCurrent;
63
64         Int_t*   fColumn;         // [fNEntries]
65         Int_t*   fRow;            // [fNEntries]
66         Float_t* fAmplitude;      // [fNEntries]
67         Float_t* fTime;           // [fNEntries]
68         Int_t*   fNL0Times;       // [fNEntries]
69         TArrayI* fL0Times;        //
70         Int_t*   fL1TimeSum;      // [fNEntries]
71         Int_t*   fTriggerBits;    // [fNEntries]
72         
73         Int_t    fL1Threshold[2]; // L1 thresholds from raw data
74         
75         ClassDef(AliESDCaloTrigger, 2)
76 };
77 #endif
78