KaliVeda
Toolkit for HIC analysis
KVCsI.h
1 #ifndef KVCSI_H
2 #define KVCSI_H
3 
4 #include "KVINDRADetector.h"
5 #include "KVINDRACsITotLightReconstructor.h"
6 
16 class KVCsI: public KVINDRADetector {
17 
18  Char_t fPinLaser;
19 
20 protected:
21  void init();
22 
23 public:
24  KVCsI();
25  KVCsI(Float_t thick, Float_t thickAl = 0 /* um */);
26 
27  void SetAlThickness(Float_t thickAl /* um */);
28 
30 
31  Double_t GetCorrectedEnergy(KVNucleus*, Double_t lum = -1., Bool_t transmission = kTRUE);
32 
33  void SetPinLaser(Int_t n)
34  {
35  if (n > 0 && n < 255) fPinLaser = (Char_t)n;
36  }
37  Int_t GetPinLaser()
38  {
40  return (Int_t)fPinLaser;
41  }
42 
44 
45  virtual KVDetectorSignal* GetDetectorSignal(const KVString& type) const
46  {
52 
53  if (type == "TotLight" && !KVDetector::GetDetectorSignal(type)) {
54  if (KVDetector::GetDetectorSignal("L_PedCor") && KVDetector::GetDetectorSignal("R_PedCor")) {
55  const_cast<KVCsI*>(this)->AddDetectorSignal(new KVINDRACsITotLightReconstructor(this));
56  }
57  }
58  return KVDetector::GetDetectorSignal(type);
59  }
61  {
66 
68  if (totlight && !totlight->IsRaw() && GetDetectorSignal("L_PedCor") && GetDetectorSignal("R_PedCor")) {
69  const_cast<KVSeqCollection&>(GetListOfDetectorSignals()).Remove(totlight);
70  delete totlight;
71  }
73  }
74 
75  ClassDef(KVCsI, 5) // The CsI(Tl) detectors of the INDRA array
76 };
77 
78 #endif
CsI(Tl) scintillation detectors of the INDRA multidetector array.
Definition: KVCsI.h:16
void DeduceACQParameters(KVEvent *, KVNumberList &)
Definition: KVCsI.cpp:121
void SetPinLaser(Int_t n)
Definition: KVCsI.h:33
Double_t GetCorrectedEnergy(KVNucleus *, Double_t lum=-1., Bool_t transmission=kTRUE)
void SetACQParams();
Definition: KVCsI.cpp:87
Int_t GetPinLaser()
Definition: KVCsI.h:37
KVCsI()
Definition: KVCsI.cpp:31
void init()
initialise non-persistent pointers
Definition: KVCsI.cpp:14
Char_t fPinLaser
number of pin laser used to control stability of crystal
Definition: KVCsI.h:18
virtual KVDetectorSignal * GetDetectorSignal(const KVString &type) const
Definition: KVCsI.h:45
void RemoveCalibrators()
Definition: KVCsI.h:60
void SetAlThickness(Float_t thickAl)
Definition: KVCsI.cpp:70
Base class for output signal data produced by a detector.
virtual Bool_t IsRaw() const
void AddDetectorSignal(KVDetectorSignal *ds)
Definition: KVDetector.h:261
virtual KVDetectorSignal * GetDetectorSignal(const KVString &type) const
Definition: KVDetector.h:533
virtual void RemoveCalibrators()
Definition: KVDetector.cpp:700
const KVSeqCollection & GetListOfDetectorSignals() const
Definition: KVDetector.h:786
Abstract base class container for multi-particle events.
Definition: KVEvent.h:67
Calculation of light output from fast and slow components for INDRA CsI detectors.
Base class for detectors of INDRA array.
Description of properties and kinematics of atomic nuclei.
Definition: KVNucleus.h:126
Strings used to represent a set of ranges of values.
Definition: KVNumberList.h:85
KaliVeda extensions to ROOT collection classes.
T * get_object(const TString &name) const
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Definition: KVString.h:73