]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONScalerEventTrigger.h
Coding conventions (Annalisa)
[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    // set random numbers to fill variable
70    void SetNumbers();
71
72  private:
73
74    // local card scalers   
75    UInt_t     fLocalL0;        // local L0
76    UInt_t     fLocalHold;      // local hold (dead time)
77    UInt_t     fLocalClk;       // local clock
78
79    UInt_t     fLocalLPtNTrig;  // local low Pt no trigger
80    UInt_t     fLocalHPtNTrig;  // local high Pt no trigger
81
82    UInt_t     fLocalLPtRTrig;  // local low Pt right trigger
83    UInt_t     fLocalHPtRTrig;  // local high Pt right trigger
84
85    UInt_t     fLocalLPtLTrig;  // local low Pt left trigger
86    UInt_t     fLocalHPtLTrig;  // local high Pt left trigger
87
88    UInt_t     fLocalLPtSTrig;  // local low Pt straight trigger
89    UInt_t     fLocalHPtSTrig;  // local high Pt straight trigger
90
91    UInt_t     fLocalScaler[8*4];   // local data
92    UInt_t     fLocalEOS;           // contains switches conf. & flag for reading X (0) or Y (1) in fLocalScaler
93    UInt_t     fLocalReset;         // reset signal
94    static const Int_t      fgkLocalScalerLength;  // length of local scaler in word
95
96    // regional card scalers   
97    UInt_t     fRegL0;         // regional L0
98    UInt_t     fRegClk;        // regional clock
99    UInt_t     fRegScaler[8];  // regional ouput
100    UInt_t     fRegHold;       // regional hold (dead time)
101    static const Int_t      fgkRegScalerLength;  // length of regional scaler in word
102
103    // global card scalers   
104    UInt_t     fGlobalL0;         // global L0
105    UInt_t     fGlobalClk;        // global clock
106    UInt_t     fGlobalScaler[6];  // global ouput
107    UInt_t     fGlobalHold;       // global hold (dead time)
108    UInt_t     fGlobalSpare;      // global spare
109    static const Int_t      fgkGlobalScalerLength;  // length of global scaler in word
110
111    // DARC Scalers
112    UInt_t     fDarcL0R;       // DARC L0 received
113    UInt_t     fDarcL0U;       // DARC L0 used
114    UInt_t     fDarcL0P;       // DARC Physical L0
115    UInt_t     fDarcL0S;       // DARC Software (checking) L0
116    UInt_t     fDarcClk;       // DARC clock
117    UInt_t     fDarcHold;      // DARC hold (dead time)
118    static const Int_t      fgkDarcScalerLength;  // length of DARC scaler in word
119
120    ClassDef(AliMUONScalerEventTrigger,1) 
121 };
122 #endif