1#ifndef __KVGROUPRECONSTRUCTOR_H
2#define __KVGROUPRECONSTRUCTOR_H
6#include "KVReconstructedEvent.h"
8#include <unordered_map>
42 std::unordered_map<std::string, KVIdentificationResult*>
id_by_type;
50 AbstractMethod(
"CalibrateCoherencyParticle(KVReconstructedNucleus*)");
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Base class for KaliVeda framework.
Path taken by particles through multidetector geometry.
Information on relative positions of detectors & particle trajectories.
Base class for particle reconstruction in one group of a detector array.
virtual KVReconstructedNucleus * ReconstructTrajectory(const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node)
KVGroup * GetGroup() const
KVReconstructedEvent * fGrpEvent
event containing particles reconstructed in this group
static bool fDoCalibration
int GetNFiredDets() const
KVIDTelescope * identifying_telescope
telescope which identified current particle
void ReconstructParticle(KVReconstructedNucleus *part, const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node)
std::unordered_map< std::string, KVIdentificationResult * > id_by_type
identification results by type for current particle
virtual void CalibrateParticle(KVReconstructedNucleus *)
virtual void AddCoherencyParticles()
int nfireddets
number of fired detectors in group for current event
KVGroup * fGroup
the group where we are reconstructing
static bool fDoIdentification
void Calibrate()
Calculate and set energies of all identified but uncalibrated particles in event.
static void SetDoCalibration(bool on=kTRUE)
virtual ~KVGroupReconstructor()
Destructor.
KVReconstructedEvent * GetEventFragment() const
TString fPartSeedCond
condition for seeding reconstructed particles
Double_t GetTargetEnergyLossCorrection(KVReconstructedNucleus *ion)
void SetCalibrationStatus(KVReconstructedNucleus &PART, UShort_t code)
Int_t GetNIdentifiedInGroup()
virtual void IdentifyParticle(KVReconstructedNucleus &)
static void SetDoIdentification(bool on=kTRUE)
virtual void CalibrateCoherencyParticle(KVReconstructedNucleus *)
void SetReconEventClass(TClass *c)
Instantiate event fragment object.
TString GetPartSeedCond() const
KVIdentificationResult partID
identification to be applied to current particle
Int_t GetNUnidentifiedInGroup()
KVGroupReconstructor()
Default constructor.
void TreatStatusStopFirstStage(KVReconstructedNucleus &)
virtual void PostReconstructionProcessing()
virtual void SetGroup(KVGroup *g)
std::vector< particle_to_add_from_coherency_analysis > coherency_particles
Group of detectors which can be treated independently of all others in array.
Base class for all detectors or associations of detectors in array which can identify charged particl...
Full result of one attempted particle identification.
Event containing KVReconstructedNucleus nuclei reconstructed from hits in detectors.
Nuclei reconstructed from data measured by a detector array .
Bool_t IsIdentified() const
virtual void SetECode(UChar_t s)
void AbstractMethod(const char *method) const
informations required to add a particle to the event which is revealed by an inconsistency between th...
Int_t max_id_result_index
last KVIdentificationResult in original_particle's list
Int_t first_id_result_to_copy
number of KVIdentificationResult (in original_particle's list) corresponding to identification of the...
KVIDTelescope * identifying_telescope
telescope which identified current particle
KVGeoDNTrajectory * stopping_trajectory
trajectory on which new particle stopped
KVReconstructedNucleus * original_particle
particle whose identification/calibration revealed presence of pile-up
KVGeoDetectorNode * stopping_detector_node
detector node in which new particle stopped