KaliVeda
Toolkit for HIC analysis
KVINDRACodeMask Class Reference

Detailed Description

[OBSOLETE] Identification code structure for INDRA data

Id
KVINDRACodeMask.h,v 1.4 2008/02/14 10:30:18 franklan Exp

Author:

Author
franklan
Warning
This class and the informations related to it are completely obsolete. For information on definitions and use of INDRA identification and calibration quality codes, see the documentation for the KVINDRA class

Handles bit-masks used to describe identification & calibration codes for particles, and also used to define which particles are to be considered "ok" or "good" for analysis (i.e. which particles have IsOK()=kTRUE).

For compatibility with old VEDA6 codes, a set of bit-mask constants are defined to describe ID and energy codes:


Let us recall the meaning of the VEDA_6.INCL codes :

code = 0 : gamma
code = 1 : neutron (seulement couronnes 2 a 9)
code = 2 : part. ident. dans CsI ou Phoswich (OK + 8Be)
code = 3 : fragment identifie dans Si-CsI
ou fragment ident. dans Si75-SiLi ou SiLi-CsI
code = 4 : fragment identifie dans ChIo-Si
ou fragment ou part. identifie dans ChIo-Si75
code = 5 : fragment non-ident. (montee de Bragg)(Z min.)
ou stoppe dans Chio (Z min)
code = 6 : frag. cree par la coherence CsI (stoppe ds Si.)
code = 7 : frag. cree par la coherence ChIo (stoppe ds ChIo)
code = 8 : multiple comptage dans ChIo avec arret
- dans les siliciums (cour. 2-9)
- dans les CsI (cour. 10-17)
code = 9 : ident. incomplete dans CsI ou Phoswich (Z.min)
code =10 : ident. "entre les lignes" dans CsI
code =11 : ident. Z=2 due a l'inversion CHIO (Argon)
code =14 : Particule restee non identifiee (a rejeter)
code =15 : frag. ou part. rejete
double gamma(double x)
double min(double x, double y)

Nota: Pour le code 8 la contribution ChIo est partagee egalement entre toutes les particules qui s'arretent dans les modules suivants. Le Z individuel est donc surement faux mais cela permet d'avoir une assez bonne estimation du Z.total.

Les codes 9 et 10 sont des codes qui ont ete ajoutes pour donner au code 2 la notion d'identification sans ambiguites.


NEW ID CODE MASKS

For greater ease of use, we also define new bit-mask constants which are equivalent to the previous ones, but have names which make their meaning more clear (and easier to remember) :

DEFINING CODE MASKS

Code masks defining acceptable particles for events are defined using the predefined bit-masks and the bit-wise "OR" as follows:

SetIDMask( kIDCode2 | kIDCode3 | kIDCode 4 | kIDCode6 ); // ID codes 2-4 & 6 are accepted, all others rejected
SetEMask ( kECode1 | kECode2 ); // accept calibration codes 1 & 2
void SetEMask(UChar_t codes)
void SetIDMask(UShort_t codes)

TESTING CODE MASKS

You can test the identification code of a particle using the TestIDCode method (see KVINDRAReconNuc on how to obtain the particle's code mask):

bool Bool_t
Bool_t TestIDCode(UShort_t code)

In this example, idchiosi=kTRUE if the particle's ID code indicates detection in a ChIo-Si telescope.

This method also works to test if a given code is accepted by the mask set for an event (see KVINDRAReconEvent).

Definition at line 116 of file KVINDRACodeMask.h.

#include <KVINDRACodeMask.h>

Inheritance diagram for KVINDRACodeMask:

Public Types

enum  EIDCodes {
  kIDCode_Gamma = kIDCode0 , kIDCode_Neutron = kIDCode1 , kIDCode_CsI = kIDCode2 , kIDCode_Phoswich = kIDCode2 ,
  kIDCode_SiCsI = kIDCode3 , kIDCode_SiLiCsI = kIDCode3 , kIDCode_Si75SiLi = kIDCode3 , kIDCode_ChIoSi = kIDCode4 ,
  kIDCode_ChIoCsI = kIDCode4 , kIDCode_ChIoSi75 = kIDCode4 , kIDCode_Bragg = kIDCode5 , kIDCode_Zmin = kIDCode5 ,
  kIDCode_ZminCsI = kIDCode9 , kIDCode_ArretChIo = kIDCode5 , kIDCode_ArretSi = kIDCode5 , kIDCode_MultihitChIo = kIDCode8
}
 
enum  EVedaCodes {
  kIDCode0 = BIT(0) , kIDCode1 = BIT(1) , kIDCode2 = BIT(2) , kIDCode3 = BIT(3) ,
  kIDCode4 = BIT(4) , kIDCode5 = BIT(5) , kIDCode6 = BIT(6) , kIDCode7 = BIT(7) ,
  kIDCode8 = BIT(8) , kIDCode9 = BIT(9) , kIDCode10 = BIT(10) , kIDCode11 = BIT(11) ,
  kIDCode14 = BIT(12) , kIDCode15 = BIT(13) , kECode0 = BIT(0) , kECode1 = BIT(1) ,
  kECode2 = BIT(2) , kECode3 = BIT(3) , kECode11 = BIT(4) , kECode15 = BIT(5) ,
  kECode4 = BIT(6) , kECode5 = BIT(7)
}
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVINDRACodeMask ()
 
virtual ~ KVINDRACodeMask ()
 
 ClassDefOverride (KVINDRACodeMask, 1)
 
void Clear (Option_t *="") override
 
void Copy (TObject &object) const override
 
UChar_t GetEMask ()
 
UShort_t GetIDMask ()
 
Bool_t IsNull () const
 
Bool_t operator& (KVINDRACodeMask &msk)
 
void SetEMask (UChar_t codes)
 
void SetIDMask (UShort_t codes)
 
Bool_t TestECode (UChar_t code)
 
Bool_t TestIDCode (UShort_t code)
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual TObjectClone (const char *newname="") const
 
virtual Int_t Compare (const TObject *obj) const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual const char * GetName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
virtual ULong_t Hash () const
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
virtual void Inspect () const
 
void InvertBit (UInt_t f)
 
virtual TClassIsA () const
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *vp)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, void *vp)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual void Print (Option_t *option="") const
 
