KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVCsI.h
Go to the documentation of this file.
1 #ifndef KVCSI_H
2 #define KVCSI_H
3 
4 #include "KVINDRADetector.h"
6 
15 class KVCsI: public KVINDRADetector {
16 
18 
19 protected:
20  void init();
21 
22 public:
23  KVCsI();
24  KVCsI(Float_t thick, Float_t thickAl = 0 /* um */);
25  virtual ~ KVCsI();
26 
27  void SetAlThickness(Float_t thickAl /* um */);
28 
29  virtual void Print(Option_t* option = "") const;
30 
31  void SetACQParams();
32 
33  Double_t GetCorrectedEnergy(KVNucleus*, Double_t lum = -1., Bool_t transmission = kTRUE);
34 
36  {
37  if (n > 0 && n < 255) fPinLaser = (Char_t)n;
38  }
40  {
42  return (Int_t)fPinLaser;
43  }
44 
46 
47  virtual KVDetectorSignal* GetDetectorSignal(const TString& type) const
48  {
54 
55  if (type == "TotLight" && !KVDetector::GetDetectorSignal(type)) {
56  if (KVDetector::GetDetectorSignal("L_PedCor") && KVDetector::GetDetectorSignal("R_PedCor")) {
57  const_cast<KVCsI*>(this)->AddDetectorSignal(new KVINDRACsITotLightReconstructor(this));
58  }
59  }
61  }
63  {
68 
70  if (totlight && !totlight->IsRaw() && GetDetectorSignal("L_PedCor") && GetDetectorSignal("R_PedCor")) {
71  const_cast<KVSeqCollection&>(GetListOfDetectorSignals()).Remove(totlight);
72  delete totlight;
73  }
75  }
76 
77  ClassDef(KVCsI, 5) // The CsI(Tl) detectors of the INDRA array
78 };
79 
80 #endif
int Int_t
char Char_t
bool Bool_t
double Double_t
float Float_t
const char Option_t
#define ClassDef(name, id)
int type
CsI(Tl) scintillation detectors of the INDRA multidetector array.
Definition: KVCsI.h:15
virtual KVDetectorSignal * GetDetectorSignal(const TString &type) const
Definition: KVCsI.h:47
virtual ~ KVCsI()
void DeduceACQParameters(KVEvent *, KVNumberList &)
Definition: KVCsI.cpp:175
virtual void Print(Option_t *option="") const
Definition: KVCsI.cpp:96
void SetPinLaser(Int_t n)
Definition: KVCsI.h:35
Double_t GetCorrectedEnergy(KVNucleus *, Double_t lum=-1., Bool_t transmission=kTRUE)
Definition: KVCsI.cpp:145
Int_t GetPinLaser()
Definition: KVCsI.h:39
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:17
void RemoveCalibrators()
Definition: KVCsI.h:62
void SetACQParams()
Definition: KVCsI.cpp:127
void SetAlThickness(Float_t thickAl)
Definition: KVCsI.cpp:70
Output signal data produced by a detector.
virtual Bool_t IsRaw() const
virtual KVDetectorSignal * GetDetectorSignal(const TString &type) const
Definition: KVDetector.h:463
void AddDetectorSignal(KVDetectorSignal *ds)
Definition: KVDetector.h:736
virtual void RemoveCalibrators()
Definition: KVDetector.cpp:838
const KVSeqCollection & GetListOfDetectorSignals() const
Definition: KVDetector.h:732
Base class container for multi-particle events.
Definition: KVEvent.h:176
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:125
Strings used to represent a set of ranges of values.
Definition: KVNumberList.h:83
KaliVeda extensions to ROOT collection classes.
T * get_object(const char *name) const
const Int_t n