source: trunk/MagicSoft/Mars/mfbase/MFDataPhrase.h@ 8672

Last change on this file since 8672 was 8091, checked in by tbretz, 18 years ago
*** empty log message ***
File size: 1.4 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
21 Bool_t fResult; //!
22
23 Int_t IsRule(TString &txt, TString &rule) const;
24 Int_t IsVal(const TString &txt) const;
25 Int_t IsAlNum(TString txt) const;
26
27 MFilter *ParseRule(TString &txt, MFilter *filter0, Int_t level) const;
28 MFilter *ParseString(TString txt, Int_t level);
29
30 void StreamPrimitive(ostream &out) const;
31
32public:
33 MFDataPhrase();
34 MFDataPhrase(const char *text, const char *name=NULL, const char *title=NULL);
35 ~MFDataPhrase();
36
37 // MF
38 void SetAllowEmpty(Bool_t b=kTRUE) { fAllowEmpty = b; }
39 Bool_t IsAllowEmpty() const { return fAllowEmpty; }
40
41 // MFilter
42 TString GetRule() const;
43 TString GetDataMember() const;
44
45 Bool_t IsExpressionTrue() const;
46
47 // MTask
48 Int_t PreProcess(MParList *pList);
49 Int_t Process();
50 Int_t PostProcess();
51
52 // TObject
53 void Print(Option_t *opt="") const;
54
55 // MParContainer
56 void SetVariables(const TArrayD &arr);
57 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print=kFALSE);
58
59 ClassDef(MFDataPhrase, 1) // A Filter for cuts in any data member
60};
61
62#endif
Note: See TracBrowser for help on using the repository browser.