source: tags/Mars-V0.8.6/mfbase/MF.h

Last change on this file was 5100, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 1.4 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
34public:
35 MF();
36 MF(const char *text, const char *name=NULL, const char *title=NULL);
37 ~MF();
38
39 TString GetRule() const { return fF ? fF->GetRule() : MFilter::GetRule(); }
40
41 Bool_t IsExpressionTrue() const;
42
43 Int_t PreProcess(MParList *pList);
44 Int_t Process();
45 Int_t PostProcess();
46
47 void Print(Option_t *opt="") const;
48
49 void SetVariables(const TArrayD &arr) { if (fF) fF->SetVariables(arr); }
50
51 ClassDef(MF, 0) // A Filter for cuts in any data member
52};
53
54#endif
Note: See TracBrowser for help on using the repository browser.