Line | |
---|
1 | #ifndef MARS_MFDataChain
|
---|
2 | #define MARS_MFDataChain
|
---|
3 |
|
---|
4 | /////////////////////////////////////////////////////////////////////////////
|
---|
5 | // //
|
---|
6 | // MFDataChain //
|
---|
7 | // //
|
---|
8 | /////////////////////////////////////////////////////////////////////////////
|
---|
9 |
|
---|
10 | #ifndef MARS_MFilter
|
---|
11 | #include "MFilter.h"
|
---|
12 | #endif
|
---|
13 | #ifndef MARS_MDataChain
|
---|
14 | #include "MDataChain.h"
|
---|
15 | #endif
|
---|
16 |
|
---|
17 | class MParList;
|
---|
18 |
|
---|
19 | class MFDataChain : public MFilter
|
---|
20 | {
|
---|
21 | private:
|
---|
22 | MDataChain fData;
|
---|
23 | MData *fCond;
|
---|
24 |
|
---|
25 | typedef enum { kELowerThan, kEGreaterThan } FilterType_t;
|
---|
26 | FilterType_t fFilterType;
|
---|
27 |
|
---|
28 | Bool_t fResult; //!
|
---|
29 |
|
---|
30 | void StreamPrimitive(ofstream &out) const;
|
---|
31 |
|
---|
32 | Int_t PreProcess(MParList *pList);
|
---|
33 | Int_t Process();
|
---|
34 |
|
---|
35 | public:
|
---|
36 | MFDataChain(const char *name=NULL, const char *title=NULL);
|
---|
37 | MFDataChain(const char *rule, const char type, const Double_t val,
|
---|
38 | const char *name=NULL, const char *title=NULL);
|
---|
39 | MFDataChain(const char *rule, const char type, const char *cond,
|
---|
40 | const char *name=NULL, const char *title=NULL);
|
---|
41 | ~MFDataChain();
|
---|
42 |
|
---|
43 | Bool_t IsExpressionTrue() const { return fResult; }
|
---|
44 |
|
---|
45 | void Print(Option_t *opt = "") const;
|
---|
46 | TString GetRule() const;
|
---|
47 |
|
---|
48 | void SetVariables(const TArrayD &arr)
|
---|
49 | {
|
---|
50 | fData.SetVariables(arr);
|
---|
51 | if (fCond)
|
---|
52 | fCond->SetVariables(arr);
|
---|
53 | }
|
---|
54 |
|
---|
55 | ClassDef(MFDataChain, 1) // A Filter for cuts in any data member
|
---|
56 | };
|
---|
57 |
|
---|
58 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.