]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliESDCaloTrigger.h
add protection against truncated events + coverity - Rachid
[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    SetL1V0(const Int_t* v) {for (int i = 0; i < 2; i++) fL1V0[i] = v[i];}
38         void    SetL1FrameMask(Int_t m) {fL1FrameMask = m;}
39         
40         void    GetPosition(     Int_t& col, Int_t& row           ) const;
41         
42         void    GetAmplitude(  Float_t& amp                       ) const;
43         void    GetTime(       Float_t& time                      ) const;
44         
45         void    GetTriggerBits(  Int_t& bits                      ) const;
46         void    GetNL0Times(     Int_t& ntimes                    ) const;
47         void    GetL0Times(      Int_t  times[]                   ) const;
48         Int_t   GetEntries(                                       ) const {return fNEntries;}
49
50         void    GetL1TimeSum(    Int_t& timesum                   ) const;
51         Int_t   GetL1Threshold(  Int_t  i                         ) const {return fL1Threshold[i];}
52         Int_t   GetL1V0(         Int_t  i                         ) const {return fL1V0[i];}
53         Int_t   GetL1FrameMask(                                   ) const {return fL1FrameMask;}
54         
55         virtual Bool_t Next();
56
57         virtual void Copy(TObject& obj) const;
58         
59         virtual void Print(const Option_t* opt) const;
60         
61 private:
62
63         Int_t    fNEntries;
64     Int_t    fCurrent;
65
66         Int_t*   fColumn;         // [fNEntries]
67         Int_t*   fRow;            // [fNEntries]
68         Float_t* fAmplitude;      // [fNEntries]
69         Float_t* fTime;           // [fNEntries]
70         Int_t*   fNL0Times;       // [fNEntries]
71         TArrayI* fL0Times;        //
72         Int_t*   fL1TimeSum;      // [fNEntries]
73         Int_t*   fTriggerBits;    // [fNEntries]
74         
75         Int_t    fL1Threshold[2]; // L1 thresholds from raw data
76         Int_t    fL1V0[2];        // L1 threshold components
77         Int_t    fL1FrameMask;    // Validation flag for L1 data
78         
79         
80         ClassDef(AliESDCaloTrigger, 4)
81 };
82 #endif
83