source: trunk/MagicSoft/Mars/mfbase/MF.h@ 7954

Last change on this file since 7954 was 7804, checked in by tbretz, 18 years ago
*** empty log message ***
File size: 1.8 KB
Line 
1#ifndef MARS_MF
2#define MARS_MF
3
4/////////////////////////////////////////////////////////////////////////////
5// //
6// MF //
7// //
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef MARS_MFilter
11#include "MFilter.h"
12#endif
13
14class MParList;
15class TMethodCall;
16
17class MF : public MFilter
18{
19private:
20 static const TString gsDefName; //!
21 static const TString gsDefTitle; //!
22
23 MFilter *fF; // Filter
24 Bool_t fAllowEmpty; // Not a Bit to be stored
25
26 Int_t IsRule(TString &txt, TString &rule) const;
27 Int_t IsVal(const TString &txt) const;
28 Int_t IsAlNum(TString txt) const;
29
30 MFilter *ParseRule(TString &txt, MFilter *filter0, Int_t level) const;
31 MFilter *ParseString(TString txt, Int_t level);
32
33 void StreamPrimitive(ostream &out) const;
34
35public:
36 MF();
37 MF(const char *text, const char *name=NULL, const char *title=NULL);
38 ~MF();
39
40 // MF
41 void SetAllowEmpty(Bool_t b=kTRUE) { fAllowEmpty = b; }
42 Bool_t IsAllowEmpty() const { return fAllowEmpty; }
43
44 // MFilter
45 TString GetRule() const { return fF ? fF->GetRule() : MFilter::GetRule(); }
46 TString GetDataMember() const;
47
48 Bool_t IsExpressionTrue() const;
49
50 // MTask
51 Int_t PreProcess(MParList *pList);
52 Int_t Process();
53 Int_t PostProcess();
54
55 // TObject
56 void Print(Option_t *opt="") const;
57
58 // MParContainer
59 void SetVariables(const TArrayD &arr) { if (fF) fF->SetVariables(arr); }
60 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print=kFALSE);
61
62 ClassDef(MF, 1) // A Filter for cuts in any data member
63};
64
65#endif
Note: See TracBrowser for help on using the repository browser.