Changes for #80800 following bugs #80687: commit to trunk + port to the release ...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALTriggerData.h
1 #ifndef ALIEMCALTRIGGERDATA_H
2 #define ALIEMCALTRIGGERDATA_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*
7 EMCal trigger data container: can be used independently of the data stream (simulation or raw data)
8 for transient storage of trigger data
9 Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
10 */
11
12 #include "AliEMCALTriggerTypes.h"
13
14 #include <TObject.h>
15 #include <TVector2.h>
16 #include <TClonesArray.h>
17
18 class AliEMCALTriggerData : public TObject 
19 {
20
21 public:
22                      AliEMCALTriggerData();
23         virtual     ~AliEMCALTriggerData();
24
25         virtual void SetMode(Int_t i) {fMode = i;}
26         
27         virtual void SetL0Trigger(      Int_t i, Int_t j, Int_t k) { fL0Trigger[i][j] = k; }
28         virtual void SetL0Region(       Int_t i, const Int_t**& region);
29         virtual void SetL1Region(       Int_t i,       Int_t**& region);
30         
31         virtual void SetPatches(TriggerType_t type, Int_t i, const TClonesArray& patches);
32         
33         virtual void SetL1GammaThreshold(Int_t  v) {fL1GammaThreshold = v;}
34         virtual void SetL1JetThreshold(  Int_t  v) {  fL1JetThreshold = v;}
35         virtual void SetL1V0(            Int_t* v) {for (int i = 0; i < 2; i++) fL1V0[i] = v[i];}
36         virtual void SetL1FrameMask(     Int_t  v) {     fL1FrameMask = v;}            
37         virtual void SetL1TriggerType(   Int_t* v) {for (int i = 0; i < 8; i++) fL1TriggerType[i] = v[i];}
38
39         
40         virtual void          GetL0Trigger(  Int_t i, Int_t j, Int_t& k  ) const {   k = fL0Trigger[i][j];}
41         virtual Int_t         GetL0Trigger(  Int_t i, Int_t j            ) const {return fL0Trigger[i][j];}
42         
43         virtual void          GetPatches(TriggerType_t type, Int_t i, TClonesArray& patches) const;
44         virtual TClonesArray* GetPatches(TriggerType_t type, Int_t i                       ) const;
45
46         virtual void          GetL1Region( Int_t i, Int_t arr[][64]             ) const;
47         
48         virtual Int_t         GetL1GammaThreshold()           const {return fL1GammaThreshold;}
49         virtual Int_t         GetL1JetThreshold()             const {return   fL1JetThreshold;}
50         virtual void          GetL1V0(            Int_t  v[]) const {for (int i = 0; i < 2; i++) v[i] = fL1V0[i];}
51         virtual Int_t         GetL1FrameMask(               ) const {return fL1FrameMask;}            
52         virtual void          GetL1TriggerType(   Int_t  v[]) const {for (int i = 0; i < 8; i++) v[i] = fL1TriggerType[i];}
53         
54         virtual Int_t         GetMode() const {return fMode;}
55         
56         virtual void          Scan() const;
57         virtual void          Reset();
58         
59 private:
60
61     AliEMCALTriggerData(const AliEMCALTriggerData& rhs);            // NOT implemented
62         AliEMCALTriggerData& operator=(const AliEMCALTriggerData& rhs); // NOT implemented
63         
64         Int_t                      fMode;
65         
66         Int_t           fL0Trigger[2][32];
67         
68         TClonesArray*       fL0Patches[2];          // array of patches  
69         
70         Int_t               fL0Region[32][24][4];   // from F-ALTRO data only
71         
72         TClonesArray*  fL1GammaPatches[2];          // array of patches  
73         TClonesArray*    fL1JetPatches[2];          // array of patches
74         
75         Int_t                fL1Region[2][48][64];  // STU FastOR
76
77         Int_t        fL1GammaThreshold;             //
78         Int_t          fL1JetThreshold;             //  
79         
80         Int_t                    fL1V0[2];          //
81         Int_t             fL1FrameMask;             //
82         Int_t           fL1TriggerType[8];          //
83         
84         ClassDef(AliEMCALTriggerData,2)
85 };
86
87 #endif