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:
25  {
27  set_type("CSI");
28  SetLabel("CSI");//for use with KVReconNucTrajectory
29  }
30 
31  Double_t GetCorrectedEnergy(KVNucleus*, Double_t lum = -1., Bool_t transmission = kTRUE) override;
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  KVDetectorSignal* GetDetectorSignal(const KVString& type) const override
43  {
49 
50  if (type == "TotLight" && !KVDetector::GetDetectorSignal(type)) {
51  if (KVDetector::GetDetectorSignal("L_PedCor") && KVDetector::GetDetectorSignal("R_PedCor")) {
52  const_cast<KVCsI*>(this)->AddDetectorSignal(new KVINDRACsITotLightReconstructor(this));
53  }
54  }
55  return KVDetector::GetDetectorSignal(type);
56  }
57  void RemoveCalibrators() override
58  {
63 
65  if (totlight && !totlight->IsRaw() && GetDetectorSignal("L_PedCor") && GetDetectorSignal("R_PedCor")) {
66  const_cast<KVSeqCollection&>(GetListOfDetectorSignals()).Remove(totlight);
67  delete totlight;
68  }
70  }
71 
72  ClassDefOverride(KVCsI, 5) // The CsI(Tl) detectors of the INDRA array
73 };
74 
75 #endif
void SetLabel(const Char_t *lab)
Definition: KVBase.h:201
CsI(Tl) scintillation detectors of the INDRA multidetector array.
Definition: KVCsI.h:16
void SetPinLaser(Int_t n)
Definition: KVCsI.h:33
Int_t GetPinLaser()
Definition: KVCsI.h:37
KVCsI()
Definition: KVCsI.h:24
KVDetectorSignal * GetDetectorSignal(const KVString &type) const override
Definition: KVCsI.h:42
Double_t GetCorrectedEnergy(KVNucleus *, Double_t lum=-1., Bool_t transmission=kTRUE) override
Definition: KVCsI.cpp:16
void RemoveCalibrators() override
Definition: KVCsI.h:57
Base class for output signal data produced by a detector.
virtual Bool_t IsRaw() const
KVDetectorSignal * AddDetectorSignal(const KVString &type)
virtual KVDetectorSignal * GetDetectorSignal(const KVString &type) const
Definition: KVDetector.h:543
virtual void RemoveCalibrators()
Definition: KVDetector.cpp:684
const KVSeqCollection & GetListOfDetectorSignals() const
Definition: KVDetector.h:823
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:108
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