1 | #ifndef MARS_MTriggerPattern
|
---|
2 | #define MARS_MTriggerPattern
|
---|
3 |
|
---|
4 | #ifndef MARS_MParContainer
|
---|
5 | #include "MParContainer.h"
|
---|
6 | #endif
|
---|
7 |
|
---|
8 | class MTriggerPattern : public MParContainer
|
---|
9 | {
|
---|
10 | friend class MTriggerPatternDecode;
|
---|
11 |
|
---|
12 | public:
|
---|
13 | enum Pattern_t {
|
---|
14 | // kUndefined1 = BIT(0), // 1 1: Level 1 from L2 board
|
---|
15 | kTriggerLvl1 = BIT(0), // 1 1: Level 1 from L2 board
|
---|
16 | kCalibration = BIT(1), // 2 2: Pulse Trigger
|
---|
17 | kTriggerLvl2 = BIT(2), // 4 4: LUT Pseudo Size selection
|
---|
18 | kPedestal = BIT(3), // 8 8: Artificial pedestal event
|
---|
19 | kPinDiode = BIT(4), // 10 16:
|
---|
20 | kSumTrigger = BIT(5), // 20 32: Flag for an event taken with sum trigger
|
---|
21 | // kTriggerLvl1 = BIT(6), // 40 64: Trigger lvl1 directly from L1 without going through L2
|
---|
22 | kUndefined1 = BIT(6), // 40 64: Trigger lvl1 directly from L1 without going through L2
|
---|
23 | kUndefined2 = BIT(7) // 80 128: Undefined?
|
---|
24 | };
|
---|
25 |
|
---|
26 | private:
|
---|
27 | Byte_t fPrescaled; // Bit Pattern as defined above
|
---|
28 | Byte_t fUnprescaled; // Bit Pattern as defined above
|
---|
29 |
|
---|
30 | public:
|
---|
31 | MTriggerPattern(const char *name=0, const char *title=0);
|
---|
32 |
|
---|
33 | void Print(Option_t *) const;
|
---|
34 | void Copy(TObject &obj) const;
|
---|
35 |
|
---|
36 | void Reset() { fPrescaled=0; fUnprescaled=0; }
|
---|
37 |
|
---|
38 | Byte_t GetPrescaled() const { return fPrescaled; }
|
---|
39 | Byte_t GetUnprescaled() const { return fUnprescaled; }
|
---|
40 |
|
---|
41 | ClassDef(MTriggerPattern, 1) // Container storing the decoded trigger pattern
|
---|
42 | };
|
---|
43 |
|
---|
44 | #endif
|
---|