source: trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.h@ 7650

Last change on this file since 7650 was 6968, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 2.0 KB
Line 
1#ifndef MARS_MFTriggerPattern
2#define MARS_MFTriggerPattern
3
4#ifndef MARS_MFilter
5#include "MFilter.h"
6#endif
7
8class MTriggerPattern;
9
10class MFTriggerPattern : public MFilter
11{
12public:
13 enum Prescale_t {
14 kUnPrescaled,
15 kPrescaled
16 };
17
18private:
19 MTriggerPattern *fPattern; //!
20
21 Byte_t fMaskRequiredPrescaled; // Mask for filtering Trigger Pattern allowed
22 Byte_t fMaskRequiredUnprescaled; // Mask for filtering Trigger Pattern allowed
23 Byte_t fMaskDeniedPrescaled; // Mask for filtering Trigger Pattern denied
24 Byte_t fMaskDeniedUnprescaled; // Mask for filtering Trigger Pattern denied
25
26 Bool_t fDefault; // Default which is used if trigger pattern has default value (p==0&&u==0)
27 Bool_t fResult; //!
28
29 Int_t PreProcess(MParList *pList);
30 Int_t Process();
31
32 Bool_t IsExpressionTrue() const;
33
34public:
35 MFTriggerPattern(const char *name=NULL, const char *title=NULL);
36 MFTriggerPattern(MFTriggerPattern &trigpatt);
37
38 void RequireTriggerLvl1(Prescale_t prescaled=kUnPrescaled);
39 void RequireTriggerLvl2(Prescale_t prescaled=kUnPrescaled);
40 void RequireCalibration(Prescale_t prescaled=kUnPrescaled);
41 void RequirePedestal(Prescale_t prescaled=kUnPrescaled);
42 void RequirePinDiode(Prescale_t prescaled=kUnPrescaled);
43
44 void DenyTriggerLvl1(Prescale_t prescaled=kUnPrescaled);
45 void DenyTriggerLvl2(Prescale_t prescaled=kUnPrescaled);
46 void DenyCalibration(Prescale_t prescaled=kUnPrescaled);
47 void DenyPedestal(Prescale_t prescaled=kUnPrescaled);
48 void DenyPinDiode(Prescale_t prescaled=kUnPrescaled);
49
50 void Require(TString patt, Prescale_t prescaled=kUnPrescaled);
51 void Deny(TString patt, Prescale_t prescaled=kUnPrescaled);
52
53 void SetDefault(Bool_t b) { fDefault=b; }
54
55 // Low level settings. USE THESE ONLY IF YOU ARE AN EXPERT!
56 void SetMaskRequired(const Byte_t mask, Prescale_t prescaled=kUnPrescaled);
57 void SetMaskDenied(const Byte_t mask, Prescale_t prescaled=kUnPrescaled);
58
59 ClassDef(MFTriggerPattern, 1) // A Filter for the Trigger Pattern
60};
61
62#endif
Note: See TracBrowser for help on using the repository browser.