]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALTriggerData.h
add common abstract interface classes for flat and fat ESDs
[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         
29         virtual void SetL1GammaThreshold(int i, int  v) {fL1GammaThreshold[i] = v;}
30         virtual void SetL1JetThreshold(  int i, int  v) {  fL1JetThreshold[i] = v;}
31         virtual void SetL1V0(            Int_t* v) {for (int i = 0; i < 2; i++) fL1V0[i] = v[i];}
32         virtual void SetL1FrameMask(     Int_t  v) {     fL1FrameMask = v;}            
33         virtual void SetL1TriggerType(   Int_t* v) {for (int i = 0; i < 15; i++) fL1TriggerType[i] = v[i];}
34
35         virtual void SetL1DataDecoded(   Int_t  v) {   fL1DataDecoded = v;} 
36         virtual void SetL1RawData(       Int_t  v) {       fL1RawData = v;}
37
38         virtual void          GetL0Trigger(  Int_t i, Int_t j, Int_t& k  ) const {   k = fL0Trigger[i][j];}
39         virtual Int_t         GetL0Trigger(  Int_t i, Int_t j            ) const {return fL0Trigger[i][j];}
40         
41         virtual Int_t         GetL1GammaThreshold(int i)           const {return fL1GammaThreshold[i];}
42         virtual Int_t         GetL1JetThreshold(  int i)           const {return   fL1JetThreshold[i];}
43         virtual void          GetL1V0(            Int_t  v[]) const {for (int i = 0; i < 2; i++) v[i] = fL1V0[i];}
44         virtual Int_t         GetL1FrameMask(               ) const {return fL1FrameMask;}            
45         virtual void          GetL1TriggerType(   Int_t  v[]) const {for (int i = 0; i < 15; i++) v[i] = fL1TriggerType[i];}
46         
47         virtual Int_t         GetL1DataDecoded(             ) const {return fL1DataDecoded;}
48         virtual Int_t             GetL1RawData(             ) const {return     fL1RawData;}
49
50         virtual Int_t         GetMode() const {return fMode;}
51         
52         virtual void          Scan() const;
53         virtual void          Reset();
54         
55 private:
56
57     AliEMCALTriggerData(const AliEMCALTriggerData& rhs);            // NOT implemented
58         AliEMCALTriggerData& operator=(const AliEMCALTriggerData& rhs); // NOT implemented
59         
60         Int_t                      fMode;           // Simulation/Raw
61         
62         Int_t               fL0Trigger[2][32];      // Triggering TRU
63
64         Int_t        fL1GammaThreshold[2];          // L1-g threshold
65         Int_t          fL1JetThreshold[2];          // L1-j threshold
66         
67         Int_t                    fL1V0[2];          // V0 charges
68         Int_t             fL1FrameMask;             // Frame mask
69         Int_t           fL1TriggerType[15];         // Trigger type
70         
71         Int_t           fL1DataDecoded;             // Raw data decoded
72         Int_t               fL1RawData;             // Raw data
73
74         ClassDef(AliEMCALTriggerData,2)
75 };
76
77 #endif