KaliVeda
Toolkit for HIC analysis
KVINDRADetector.h
1 
4 #ifndef __KVINDRADETECTOR_H
5 #define __KVINDRADETECTOR_H
6 
7 #include "KVDetector.h"
8 #include "KVINDRATelescope.h"
9 
17 class KVINDRADetector : public KVDetector {
18 protected:
19 
22 
23 public:
25  : fChIo(nullptr)
26  {
27  }
28  virtual ~KVINDRADetector() {}
29  KVINDRADetector(const Char_t* type, const Float_t thick = 0.0)
30  : KVDetector(type, thick), fChIo(nullptr)
31  {
32  }
33 
35  {
37  return (KVINDRATelescope*)GetParentStructure("TELESCOPE");
38  }
39 
40  virtual void SetSegment(UShort_t)
41  {
45  }
46 
47  void SetType(const Char_t* t)
48  {
50  TString T(t);
51  T.ToUpper();
53  }
54 
55  const Char_t* GetArrayName();
57  {
58  if (GetTelescope()) return GetTelescope()->GetRingNumber();
61  name.Begin("_");
62  KVString type = name.Next(kTRUE);
63  KVString index = name.Next(kTRUE);
64  if (type == "SILI" || type == "SI75") return index.Atoi();
65  return index.Atoi() / 100;
66  }
68  {
69  if (GetTelescope()) return GetTelescope()->GetNumber();
72  name.Begin("_");
73  KVString type = name.Next(kTRUE);
74  KVString index = name.Next(kTRUE);
75  if (type == "SILI" || type == "SI75") return 0; //no idea
76  return index.Atoi() % 100;
77  }
78  Int_t GetIndex() const
79  {
81  return 100 * GetRingNumber() + GetModuleNumber();
82  }
83 
85  {
86  return (fChIo ? fChIo : const_cast<KVINDRADetector*>(this)->FindChIo());
87  }
88 
89  void SetThickness(Double_t thick);
90 
91  ClassDef(KVINDRADetector, 2) //Detectors of INDRA array
92 };
93 
94 #endif
int Int_t
unsigned int UInt_t
unsigned short UShort_t
char Char_t
float Float_t
double Double_t
constexpr Bool_t kTRUE
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char name[80]
virtual void SetType(const Char_t *str)
Definition: KVBase.h:173
UInt_t GetNumber() const
Definition: KVBase.h:220
Base class for detector geometry description.
Definition: KVDetector.h:160
KVGeoStrucElement * GetParentStructure(const Char_t *type, const Char_t *name="") const
Base class for detectors of INDRA array.
void SetType(const Char_t *t)
UInt_t GetRingNumber() const
void SetThickness(Double_t thick)
KVINDRADetector(const Char_t *type, const Float_t thick=0.0)
UInt_t GetModuleNumber() const
virtual ~KVINDRADetector()
virtual void SetSegment(UShort_t)
const Char_t * GetArrayName()
KVINDRATelescope * GetTelescope() const
KVINDRADetector * FindChIo()
KVINDRADetector * fChIo
pointer to ionisation chamber in group associated to this detector
KVINDRADetector * GetChIo() const
Int_t GetIndex() const
Base class for telescopes in INDRA array.
Int_t GetRingNumber() const
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Definition: KVString.h:73
const char * GetName() const override
double T(double x)