source: trunk/Mars/mfbase/MFDataPhrase.h@ 11270

Last change on this file since 11270 was 8709, checked in by tbretz, 17 years ago
*** empty log message ***
File size: 1.6 KB
Line 
1#ifndef MARS_MFDataPhrase
2#define MARS_MFDataPhrase
3
4#ifndef MARS_MFilter
5#include "MFilter.h"
6#endif
7
8class MData;
9class MParList;
10class TMethodCall;
11
12class MFDataPhrase : public MFilter
13{
14private:
15 static const TString gsDefName; //!
16 static const TString gsDefTitle; //!
17
18 MData *fData;
19 Bool_t fAllowEmpty; // Not a Bit to be stored
20 Bool_t fDefault; // Default for empty case
21
22 Bool_t fResult; //!
23
24 Int_t IsRule(TString &txt, TString &rule) const;
25 Int_t IsVal(const TString &txt) const;
26 Int_t IsAlNum(TString txt) const;
27
28 MFilter *ParseRule(TString &txt, MFilter *filter0, Int_t level) const;
29 MFilter *ParseString(TString txt, Int_t level);
30
31 void StreamPrimitive(ostream &out) const;
32
33public:
34 MFDataPhrase();
35 MFDataPhrase(const char *text, const char *name=NULL, const char *title=NULL);
36 ~MFDataPhrase();
37
38 // MF
39 void SetAllowEmpty(Bool_t b=kTRUE) { fAllowEmpty = b; }
40 Bool_t IsAllowEmpty() const { return fAllowEmpty; }
41
42 void SetDefault(Bool_t b) { fDefault = b; }
43 Bool_t GetDefault() const { return fDefault; }
44
45 // MFilter
46 TString GetRule() const;
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);
61 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print=kFALSE);
62
63 ClassDef(MFDataPhrase, 2) // A Filter for cuts in any data member
64};
65
66#endif
Note: See TracBrowser for help on using the repository browser.