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

Last change on this file since 6724 was 5911, checked in by tbretz, 20 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
25 Int_t IsRule(TString &txt, TString &rule) const;
26 Int_t IsVal(const TString &txt) const;
27 Int_t IsAlNum(TString txt) const;
28
29 MFilter *ParseRule(TString &txt, MFilter *filter0, Int_t level) const;
30 MFilter *ParseString(TString txt, Int_t level);
31
32 void StreamPrimitive(ofstream &out) const;
33
34 enum { kAllowEmpty = BIT(14) };
35
36public:
37 MF();
38 MF(const char *text, const char *name=NULL, const char *title=NULL);
39 ~MF();
40
41 // MF
42 void SetAllowEmpty(Bool_t b=kTRUE) { b ? SetBit(kAllowEmpty) : ResetBit(kAllowEmpty); }
43 Bool_t IsAllowEmpty() const { return TestBit(kAllowEmpty); }
44
45 // MFilter
46 TString GetRule() const { return fF ? fF->GetRule() : MFilter::GetRule(); }
47 TString GetDataMember() const;
48
49 Bool_t IsExpressionTrue() const;
50
51 // MTask
52 Int_t PreProcess(MParList *pList);
53 Int_t Process();
54 Int_t PostProcess();
55
56 // TObject
57 void Print(Option_t *opt="") const;
58
59 // MParContainer
60 void SetVariables(const TArrayD &arr) { if (fF) fF->SetVariables(arr); }
61 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print=kFALSE);
62
63 ClassDef(MF, 0) // A Filter for cuts in any data member
64};
65
66#endif
Note: See TracBrowser for help on using the repository browser.