1 #ifndef __KVGROUPRECONSTRUCTOR_H
2 #define __KVGROUPRECONSTRUCTOR_H
6 #include "KVReconstructedEvent.h"
7 #include <unordered_map>
39 std::unordered_map<std::string, KVIdentificationResult*>
id_by_type;
47 AbstractMethod(
"CalibrateCoherencyParticle(KVReconstructedNucleus*)");
#define ClassDefOverride(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)
KVReconstructedEvent * fGrpEvent
event containing particles reconstructed in this group
static bool fDoCalibration
int GetNFiredDets() const
KVIDTelescope * identifying_telescope
telescope which identified current particle
virtual void identify_particle(KVIDTelescope *idt, KVIdentificationResult *IDR, KVReconstructedNucleus &)
virtual void ReconstructParticle(KVReconstructedNucleus *part, const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node)
void Clear(Option_t *="") override
KVGroup * GetGroup() const
std::unordered_map< std::string, KVIdentificationResult * > id_by_type
identification results by type for current particle
KVReconstructedEvent * GetEventFragment() const
Bool_t fSecondaryAnalysis
virtual void CalibrateParticle(KVReconstructedNucleus *)
static KVGroupReconstructor * Factory(const TString &plugin="", const KVGroup *g=nullptr)
virtual void AddCoherencyParticles()
int nfireddets
set to true during secondary analysis
KVGroup * fGroup
the group where we are reconstructing
static bool fDoIdentification
void Calibrate()
Calculate and set energies of all Z-identified but uncalibrated charged particles in event.
static void SetDoCalibration(bool on=kTRUE)
virtual void SetGroup(const KVGroup *g)
virtual ~KVGroupReconstructor()
Destructor.
virtual KVReconNucTrajectory * get_recon_traj_for_particle(const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node)
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 *)
virtual void Reconstruct()
KVGroupReconstructor(const KVGroup *g=nullptr)
Default constructor.
void SetReconEventClass(TClass *c)
Instantiate event fragment object.
TString GetPartSeedCond() const
KVIdentificationResult partID
identification to be applied to current particle
Int_t GetNUnidentifiedInGroup()
void TreatStatusStopFirstStage(KVReconstructedNucleus &)
virtual void PostReconstructionProcessing()
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...
virtual Bool_t Identify(KVIdentificationResult *, Double_t x=-1., Double_t y=-1.)
Full result of one attempted particle identification.
Path through detector array used to reconstruct detected particle.
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