]>
Commit | Line | Data |
---|---|---|
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 | virtual void SetL1DataDecoded( Int_t v) { fL1DataDecoded = v;} | |
40 | ||
41 | virtual void GetL0Trigger( Int_t i, Int_t j, Int_t& k ) const { k = fL0Trigger[i][j];} | |
42 | virtual Int_t GetL0Trigger( Int_t i, Int_t j ) const {return fL0Trigger[i][j];} | |
43 | ||
44 | virtual void GetPatches(TriggerType_t type, Int_t i, TClonesArray& patches) const; | |
45 | virtual TClonesArray* GetPatches(TriggerType_t type, Int_t i ) const; | |
46 | ||
47 | virtual void GetL1Region( Int_t i, Int_t arr[][64] ) const; | |
48 | ||
49 | virtual Int_t GetL1GammaThreshold() const {return fL1GammaThreshold;} | |
50 | virtual Int_t GetL1JetThreshold() const {return fL1JetThreshold;} | |
51 | virtual void GetL1V0( Int_t v[]) const {for (int i = 0; i < 2; i++) v[i] = fL1V0[i];} | |
52 | virtual Int_t GetL1FrameMask( ) const {return fL1FrameMask;} | |
53 | virtual void GetL1TriggerType( Int_t v[]) const {for (int i = 0; i < 8; i++) v[i] = fL1TriggerType[i];} | |
54 | ||
55 | virtual Int_t GetL1DataDecoded( ) const {return fL1DataDecoded;} | |
56 | ||
57 | virtual Int_t GetMode() const {return fMode;} | |
58 | ||
59 | virtual void Scan() const; | |
60 | virtual void Reset(); | |
61 | ||
62 | private: | |
63 | ||
64 | AliEMCALTriggerData(const AliEMCALTriggerData& rhs); // NOT implemented | |
65 | AliEMCALTriggerData& operator=(const AliEMCALTriggerData& rhs); // NOT implemented | |
66 | ||
67 | Int_t fMode; // | |
68 | ||
69 | Int_t fL0Trigger[2][32]; // | |
70 | ||
71 | TClonesArray* fL0Patches[2]; // array of patches | |
72 | ||
73 | Int_t fL0Region[32][24][4]; // from F-ALTRO data only | |
74 | ||
75 | TClonesArray* fL1GammaPatches[2]; // array of patches | |
76 | TClonesArray* fL1JetPatches[2]; // array of patches | |
77 | ||
78 | Int_t fL1Region[2][48][64]; // STU FastOR | |
79 | ||
80 | Int_t fL1GammaThreshold; // | |
81 | Int_t fL1JetThreshold; // | |
82 | ||
83 | Int_t fL1V0[2]; // | |
84 | Int_t fL1FrameMask; // | |
85 | Int_t fL1TriggerType[8]; // | |
86 | ||
87 | Int_t fL1DataDecoded; | |
88 | ||
89 | ClassDef(AliEMCALTriggerData,2) | |
90 | }; | |
91 | ||
92 | #endif |