1 #include "KVINDRAFilterEtalonGroupReconstructor.h"
27 auto ring_number =
dynamic_cast<KVINDRADetector*
>(det)->GetRingNumber();
29 etalons[ring_number].etalon_trajectory = traj;
30 etalons[ring_number].csi_etalon = det->GetNode();
32 etalons[ring_number].sili = traj->
GetNode(
Form(
"SILI_%d", ring_number))->GetDetector();
38 auto& etalel = etal.second;
39 if (traj != etalel.etalon_trajectory) {
40 if (traj->
BeginsAt(etalel.csi_etalon)) {
41 etalel.not_etalon_trajectory = traj;
50 bool not_an_etalon =
true;
52 if (traj == etal.second.etalon_trajectory || traj == etal.second.not_etalon_trajectory) {
53 not_an_etalon =
false;
56 if (not_an_etalon) trajectories.
Add(traj);
60 trajectories.
Add(etal.second.etalon_trajectory);
61 trajectories.
Add(etal.second.not_etalon_trajectory);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t g
char * Form(const char *fmt,...)
Path taken by particles through multidetector geometry.
KVGeoDetectorNode * GetNextNode() const
Bool_t Contains(const Char_t *name) const
void IterateFrom(const KVGeoDetectorNode *node0=nullptr) const
Bool_t BeginsAt(const Char_t *node_name) const
KVGeoDetectorNode * GetNode(const Char_t *name) const
KVDetector * GetDetector() const
KVGroup * GetGroup() const
Group of detectors which can be treated independently of all others in array.
void ReplaceTrajectories(const TCollection *c)
Base class for detectors of INDRA array.
Special reconstructor for filtered simulations and INDRA etalon groups.
std::map< int, etalon_telescope > etalons
KVINDRAFilterEtalonGroupReconstructor(const KVGroup *g=nullptr)
std::map< const KVGeoDetectorNode *, int > etalon_csi_rings
Reconstruct simulated events after filtering with INDRA.
void Add(TObject *obj) override