source: trunk/Mars/mfbase/MFDataChain.h@ 12704

Last change on this file since 12704 was 7804, checked in by tbretz, 18 years ago
*** empty log message ***
File size: 1.6 KB
Line 
1#ifndef MARS_MFDataChain
2#define MARS_MFDataChain
3
4/////////////////////////////////////////////////////////////////////////////
5// //
6// MFDataChain //
7// //
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef MARS_MFilter
11#include "MFilter.h"
12#endif
13#ifndef MARS_MDataChain
14#include "MDataChain.h"
15#endif
16
17class MParList;
18
19class MFDataChain : public MFilter
20{
21private:
22 MDataChain fData;
23 MData *fCond;
24
25 typedef enum { kELowerThan, kEGreaterThan } FilterType_t;
26 FilterType_t fFilterType;
27
28 Bool_t fResult; //!
29
30 void StreamPrimitive(ostream &out) const;
31
32 Int_t PreProcess(MParList *pList);
33 Int_t Process();
34
35public:
36 MFDataChain(const char *name=NULL, const char *title=NULL);
37 MFDataChain(const char *rule, const char type, const Double_t val,
38 const char *name=NULL, const char *title=NULL);
39 MFDataChain(const char *rule, const char type, const char *cond,
40 const char *name=NULL, const char *title=NULL);
41 ~MFDataChain();
42
43 Bool_t IsExpressionTrue() const { return fResult; }
44
45 void Print(Option_t *opt = "") const;
46
47 TString GetRule() const;
48 TString GetDataMember() const;
49
50 void SetVariables(const TArrayD &arr)
51 {
52 fData.SetVariables(arr);
53 if (fCond)
54 fCond->SetVariables(arr);
55 }
56
57 ClassDef(MFDataChain, 1) // A Filter for cuts in any data member
58};
59
60#endif
Note: See TracBrowser for help on using the repository browser.