KaliVeda
Toolkit for HIC analysis
KVIDChIoSi.cpp
1 /***************************************************************************
2  KVIDChIoSi.cpp - description
3  -------------------
4  begin : Fri Feb 20 2004
5  copyright : (C) 2004 by J.D. Frankland
6  email : frankland@ganil.fr
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #include "KVIDChIoSi.h"
19 #include "KVIDGChIoSi.h"
20 #include "KVIdentificationResult.h"
21 
24 //KVIDChIoSi
25 //
26 //Identification in ChIo-Si matrices of INDRA
27 //
29 
30 //________________________________________________________________________________________//
31 
32 
33 
37 {
38  //Particle identification and code setting using identification grid KVIDGChIoSi
39 
41 
42  //if point lies above Zmax line, we give Zmax as Z of particle (real Z is >= Zmax)
43  //general ID code = 5 (Zmin)
44  if (IDR->IDquality == KVIDZAGrid::kICODE7) {
45  IDR->IDcode = 5;//KVINDRA::ID_STOPPED_IN_FIRST_STAGE;
46  }
47  //Identified particles with subcode kID_LeftOfBragg are given
48  //general ID code 5 (Zmin).
49  if (IDR->IDquality == KVIDGChIoSi::k_LeftOfBragg) {
50  IDR->IDcode = 5;//KVINDRA::ID_STOPPED_IN_FIRST_STAGE;
51  }
52  //unidentifiable particles with subcode kID_BelowSeuilSi are given
53  //general ID code 5 (Zmin)
54  if (IDR->IDquality == KVIDGChIoSi::k_BelowSeuilSi) {
55  IDR->IDcode = 5;//KVINDRA::ID_STOPPED_IN_FIRST_STAGE;
56  IDR->SetComment("point to identify left of Si threshold line (bruit/arret ChIo?)");
57  }
58  if (IDR->IDquality == KVIDGChIoSi::k_RightOfEmaxSi)
59  IDR->SetComment("point to identify has E_Si > Emax_Si i.e. codeur is saturated. Unidentifiable");
60 
61  return kTRUE;
62 }
63 
64 
65 
66 
69 
71 {
72  // Initialisation of telescope before identification.
73 
75  fchio = dynamic_cast<KVChIo*>(GetDetector(1));
76 }
77 
78 
79 
84 
86 {
87  // Overrides KVIDTelescope method
88  // We lower the calculated energy threshold to be better in agreement with data
89  // EINC argument not used as ChIo-Si is always first telescope
90 
91  Double_t emin = (1.9 / 2.5) * (fchio->GetEIncOfMaxDeltaE(ION->GetZ(), ION->GetA()));
92  return (ION->GetEnergy() > emin);
93 
94 }
95 
96 
bool Bool_t
double Double_t
constexpr Bool_t kTRUE
Ionisation chamber detectors of the INDRA multidetector array.
Definition: KVChIo.h:30
virtual Double_t GetEIncOfMaxDeltaE(Int_t Z, Int_t A)
Identification in ChIo-Si telescopes of INDRA.
Definition: KVIDChIoSi.h:30
virtual void Initialize()
Initialisation of telescope before identification.
Definition: KVIDChIoSi.cpp:70
KVChIo * fchio
Definition: KVIDChIoSi.h:32
Bool_t CheckTheoreticalIdentificationThreshold(KVNucleus *, Double_t=0.0)
Definition: KVIDChIoSi.cpp:85
virtual Bool_t Identify(KVIdentificationResult *, Double_t x=-1., Double_t y=-1.)
KVDetector * GetDetector(UInt_t n) const
virtual void Initialize(void)
Full result of one attempted particle identification.
Description of properties and kinematics of atomic nuclei.
Definition: KVNucleus.h:126
Int_t GetA() const
Definition: KVNucleus.cpp:802
Int_t GetZ() const
Return the number of proton / atomic number.
Definition: KVNucleus.cpp:773
Double_t GetEnergy() const
Definition: KVParticle.h:621
Double_t y[n]
Double_t x[n]
ClassImp(TPyArg)