24 fCloseGeometryNow =
kFALSE;
28 fIDTelescopes->SetOwner(
kFALSE);
82 Int_t group_offset = 0;
96 if (myname !=
"") myname +=
"-";
100 Error(
"Build",
"NULL pointer returned by MakeMultiDetector");
116 TIter next(groups.get());
120 group->SetNumber(group_number + group_offset);
124 group_offset += groups->GetEntries();
171 if (!DetList->
IsEmpty())
break;
194 Warning(
"AcceptParticleForAnalysis",
"ReconstructedNucleus has ARRAY=%s but no KVMultiDetArray with this name in set-up",
198 Warning(
"AcceptParticleForAnalysis",
"ReconstructedNucleus has no ARRAY parameter: cannot determine correct KVMultiDetArray");
295 m.IncrementValue((*it).GetParameters()->GetStringValue(
"ARRAY"), 1);
KVMultiDetArray * gMultiDetArray
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
R__EXTERN TGeoManager * gGeoManager
char * Form(const char *fmt,...)
static const Char_t * GetDataSetEnv(const Char_t *dataset, const Char_t *type, const Char_t *defval)
Description of an experimental run in database ,.
Base class to describe database of an experiment ,.
void SetDBType(const TString &s)
TString GetDBType() const
Describe an experimental set-up coupling two or more different detector arrays.
void prepare_to_handle_new_raw_data()
clear all acquisition parameters etc of each array before reading new raw data event
KVExpSetUp()
Default constructor.
void MakeCalibrationTables(KVExpDB *)
virtual void AcceptAllECodes()
void SetCalibratorParameters(KVDBRun *, const TString &="")
Set calibrators for all detectors for the run.
void GetArrayMultiplicities(KVReconstructedEvent *, KVNameValueList &, Option_t *="")
KVList fMDAList
list of multidetarrays
virtual void AcceptParticleForAnalysis(KVReconstructedNucleus *) const
void Clear(Option_t *opt="")
call Clear(opt) for each multidetector in the setup
virtual void AcceptAllIDCodes()
void FillDetectorList(KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames)
virtual ~KVExpSetUp()
Destructor.
void GetDetectorEvent(KVDetectorEvent *detev, const TSeqCollection *fired_params=nullptr)
void CheckStatusOfDetectors(KVDBRun *, const TString &="")
Check status (present, working) for all detectors for the run.
virtual void Build(Int_t run=-1)
void SetReconParametersInEvent(KVReconstructedEvent *) const
Add contents of fReconParameters of each sub-array to the event parameter list.
void copy_fired_parameters_to_recon_param_list()
Bool_t handle_raw_data_event_mfmframe(const MFMCommonFrame &)
virtual void InitializeIDTelescopes()
Override base method in order to set general identification codes for telescopes in each array.
KVString lmultidetarrayclasses
virtual KVMultiDetArray * GetArray(const Char_t *name) const
KVGroupReconstructor * GetReconstructorForGroup(const KVGroup *) const
void SetRawDataFromReconEvent(KVNameValueList &)
void AbsorbDetectorPaths(KVGeoNavigator *GN)
KVUniqueNameList fDetectors
detectors in this structure element
KVUniqueNameList fStructures
daughter structures
const KVSeqCollection * GetDetectors() const
const KVSeqCollection * GetStructures() const
KVSeqCollection * GetStructureTypeList(const Char_t *type) const
Base class for particle reconstruction in one group of a detector array.
Group of detectors which can be treated independently of all others in array.
Extended version of ROOT THashList.
static KVIonRangeTable * GetRangeTable()
Base class for describing the geometry of a detector array.
KVSeqCollection * GetListOfIDTelescopes() const
virtual void GetDetectorEvent(KVDetectorEvent *detev, const TSeqCollection *fired_params=0)
static Bool_t fCloseGeometryNow
virtual void AcceptAllECodes()
void CreateGeoManager(Double_t dx=500, Double_t dy=500, Double_t dz=500)
Bool_t HandledRawData() const
Bool_t fHandledRawData
set to true if multidetector handles data in last call to HandleRawData
KVSeqCollection * fIDTelescopes
deltaE-E telescopes in groups
static Bool_t fMakeMultiDetectorSetParameters
virtual void prepare_to_handle_new_raw_data()
reset acquisition parameters etc. before reading new raw data event
void SetCurrentRunNumber(UInt_t r)
virtual void copy_fired_parameters_to_recon_param_list()
KVGeoNavigator * GetNavigator() const
void SetGeometry(TGeoManager *)
virtual void MakeCalibrationTables(KVExpDB *)
virtual void Clear(Option_t *opt="")
virtual void CheckStatusOfDetectors(KVDBRun *, const TString &="")
virtual void PerformClosedROOTGeometryOperations()
virtual KVGroupReconstructor * GetReconstructorForGroup(const KVGroup *) const
virtual void FillDetectorList(KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames)
virtual Bool_t handle_raw_data_event_mfmframe(const MFMCommonFrame &)
static KVMultiDetArray * MakeMultiDetector(const Char_t *dataset_name, Int_t run=-1, TString classname="KVMultiDetArray")
virtual void SetRawDataFromReconEvent(KVNameValueList &)
virtual void InitializeIDTelescopes()
virtual void AcceptAllIDCodes()
virtual void SetCalibratorParameters(KVDBRun *, const TString &="")
virtual void SetReconParametersInEvent(KVReconstructedEvent *) const
Copy any parameters in fReconParameters in to the reconstructed event parameter list.
TString fDataSet
name of associated dataset, used with MakeMultiDetector()
virtual void AcceptParticleForAnalysis(KVReconstructedNucleus *) const
void SetNavigator(KVGeoNavigator *geo)
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Bool_t HasStringParameter(const Char_t *name) const
const Char_t * GetStringValue(const Char_t *name) const
KVNameValueList * GetParameters() const
Propagate particles through array geometry calculating energy losses.
Physical event reconstructed from data measured with a detector array using implemented identificatio...
Nuclei reconstructed from data measured by a detector array ,.
virtual void Add(TObject *obj)
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
void Begin(TString delim) const
KVString Next(Bool_t strip_whitespace=kFALSE) const
Optimised list in which named objects can only be placed once.
virtual void AddAll(const TCollection *col)
virtual Bool_t IsEmpty() const
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
void CloseGeometry(Option_t *option="d")
virtual const char * GetName() const
virtual void SetName(const char *name)
virtual void Warning(const char *method, const char *msgfmt,...) const
virtual void Error(const char *method, const char *msgfmt,...) const
virtual void Info(const char *method, const char *msgfmt,...) const
const char * Data() const
const long double g
masses