source: trunk/MagicSoft/Mars/mdata/MDataChain.h@ 2230

Last change on this file since 2230 was 2117, checked in by tbretz, 22 years ago
*** empty log message ***
File size: 2.0 KB
Line 
1#ifndef MARS_MDataChain
2#define MARS_MDataChain
3
4/////////////////////////////////////////////////////////////////////////////
5// //
6// MDataList //
7// //
8// List of several filters //
9// //
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef MARS_MData
13#include "MData.h"
14#endif
15
16class MDataChain : public MData
17{
18private:
19 MData *fMember; // Filter
20
21 typedef enum {
22 kENoop,
23 kELog10,
24 kELog,
25 kEAbs,
26 kESin,
27 kECos,
28 kETan,
29 kESinH,
30 kECosH,
31 kETanH,
32 kEASin,
33 kEACos,
34 kEATan,
35 kESqrt,
36 kESqr,
37 kEPow10,
38 kEExp,
39 kESgn,
40 kEPositive,
41 kENegative,
42 kEFloor,
43 kERad2Deg,
44 kEDeg2Rad,
45 kERandom,
46 kERandomP,
47 kERandomE,
48 kERandomI,
49 kERandomG,
50 kERandomL
51 } OperatorType_t;
52
53 OperatorType_t fOperatorType;
54
55 OperatorType_t ParseOperator(TString txt) const;
56
57 Int_t IsAlNum(TString txt);
58 Int_t GetBracket(TString txt, char open, char close);
59
60 MData *ParseString(TString txt, Int_t level);
61 MData *ParseDataMember(TString txt);
62
63 MDataChain(const char *rule, OperatorType_t op);
64
65public:
66 MDataChain(const char *rule=NULL, const char *name=NULL, const char *title=NULL);
67 ~MDataChain();
68
69 Double_t GetValue() const;
70 Bool_t PreProcess(const MParList *plist);
71
72 Bool_t IsValid() const { return fMember ? kTRUE : kFALSE; }
73 Bool_t IsReadyToSave() const;
74
75// void Print(Option_t *opt = "") const;
76
77 TString GetRule() const;
78 TString GetDataMember() const;
79
80 ClassDef(MDataChain, 1) // A chain/concatenation of MData objects
81};
82
83#endif
Note: See TracBrowser for help on using the repository browser.