]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONScalerEventTrigger.h
Revived the geometry that Alla did orginally. The code is in the classes
[u/mrichter/AliRoot.git] / MUON / AliMUONScalerEventTrigger.h
CommitLineData
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
14class AliMUONScalerEventTrigger : public TObject{
15
16public:
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
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