KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVINDRAReconNuc.h
1/***************************************************************************
2 kvdetectedparticle.h - description
3 -------------------
4 begin : Thu Oct 10 2002
5 copyright : (C) 2002 by J.D. Frankland
6 email : frankland@ganil.fr
7
8$Id: KVINDRAReconNuc.h,v 1.39 2009/04/03 14:28:37 franklan Exp $
9 ***************************************************************************/
10
11/***************************************************************************
12 * *
13 * This program is free software; you can redistribute it and/or modify *
14 * it under the terms of the GNU General Public License as published by *
15 * the Free Software Foundation; either version 2 of the License, or *
16 * (at your option) any later version. *
17 * *
18 ***************************************************************************/
19
20#ifndef KVINDRADETPART_H
21#define KVINDRADETPART_H
22
23
24#include "KVReconstructedNucleus.h"
25#include "KVINDRADetector.h"
26#include "KVTelescope.h"
27#include "KVINDRACodes.h"
28#include "KVINDRAIDTelescope.h"
29
30class KVChIo;
31class KVSilicon;
32class KVSi75;
33class KVSiLi;
34class KVCsI;
35
57
59
102
113
119
120 void CheckCsIEnergy();
121
134 void DoGammaCalibration();
139
140public:
141
143 {
147 return fCoherent;
148 };
150 {
154 return fPileup;
155 };
157 {
161 return fPileupSi75;
162 };
164 {
168 return fPileupSiLi;
169 };
171 {
175 return fPileupChIo;
176 };
178 {
184
186 };
189 void init();
190 virtual ~ KVINDRAReconNuc();
191
192#if ROOT_VERSION_CODE >= ROOT_VERSION(3,4,0)
193 virtual void Copy(TObject&) const;
194#else
195 virtual void Copy(TObject&);
196#endif
197 virtual void Clear(Option_t* t = "");
198 void Print(Option_t* option = "") const;
199
201 {
202 if (GetTelescope()) {
203 return GetTelescope()->GetRingNumber();
204 }
205 else {
206 return 0;
207 }
208 };
210 {
211 if (GetTelescope()) {
212 return GetTelescope()->GetNumber();
213 }
214 else {
215 return 0;
216 }
217 };
218
219 virtual void Identify();
224 virtual void CalibrateRings1To9();
225 virtual void CalibrateRings10To17();
226 virtual void Calibrate();
227
229 {
236
237 return fEChIo;
238 };
240 {
247
248 return fESi;
249 };
251 {
253
254 return fESi75;
255 };
257 {
259
260 return fESiLi;
261 };
263 {
265 return fECsI;
266 };
267
269 {
273
274 fEChIo = val;
275 };
277 {
284
285 fESi = val;
286 };
288 {
290 fESi75 = val;
291 };
293 {
295 fESiLi = val;
296 };
298 {
300 fECsI = val;
301 };
302
303 KVChIo* GetChIo();
304 KVSilicon* GetSi();
305 KVSi75* GetSi75();
306 KVSiLi* GetSiLi();
307 KVCsI* GetCsI();
313
315 {
316 return fCodes;
317 }
318 void SetIDCode(UShort_t code_mask)
319 {
321 GetCodes().SetIDCode(code_mask);
323 }
324
325 void SetECode(UChar_t code_mask)
326 {
328 GetCodes().SetECode(code_mask);
330 }
332 {
338 if (GetParameters()->HasIntParameter("IDCODE")) return GetParameters()->GetIntValue("IDCODE");
339 return GetCodes().GetVedaIDCode();
340 }
342 {
348 if (GetParameters()->HasIntParameter("ECODE")) return GetParameters()->GetIntValue("ECODE");
349 return GetCodes().GetVedaECode();
350 }
351
352 Int_t GetIDSubCode(const Char_t* id_tel_type = "") const;
353 const Char_t* GetIDSubCodeString(const Char_t* id_tel_type = "") const;
355 {
357 return (GetStoppingDetector() ? dynamic_cast<KVINDRADetector*>(GetStoppingDetector())->GetTelescope() : 0);
358 }
359
360 ClassDef(KVINDRAReconNuc, 12) //Nucleus identified by INDRA array
361};
362
363#endif
int Int_t
unsigned int UInt_t
bool Bool_t
unsigned short UShort_t
unsigned char UChar_t
char Char_t
float Float_t
double Double_t
const char Option_t
#define ClassDef(name, id)
UInt_t GetNumber() const
Definition KVBase.h:220
Ionisation chamber detectors of the INDRA multidetector array.
Definition KVChIo.h:30
CsI(Tl) scintillation detectors of the INDRA multidetector array.
Definition KVCsI.h:16
Identification code structure for INDRA data (obsolete)
void SetIDCode(UShort_t)
Set ID code - the argument given is one of the EVedaCodes or EIDCodes bitmasks.
UChar_t GetVedaECode()
Returns VEDA6 energy calibration code.
UChar_t GetVedaIDCode()
Returns VEDA6 identification code.
void SetECode(UChar_t)
Set E code - the argument given is one of the EVedaCodes or EIDCodes bitmasks.
Base class for detectors of INDRA array.
Nuclei reconstructed from data measured in the INDRA array.
Bool_t StoppedInSi()
Returns kTRUE if particle stopped in Si detector.
void SetEnergyCsI(Float_t val)
Bool_t StoppedInChIo()
Returns kTRUE if particle stopped in ChIo detector.
void SetEnergySi(Float_t val)
void CalculateSi75DEFromResidualEnergy(Double_t ERES)
virtual Bool_t CoherencyEtalons(KVIdentificationResult &theID)
Called by Identify() for particles stopping in etalon modules of Rings 10-17.
Float_t GetEnergySiLi()
Bool_t fCorrectCalib
set to kTRUE in Streamer if calibration needs correction
void SetEnergyChIo(Float_t val)
virtual void Identify()
Bool_t fCoherentSi75SiLiCsI
coherency of Si75-SiLi and SiLi-CsI/CsI identifications
const Char_t * GetIDSubCodeString(const Char_t *id_tel_type="") const
Float_t fESi
si contribution to energy
Bool_t fPileupChIo
apparent pileup in ChIo, revealed by inconsistency between CsI & ChIo-CsI identifications
Bool_t IsSiPileup() const
void SetEnergySi75(Float_t val)
Int_t GetECode() const
Float_t GetEnergySi75()
KVSilicon * GetSi()
KVINDRACodes fCodes
VEDA6-style calibration and identification codes.
virtual Bool_t CoherencySiCsI(KVIdentificationResult &theID)
Bool_t fPileupSi75
apparent pileup in Si75, revealed by inconsistency between CsI/SiLi-CsI & ChIo-Si75 identifications
UInt_t GetRingNumber(void) const
virtual void Clear(Option_t *t="")
reset nucleus' properties
virtual void Copy(TObject &) const
void DoGammaCalibration()
no calibration is performed for gammas
void SetBadCalibrationStatus()
void CalculateSiLiDEFromResidualEnergy(Double_t ERES)
Float_t fECsI
csi contribution to energy
Bool_t IsSiLiPileup() const
Bool_t StoppedInCsI()
Returns kTRUE if particle stopped in CsI detector.
virtual void Calibrate()
virtual Bool_t CoherencyChIoCsI(KVIdentificationResult &theID)
void init()
default initialisations
Bool_t IsSi75Pileup() const
KVINDRATelescope * GetTelescope() const
void SetEnergySiLi(Float_t val)
Bool_t fPileupSiLi
apparent pileup in SiLi, revealed by inconsistency between CsI & Si75-SiLi identifications
Bool_t StoppedInSi75()
Returns kTRUE if particle stopped in Si75 detector.
void Print(Option_t *option="") const
virtual void CalibrateRings1To9()
KVINDRAReconNuc()
default ctor
Bool_t CalculateSiliconDEFromResidualEnergy()
Bool_t fUseFullChIoEnergyForCalib
decided by coherency analysis
Int_t GetIDSubCode(const Char_t *id_tel_type="") const
Float_t fESiLi
sili contribution to energy
virtual void CalibrateRings10To17()
UInt_t GetModuleNumber(void) const
void SetNoCalibrationStatus()
Bool_t fPileup
apparent pileup in Si, revealed by inconsistency between CsI & Si-CsI identifications
Float_t GetEnergyChIo()
Bool_t IsChIoPileup() const
Int_t GetIDCode() const
Float_t fEChIo
chio contribution to energy
Bool_t UseFullChIoEnergyForCalib() const
void SetIDCode(UShort_t code_mask)
virtual Bool_t CoherencyChIoSiCsI(KVIdentificationResult)
KVINDRACodes & GetCodes() const
void CalculateChIoDEFromResidualEnergy(Double_t ERES)
calculate fEChIo from residual energy
Bool_t fIncludeEtalonsInCalibration
for etalon modules:particle passed through Si75/SiLi
Bool_t fCoherent
coherency of CsI & Si-CsI identifications
void SetECode(UChar_t code_mask)
Bool_t AreSiCsICoherent() const
Float_t fESi75
si75 contribution to energy
Bool_t StoppedInSiLi()
Returns kTRUE if particle stopped in Si detector.
Base class for telescopes in INDRA array.
Int_t GetRingNumber() const
Full result of one attempted particle identification.
Int_t GetIntValue(const Char_t *name) const
KVNameValueList * GetParameters() const
Definition KVParticle.h:815
void SetEnergy(Double_t e)
Definition KVParticle.h:599
Nuclei reconstructed from data measured by a detector array .
virtual void SetIDCode(UShort_t s)
KVDetector * GetStoppingDetector() const
void SetDetector(int i, KVDetector *);
virtual void SetECode(UChar_t s)
80um silicon detector for INDRA etalon telescopes
Definition KVSilicon.h:61
2mm + 40um dead zone Si(Li) detector for INDRA etalon telescopes
Definition KVSilicon.h:79
Silicon detectors of the INDRA array.
Definition KVSilicon.h:19