]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONScalerEventTrigger.h
BuildStation6 made consistent with AliMUONFactoryV2
[u/mrichter/AliRoot.git] / MUON / AliMUONScalerEventTrigger.h
1 #ifndef ALIMUONSCALEREVENTTRIGGER_H
2 #define ALIMUONSCALEREVENTTRIGGER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*$Id$*/
7
8 /// \ingroup rec
9 /// \class AliMUONScalerEventTrigger
10 /// \brief MUON scaler event trigger
11
12 #include <TObject.h>
13
14 class AliMUONScalerEventTrigger : public TObject{
15  
16 public:
17    AliMUONScalerEventTrigger();
18    virtual ~AliMUONScalerEventTrigger(){;}
19
20    // local get methods
21    UInt_t  GetLocalL0()      const {return fLocalL0;}
22    UInt_t  GetLocalHold()    const {return fLocalHold;}
23    UInt_t  GetLocalClock()   const {return fLocalClk;}
24    UChar_t GetLocalSwitch()  const {return (fLocalEOS >> 2) & 0x3FF;}
25    UChar_t GetLocalComptXY() const {return  fLocalEOS & 3;}
26
27    UShort_t GetXY1(Int_t n) {return  (n % 2 == 0) ? 
28        (fLocalScaler[n] &  0xFFFF) : (fLocalScaler[n] >> 16) &  0xFFFF;}
29    UShort_t GetXY2(Int_t n) {return  (n % 2 == 0) ? 
30        (fLocalScaler[8 + n] &  0xFFFF) : (fLocalScaler[8 + n] >> 16) &  0xFFFF;}
31    UShort_t GetXY3(Int_t n) {return  (n % 2 == 0) ? 
32        (fLocalScaler[8*2 + n] &  0xFFFF) : (fLocalScaler[8*2 + n] >> 16) &  0xFFFF;}
33    UShort_t GetXY4(Int_t n) {return  (n % 2 == 0) ? 
34        (fLocalScaler[8*3 + n] &  0xFFFF) : (fLocalScaler[8*3 + n] >> 16) &  0xFFFF;}
35
36    // regional get methods
37    UInt_t  GetRegL0()      const {return fRegL0;}
38    UInt_t  GetRegClock()   const {return fRegClk;}
39    const UInt_t* GetRegScaler()  const {return fRegScaler;}
40    UInt_t  GetRegHold()    const {return fRegHold;}
41
42    // global get methods
43    UInt_t  GetGlobalL0()      const {return fGlobalL0;}
44    UInt_t  GetGlobalClock()   const {return fGlobalClk;}
45    const UInt_t* GetGlobalScaler()  const {return fGlobalScaler;}
46    UInt_t  GetGlobalHold()    const {return fGlobalHold;}
47    UInt_t  GetGlobalSpare()   const {return fGlobalSpare;}
48
49    // DARC get methods
50    UInt_t  GetDarcL0R()     const {return fDarcL0R;}
51    UInt_t  GetDarcL0U()     const {return fDarcL0U;}
52    UInt_t  GetDarcL0P()     const {return fDarcL0P;}
53    UInt_t  GetDarcL0S()     const {return fDarcL0S;}
54    UInt_t  GetDarcClock()   const {return fDarcClk;}
55    UInt_t  GetDarcHold()    const {return fDarcHold;}
56    
57    // don't use setting methods but memcpy
58    UInt_t* GetLocalScalers()  {return &fLocalL0;} 
59    UInt_t* GetRegScalers()    {return &fRegL0;}   
60    UInt_t* GetGlobalScalers() {return &fGlobalL0;}
61    UInt_t* GetDarcScalers()   {return &fDarcL0R;} 
62
63    // get scaler length
64    Int_t GetLocalScalerLength()  const {return fgkLocalScalerLength;} 
65    Int_t GetRegScalerLength()    const {return fgkRegScalerLength;}   
66    Int_t GetGlobalScalerLength() const {return fgkGlobalScalerLength;}
67    Int_t GetDarcScalerLength()   const {return fgkDarcScalerLength;} 
68
69  private:
70
71    // local card scalers   
72    UInt_t     fLocalL0;        // local L0
73    UInt_t     fLocalHold;      // local hold (dead time)
74    UInt_t     fLocalClk;       // local clock
75
76    UInt_t     fLocalLPtNTrig;  // local low Pt no trigger
77    UInt_t     fLocalHPtNTrig;  // local high Pt no trigger
78
79    UInt_t     fLocalLPtRTrig;  // local low Pt right trigger
80    UInt_t     fLocalHPtRTrig;  // local high Pt right trigger
81
82    UInt_t     fLocalLPtLTrig;  // local low Pt left trigger
83    UInt_t     fLocalHPtLTrig;  // local high Pt left trigger
84
85    UInt_t     fLocalLPtSTrig;  // local low Pt straight trigger
86    UInt_t     fLocalHPtSTrig;  // local high Pt straight trigger
87
88    UInt_t     fLocalScaler[8*4];   // local data
89    UInt_t     fLocalEOS;           // contains switches conf. & flag for reading X (0) or Y (1) in fLocalScaler
90    UInt_t     fLocalReset;         // reset signal
91    static const Int_t      fgkLocalScalerLength;  // length of local scaler in word
92
93    // regional card scalers   
94    UInt_t     fRegL0;         // regional L0
95    UInt_t     fRegClk;        // regional clock
96    UInt_t     fRegScaler[8];  // regional ouput
97    UInt_t     fRegHold;       // regional hold (dead time)
98    static const Int_t      fgkRegScalerLength;  // length of regional scaler in word
99
100    // global card scalers   
101    UInt_t     fGlobalL0;         // global L0
102    UInt_t     fGlobalClk;        // global clock
103    UInt_t     fGlobalScaler[6];  // global ouput
104    UInt_t     fGlobalHold;       // global hold (dead time)
105    UInt_t     fGlobalSpare;      // global spare
106    static const Int_t      fgkGlobalScalerLength;  // length of global scaler in word
107
108    // DARC Scalers
109    UInt_t     fDarcL0R;       // DARC L0 received
110    UInt_t     fDarcL0U;       // DARC L0 used
111    UInt_t     fDarcL0P;       // DARC Physical L0
112    UInt_t     fDarcL0S;       // DARC Software (checking) L0
113    UInt_t     fDarcClk;       // DARC clock
114    UInt_t     fDarcHold;      // DARC hold (dead time)
115    static const Int_t      fgkDarcScalerLength;  // length of DARC scaler in word
116
117    ClassDef(AliMUONScalerEventTrigger,1) 
118 };
119 #endif