KaliVeda
Toolkit for HIC analysis
KVINDRACodeMask.h
1 
4 #ifndef __KVINDRACODEMASK__
5 #define __KVINDRACODEMASK__
6 
7 #include "TObject.h"
8 
10 
11 
12 
116 class KVINDRACodeMask: public TObject {
117 
118 private:
121 
122 public:
123  /* Global bits for code masks */
124  enum EVedaCodes {
125  kIDCode0 = BIT(0), //these bits concern KVINDRACodeMask::fIDMask
126  kIDCode1 = BIT(1),
127  kIDCode2 = BIT(2),
128  kIDCode3 = BIT(3),
129  kIDCode4 = BIT(4),
130  kIDCode5 = BIT(5),
131  kIDCode6 = BIT(6),
132  kIDCode7 = BIT(7),
133  kIDCode8 = BIT(8),
134  kIDCode9 = BIT(9),
135  kIDCode10 = BIT(10),
136  kIDCode11 = BIT(11),
137  kIDCode14 = BIT(12),
138  kIDCode15 = BIT(13),
139  kECode0 = BIT(0), //these bits concern KVINDRACodeMask::fEMask
140  kECode1 = BIT(1),
141  kECode2 = BIT(2),
142  kECode3 = BIT(3),
143  kECode11 = BIT(4),
144  kECode15 = BIT(5),
145  kECode4 = BIT(6),
146  kECode5 = BIT(7)
147  };
148 
149  enum EIDCodes {
166  };
167  void Copy(TObject& object) const override
168  {
169  KVINDRACodeMask& i = (KVINDRACodeMask&)object;
170  i.fIDMask = fIDMask;
171  i.fEMask = fEMask;
172  TObject::Copy(object);
173  }
174 
176  {
178  fIDMask = 0;
179  fEMask = 0;
180  };
182  {
184  fIDMask = 0;
185  fEMask = 0;
186  };
187 
189  {
190  return fIDMask;
191  }
193  {
194  return fEMask;
195  }
196  void SetIDMask(UShort_t codes)
197  {
198  fIDMask = codes;
199  }
200  Bool_t TestIDCode(UShort_t code);
201  Bool_t TestECode(UChar_t code);
202  void SetEMask(UChar_t codes)
203  {
204  fEMask = codes;
205  }
206 
208  {
209  return (TestIDCode(msk.GetIDMask()) && TestECode(msk.GetEMask()));
210  };
211 
212  void Clear(Option_t* = "") override
213  {
214  fIDMask = 0;
215  fEMask = 0;
216  TObject::Clear();
217  };
218 
219  Bool_t IsNull() const
220  {
222  return (!fIDMask && !fEMask);
223  }
224 
225  ClassDefOverride(KVINDRACodeMask, 1); //Handles setting and testing code masks for particle calibration quality control
226 };
227 
228 
229 #endif
bool Bool_t
unsigned short UShort_t
unsigned char UChar_t
const char Option_t
#define BIT(n)
[OBSOLETE] Identification code structure for INDRA data
Bool_t IsNull() const
UShort_t fIDMask
16-bit mask with id codes
Bool_t TestIDCode(UShort_t code)
void SetEMask(UChar_t codes)
void SetIDMask(UShort_t codes)
void Copy(TObject &object) const override
virtual ~ KVINDRACodeMask()
ClassDefOverride(KVINDRACodeMask, 1)
void Clear(Option_t *="") override
Bool_t operator&(KVINDRACodeMask &msk)
UChar_t fEMask
8-bit mask with e-calibration codes
Bool_t TestECode(UChar_t code)
UShort_t GetIDMask()
virtual void Clear(Option_t *="")
virtual void Copy(TObject &object) const