1#include "KVEventReconstructor.h"
2#include "KVDetectorEvent.h"
3#include "KVGroupReconstructor.h"
25 fArray(a), fEvent(e), fGroupReconstructor(a->GetNumberOfGroups(), 1)
37 fGroupReconstructor.SetOwner();
38 unique_ptr<KVSeqCollection> gr_list(
a->GetStructureTypeList(
"GROUP"));
40 TIter it(gr_list.get());
41 unsigned int N = gr_list->GetEntries();
45 Warning(
"KVEventReconstructor",
"Groups in array %s are not numbered the way I like...%u",
a->
GetName(), i);
49 if (fGroupReconstructor[i]) {
50 Warning(
"KVEventReconstructor",
"%s array has non-unique group numbers!!!",
a->
GetName());
53 fGroupReconstructor[i] =
a->GetReconstructorForGroup(
gr);
54 if (fGroupReconstructor[i]) {
64 Info(
"KVEventReconstructor",
"Initialised for %u groups of multidetector %s",
N, fArray->GetName());
65 if (GetDataSetEnv(fArray->GetDataSet(),
"EventReconstruction.DoIdentification",
kTRUE) || GetDataSetEnv(fArray->GetDataSet(),
"EventReconstruction.DoCalibration",
kTRUE)) {
66 if (GetDataSetEnv(fArray->GetDataSet(),
"EventReconstruction.DoIdentification",
kTRUE)) {
67 Info(
"KVEventReconstructor",
" -- identification of events will be performed");
68 fArray->PrintStatusOfIDTelescopes();
70 if (GetDataSetEnv(fArray->GetDataSet(),
"EventReconstruction.DoCalibration",
kTRUE)) {
71 Info(
"KVEventReconstructor",
" -- calibration of events will be performed");
72 fArray->PrintCalibStatusOfDetectors();
76 Info(
"KVEventReconstructor",
" -- no identification or calibration will be performed");
Base class for KaliVeda framework.
virtual void Copy(TObject &) const
Make a copy of this object.
KVUniqueNameList * GetGroups()
virtual void Clear(Option_t *opt="")
Base class for event reconstruction from array data.
KVDetectorEvent detev
list of hit groups in event
void MergeGroupEventFragments()
TObjArray fGroupReconstructor
array of group reconstructors
KVReconstructedEvent * GetEvent()
void Copy(TObject &obj) const
KVMultiDetArray * GetArray()
Int_t fNGrpRecon
number of group reconstructors for current event
void ReconstructEvent(const TSeqCollection *=nullptr)
std::vector< int > fHitGroups
group indices in current event
void Clear(Option_t *opt="")
Base class for particle reconstruction in one group of a detector array.
static void SetDoCalibration(bool on=kTRUE)
static void SetDoIdentification(bool on=kTRUE)
Group of detectors which can be treated independently of all others in array.
Base class for describing the geometry of a detector array.
virtual void GetDetectorEvent(KVDetectorEvent *detev, const TSeqCollection *fired_params=0)
virtual void SetReconParametersInEvent(KVReconstructedEvent *) const
Copy any parameters in fReconParameters in to the reconstructed event parameter list.
Event containing KVReconstructedNucleus nuclei reconstructed from hits in detectors.
void MergeEventFragments(TCollection *, Option_t *opt="")
void SetIncoming(Bool_t r=kTRUE)
void SetOutgoing(Bool_t r=kTRUE)
virtual Int_t GetEntries() const
void Print(Option_t *chopt="") const override
void Add(TObject *obj) override
virtual const char * GetName() const