]>
Commit | Line | Data |
---|---|---|
c8f4be1a | 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 | ||
692de412 | 6 | /*$Id$*/ |
7 | ||
8 | /// \ingroup rec | |
9 | /// \class AliMUONScalerEventTrigger | |
10 | /// \brief MUON scaler event trigger | |
c8f4be1a | 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 | |
17323043 | 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;} | |
c8f4be1a | 68 | |
ced309a5 | 69 | // set random numbers to fill variable |
70 | void SetNumbers(); | |
71 | ||
c8f4be1a | 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 |