source: trunk/MagicSoft/Mars/mdata/MDataList.h@ 1304

Last change on this file since 1304 was 1304, checked in by tbretz, 23 years ago
*** empty log message ***
File size: 1.3 KB
Line 
1#ifndef MARS_MDataList
2#define MARS_MDataList
3
4/////////////////////////////////////////////////////////////////////////////
5// //
6// MDataList //
7// //
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef ROOT_TOrdCollection
11#include <TOrdCollection.h>
12#endif
13
14#ifndef MARS_MData
15#include "MData.h"
16#endif
17
18class MParList;
19
20class MDataList : public MData
21{
22private:
23 TOrdCollection fMembers; // Container for the filters
24
25 typedef enum { kENone, kEPlus, kEMinus, kEMult, kEDiv } SignType_t;
26 SignType_t fSign;
27
28 enum { kIsOwner = BIT(14) };
29
30public:
31 MDataList(char type);
32 MDataList(MDataList &ts);
33 ~MDataList()
34 {
35 if (TestBit(kIsOwner))
36 fMembers.SetOwner();
37 }
38
39 Bool_t AddToList(MData *member);
40 void SetOwner(Bool_t enable=kTRUE) { enable ? SetBit(kIsOwner) : ResetBit(kIsOwner); }
41
42 Bool_t IsValid() const { return fMembers.GetSize() ? kTRUE : kFALSE; }
43
44 Double_t GetValue() const;
45 Bool_t PreProcess(const MParList *plist);
46
47 void Print(Option_t *opt = "") const;
48
49 ClassDef(MDataList, 0) // List to combine several filters logically
50};
51
52#endif
Note: See TracBrowser for help on using the repository browser.