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