virtual Int_t Read (const char *name)
 
virtual void RecursiveRemove (TObject *obj)
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetUniqueID (UInt_t uid)
 
virtual void Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 

Private Attributes

UChar_t fEMask
 8-bit mask with e-calibration codes More...
 
UShort_t fIDMask
 16-bit mask with id codes More...
 

Additional Inherited Members

- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Member Enumeration Documentation

◆ EIDCodes

Enumerator
kIDCode_Gamma 
kIDCode_Neutron 
kIDCode_CsI 
kIDCode_Phoswich 
kIDCode_SiCsI 
kIDCode_SiLiCsI 
kIDCode_Si75SiLi 
kIDCode_ChIoSi 
kIDCode_ChIoCsI 
kIDCode_ChIoSi75 
kIDCode_Bragg 
kIDCode_Zmin 
kIDCode_ZminCsI 
kIDCode_ArretChIo 
kIDCode_ArretSi 
kIDCode_MultihitChIo 

Definition at line 149 of file KVINDRACodeMask.h.

◆ EVedaCodes

Enumerator
kIDCode0 
kIDCode1 
kIDCode2 
kIDCode3 
kIDCode4 
kIDCode5 
kIDCode6 
kIDCode7 
kIDCode8 
kIDCode9 
kIDCode10 
kIDCode11 
kIDCode14 
kIDCode15 
kECode0 
kECode1 
kECode2 
kECode3 
kECode11 
kECode15 
kECode4 
kECode5 

Definition at line 124 of file KVINDRACodeMask.h.

Constructor & Destructor Documentation

◆ KVINDRACodeMask()

KVINDRACodeMask::KVINDRACodeMask ( )
inline

Default ctor - no mask defined

Definition at line 175 of file KVINDRACodeMask.h.

◆ ~ KVINDRACodeMask()

virtual KVINDRACodeMask::~ KVINDRACodeMask ( )
inlinevirtual

Default dtor

Definition at line 181 of file KVINDRACodeMask.h.

Member Function Documentation

◆ ClassDefOverride()

KVINDRACodeMask::ClassDefOverride ( KVINDRACodeMask  ,
 
)

◆ Clear()

void KVINDRACodeMask::Clear ( Option_t = "")
inlineoverridevirtual

Reimplemented from TObject.

Reimplemented in KVINDRACodes.

Definition at line 212 of file KVINDRACodeMask.h.

◆ Copy()

void KVINDRACodeMask::Copy ( TObject object) const
inlineoverridevirtual

Reimplemented from TObject.

Definition at line 167 of file KVINDRACodeMask.h.

◆ GetEMask()

UChar_t KVINDRACodeMask::GetEMask ( )
inline

Definition at line 192 of file KVINDRACodeMask.h.

◆ GetIDMask()

UShort_t KVINDRACodeMask::GetIDMask ( )
inline

Definition at line 188 of file KVINDRACodeMask.h.

◆ IsNull()

Bool_t KVINDRACodeMask::IsNull ( ) const
inline

Returns kTRUE if no mask is set

Definition at line 219 of file KVINDRACodeMask.h.

◆ operator&()

Bool_t KVINDRACodeMask::operator& ( KVINDRACodeMask msk)
inline

Definition at line 207 of file KVINDRACodeMask.h.

◆ SetEMask()

void KVINDRACodeMask::SetEMask ( UChar_t  codes)
inline

Definition at line 202 of file KVINDRACodeMask.h.

◆ SetIDMask()

void KVINDRACodeMask::SetIDMask ( UShort_t  codes)
inline

Definition at line 196 of file KVINDRACodeMask.h.

◆ TestECode()

Bool_t KVINDRACodeMask::TestECode ( UChar_t  code)

check calibration code against code mask always kTRUE if no mask set (fEMask==0)

Definition at line 38 of file KVINDRACodeMask.cpp.

◆ TestIDCode()

Bool_t KVINDRACodeMask::TestIDCode ( UShort_t  code)

check identification code against code mask always kTRUE if no mask set (fIDMask==0)

Definition at line 23 of file KVINDRACodeMask.cpp.

Member Data Documentation

◆ fEMask

UChar_t KVINDRACodeMask::fEMask
private

8-bit mask with e-calibration codes

Definition at line 120 of file KVINDRACodeMask.h.

◆ fIDMask

UShort_t KVINDRACodeMask::fIDMask
private

16-bit mask with id codes

Definition at line 119 of file KVINDRACodeMask.h.