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