KaliVeda
Toolkit for HIC analysis
KVINDRAFilterEtalonGroupReconstructor.h
1 #ifndef __KVINDRAFILTERETALONGROUPRECONSTRUCTOR_H
2 #define __KVINDRAFILTERETALONGROUPRECONSTRUCTOR_H
3 
4 #include "KVINDRAFilterGroupReconstructor.h"
5 
20  KVDetector* sili = nullptr;
23  };
24  std::map<int, etalon_telescope> etalons;
25  std::map<const KVGeoDetectorNode*, int> etalon_csi_rings;
26 public:
28 
30  {
43 
44  KVReconstructedNucleus* rnuc = nullptr;
45  if (auto ring = etalon_csi_rings[node]) { // is node the CSI behind the etalons?
46  if (traj == etalons[ring].etalon_trajectory) { // are we on the etalon trajectory?
48  if (node->GetDetector()->Fired(GetPartSeedCond()) && !node->GetDetector()->IsAnalysed() && etalons[ring].sili->Fired()) {
49  ++nfireddets;
50  rnuc = GetEventFragment()->AddParticle();
51  }
52  else
53  rnuc = nullptr;
54  }
55  else { // on short CSI/CI/ trajectory
56  if (node->GetDetector()->Fired(GetPartSeedCond()) && !node->GetDetector()->IsAnalysed()) {
57  ++nfireddets;
58  rnuc = GetEventFragment()->AddParticle();
59  }
60  else
61  rnuc = nullptr;
62  }
63  }
64  else // all other stopping detectors/trajectories use standard treatment
66  return rnuc;
67  }
68 
70 };
71 
72 #endif
#define ClassDefOverride(name, id)
Path taken by particles through multidetector geometry.
Information on relative positions of detectors & particle trajectories.
KVDetector * GetDetector() const
virtual KVReconstructedNucleus * ReconstructTrajectory(const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node)
KVReconstructedEvent * GetEventFragment() const
int nfireddets
set to true during secondary analysis
TString GetPartSeedCond() const
Group of detectors which can be treated independently of all others in array.
Definition: KVGroup.h:19
Special reconstructor for filtered simulations and INDRA etalon groups.
KVReconstructedNucleus * ReconstructTrajectory(const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node) override
std::map< const KVGeoDetectorNode *, int > etalon_csi_rings
Reconstruct simulated events after filtering with INDRA.
Nuclei reconstructed from data measured by a detector array .
Particle * AddParticle()