75 *(new_part->GetIdentificationResult(1)) = idr;
97 if (!
d->IsIdentified())
d->SetIDCode(KVINDRA::IDCodes::NO_IDENTIFICATION);
99 if (
d->GetIDCode() == KVINDRA::IDCodes::ID_CSI_PSA &&
d->GetZ() == 0) {
101 std::cout <<
" GAMMA\n\n";
104 auto traj = (
KVGeoDNTrajectory*)
d->GetStoppingDetector()->GetNode()->GetTrajectories()->First();
106 std::cout << idt << std::endl;
107 std::cout <<
"Type: " <<
d->GetStoppingDetector()->GetType() << std::endl;
108 std::cout <<
"Fired: " <<
d->GetStoppingDetector()->Fired(
GetPartSeedCond()) << std::endl;
109 std::cout <<
"ReadyforID: " <<
d->GetIdentifyingTelescope()->IsReadyForID() << std::endl;
184 partID.
IDcode = KVINDRA::IDCodes::ID_CSI_MASS_OUT_OF_RANGE;
196 PART.
SetIDCode(KVINDRA::IDCodes::NO_IDENTIFICATION);
206 if (csirl->second->IDattempted) {
209 csirl->second->IDcode = KVINDRA::IDCodes::ID_CSI_FRAGMENT;
210 partID = *(csirl->second);
216 csirl->second->IDcode = KVINDRA::IDCodes::ID_CSI_MASS_OUT_OF_RANGE;
217 partID = *(csirl->second);
253 n->SetECode(KVINDRA::ECodes::SOME_ENERGY_LOSSES_CALCULATED);
278 if (PART->
GetIDCode() != KVINDRA::IDCodes::ID_CSI_FRAGMENT && PART->
GetIDCode() != KVINDRA::IDCodes::ID_CSI_MASS_OUT_OF_RANGE) {
318 Double_t half_light = csi->GetDetectorSignalValue(
"TotLight") * 0.5;
320 double ecsi = 2.*csi->GetCorrectedEnergy(&tmp, half_light,
kFALSE);
349 n->SetECode(KVINDRA::ECodes::WARNING_CSI_MAX_ENERGY);
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
char * Form(const char *fmt,...)
virtual Bool_t IsType(const Char_t *typ) const
Base class for detector geometry description.
virtual Double_t GetMaxDeltaE(Int_t Z, Int_t A)
virtual Bool_t Fired(Option_t *opt="any") const
Double_t GetDetectorSignalValue(const KVString &type, const KVNameValueList ¶ms="") const
virtual void SetEResAfterDetector(Double_t e)
virtual Double_t GetDeltaEFromERes(Int_t Z, Int_t A, Double_t Eres)
void SetAnalysed(Bool_t b=kTRUE)
virtual Double_t GetCorrectedEnergy(KVNucleus *, Double_t e=-1., Bool_t transmission=kTRUE)
KVNameValueList * GetParameters() const
Path taken by particles through multidetector geometry.
const KVSeqCollection * GetIDTelescopes() const
Information on relative positions of detectors & particle trajectories.
const Char_t * GetName() const
Name of node is same as name of associated detector.
KVDetector * GetDetector() const
virtual KVReconstructedNucleus * ReconstructTrajectory(const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node)
KVIDTelescope * identifying_telescope
telescope which identified current particle
std::unordered_map< std::string, KVIdentificationResult * > id_by_type
identification results by type for current particle
KVReconstructedEvent * GetEventFragment() const
int nfireddets
number of fired detectors in group for current event
virtual void IdentifyParticle(KVReconstructedNucleus &PART)
Double_t GetTargetEnergyLossCorrection(KVReconstructedNucleus *ion)
void SetCalibrationStatus(KVReconstructedNucleus &PART, UShort_t code)
TString GetPartSeedCond() const
KVIdentificationResult partID
identification to be applied to current particle
virtual Bool_t Identify(KVIdentificationResult *, Double_t x=-1., Double_t y=-1.)
Base class for all detectors or associations of detectors in array which can identify charged particl...
virtual Bool_t IsReadyForID()
Reconstruct particles in INDRA groups.
void SetNoCalibrationStatus(KVReconstructedNucleus *n)
void IdentifyParticle(KVReconstructedNucleus &PART)
Bool_t CalculateChIoDEFromResidualEnergy(KVReconstructedNucleus *n, Double_t ERES)
double DoBeryllium8Calibration(KVReconstructedNucleus *n)
static TString CSI_ID_TYPE
virtual bool DoCoherencyAnalysis(KVReconstructedNucleus &)=0
void CalibrateParticle(KVReconstructedNucleus *PART)
void CheckCsIEnergy(KVReconstructedNucleus *n)
KVDetector * GetCsI(KVReconstructedNucleus *n)
virtual void DoCalibration(KVReconstructedNucleus *)
void SetBadCalibrationStatus(KVReconstructedNucleus *n)
KVReconstructedNucleus * ReconstructTrajectory(const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node)
KVDetector * theChio
the ChIo of the group
Full result of one attempted particle identification.
Bool_t IDOK
general quality of identification, =kTRUE if acceptable identification made
Int_t IDquality
specific quality code returned by identification procedure
Int_t IDcode
a general identification code for this type of identification
void IncrementValue(const Char_t *name, value_type value)
Description of properties and kinematics of atomic nuclei.
Int_t GetZ() const
Return the number of proton / atomic number.
Double_t GetEnergy() const
void SetParameter(const Char_t *name, ValType value) const
void SetEnergy(Double_t e)
Nuclei reconstructed from data measured by a detector array .
const KVReconNucTrajectory * GetReconstructionTrajectory() const
void SetIdentification(KVIdentificationResult *, KVIDTelescope *)
Bool_t IsIdentified() const
virtual Int_t GetIDCode() const
virtual void SetTargetEnergyLoss(Double_t e)
virtual void GetAnglesFromReconstructionTrajectory(Option_t *opt="random")
void SetIDCode(UShort_t s)
virtual TObject * FindObjectByType(const Char_t *) const
const char * Data() const