![]() |
KaliVeda
Toolkit for HIC analysis
|
Base class for describing the geometry of a detector array.
See Detector Array Geometries in the KaliVeda Users' Guide for a detailed presentation.
Definition at line 59 of file KVMultiDetArray.h.
#include <KVMultiDetArray.h>

Public Types | |
| enum | EFilterType { kFilterType_Geo , kFilterType_GeoThresh , kFilterType_Full } |
| filter types. values of fFilterType More... | |
Public Types inherited from KVBase | |
| enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
| enum class | GetX_status { ok , above_maximum , below_minimum , at_maximum , at_minimum } |
Public Types inherited from TObject | |
| enum | EDeprecatedStatusBits |
| enum | EStatusBits |
Public Member Functions | |
| KVMultiDetArray () | |
| Default constructor. More... | |
| KVMultiDetArray (const Char_t *name, const Char_t *type="") | |
| Constructor with name and optional type. More... | |
| virtual | ~KVMultiDetArray () |
| destroy (delete) the MDA and all the associated structure, detectors etc. More... | |
| virtual void | AcceptAllECodes () |
| virtual void | AcceptAllIDCodes () |
| void | AcceptECodes (const KVNumberList &codelist) |
| void | AcceptIDCodes (const KVNumberList &codelist) |
| virtual void | AcceptParticleForAnalysis (KVReconstructedNucleus *) const |
| virtual void | Build (Int_t run=-1) |
| void | CalculateIdentificationGrids () |
| For each IDtelescope in array, calculate an identification grid. More... | |
| Bool_t | CalParamsSet () |
| void | CheckStatusOfDetectors (KVDBRun *, const TString &="") |
| void | Clear (Option_t *opt="") override |
| void | CreateGeoManager (Double_t dx=500, Double_t dy=500, Double_t dz=500) |
| void | Draw (Option_t *option="") override |
| virtual void | FillDetectorList (KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames) |
| void | FillListOfIDTelescopes (KVIDGraph *gr) const |
| const KVNumberList & | GetAcceptedECodes () const |
| const KVNumberList & | GetAcceptedIDCodes () const |
| virtual KVMultiDetArray * | GetArray (const Char_t *) const |
| virtual const KVSeqCollection * | GetArrays () const |
| virtual Short_t | GetBadIDCode () const |
| virtual UChar_t | GetCalculatedCalibrationCode () const |
| TList * | GetCalibrationStatusOfDetectors () |
| virtual Short_t | GetCoherencyIDCode () const |
| UInt_t | GetCurrentRunNumber () const |
| TString | GetDataSet () const |
| virtual void | GetDetectorEvent (KVDetectorEvent *detev, const TSeqCollection *fired_params=0) |
| virtual TString | GetECodeMeaning (Int_t) const |
| const KVSeqCollection * | GetExtraRawDataSignals () const |
| const KVSeqCollection * | GetFiredDetectors () const |
| const KVSeqCollection * | GetFiredSignals () const |
| TGeoManager * | GetGeometry () const |
| Return pointer to the (ROOT) geometry of the array. More... | |
| KVGroup * | GetGroup (const Char_t *name) const |
| KVGroup * | GetGroup (Int_t number) const |
| virtual Int_t | GetIDCodeForParticlesStoppingInFirstStageOfTelescopes () const |
| virtual TString | GetIDCodeMeaning (Int_t) const |
| KVIDTelescope * | GetIDTelescope (const Char_t *name) const |
| Return pointer to DeltaE-E ID Telescope with "name". More... | |
| KVSeqCollection * | GetIDTelescopesWithType (const Char_t *type) |
| KVUniqueNameList | GetIDTelescopeTypes () |
| KVSeqCollection * | GetListOfIDTelescopes () const |
| virtual Short_t | GetMultiHitFirstStageIDCode () const |
| KVGeoNavigator * | GetNavigator () const |
| virtual UChar_t | GetNoCalibrationCode () const |
| virtual UChar_t | GetNormalCalibrationCode () const |
| Int_t | GetNumberOfGroups () const |
| virtual const Char_t * | GetPartSeedCond () const |
| KVNameValueList & | GetReconParameters () |
| const KVNameValueList & | GetReconParameters () const |
| virtual KVGroupReconstructor * | GetReconstructorForGroup (const KVGroup *) const |
| TList * | GetStatusOfIDTelescopes () |
| KVTarget * | GetTarget () |
| virtual Double_t | GetTargetEnergyLossCorrection (KVReconstructedNucleus *) |
| virtual Double_t | GetTotalSolidAngle (void) const |
| const TSeqCollection * | GetTrajectories () const |
| KVUpDater * | GetUpDater () |
| Short_t | GetZminCode () const |
| Bool_t | HandledRawData () const |
| Bool_t | HandleRawDataBuffer (MFMBufferReader &) |
| virtual Bool_t | HandleRawDataEvent (KVRawDataReader *) |
| Bool_t | IDParamsSet () |
| void | init () |
| virtual void | InitialiseRawDataReading (KVRawDataReader *) |
| virtual void | InitializeIDTelescopes () |
| Bool_t | IsBeingDeleted () |
| virtual Bool_t | IsBuilt () const |
| Bool_t | IsRemoving () |
| Bool_t | IsSimMode () const |
| virtual void | MakeCalibrationTables (KVExpDB *) |
| void | MakeHistogramsForAllIDTelescopes (KVSeqCollection *list, Int_t dimension=100) |
| Bool_t | ParamsSet () |
| void | prepare_to_handle_new_raw_data () |
| reset acquisition parameters etc. before reading new raw data event More... | |
| void | PrintCalibStatusOfDetectors () |
| void | PrintStatusOfIDTelescopes () |
| Bool_t | ReadGridsFromAsciiFile (const Char_t *) const |
| void | RecursiveTrajectoryClustering (KVGeoDetectorNode *N, KVUniqueNameList &tried_trajectories, KVUniqueNameList &multitraj_nodes, KVUniqueNameList &detectors_of_group) |
| virtual void | SetCalibratorParameters (KVDBRun *, const TString &="") |
| void | SetCurrentRunNumber (UInt_t r) |
| virtual void | SetDetectorParametersForRun (KVDBRun *, const TString &="") |
| void | SetDetectorThicknesses () |
| void | SetDetectorTransparency (Char_t) |
| Modify the transparency of detector volumes in OpenGL view. More... | |
| void | SetFilterType (Int_t t) |
| void | SetGeometry (TGeoManager *) |
| void | SetGridsInTelescopes (UInt_t run) |
| virtual void | SetIdentifications () |
| void | SetNavigator (KVGeoNavigator *geo) |
| virtual void | SetParameters (UInt_t n, Bool_t physics_parameters_only=kFALSE) |
| virtual void | SetPartSeedCond (const Char_t *cond) |
| virtual void | SetRawDataFromReconEvent (const KVReconstructedEvent &) |
| virtual void | SetReconParametersInEvent (KVReconstructedEvent *) const |
| Copy any parameters in fReconParameters in to the reconstructed event parameter list. More... | |
| virtual void | SetRunCalibrationParameters (UShort_t n) |
| virtual void | SetRunIdentificationParameters (UShort_t n) |
| virtual void | SetSimMode (Bool_t on=kTRUE) |
| virtual void | SetTarget (KVTarget *target) |
Public Member Functions inherited from KVGeoStrucElement | |
| KVGeoStrucElement () | |
| Default constructor. More... | |
| KVGeoStrucElement (const Char_t *name, const Char_t *type="") | |
| Create a geometry structure element with given name and type. More... | |
| virtual | ~KVGeoStrucElement () |
| Destructor. More... | |
| virtual void | Add (KVBase *) |
| void | Clear (Option_t *opt="") override |
| Empty lists of detectors, daughter structures, and parent structures. More... | |
| void | ClearDetectors (const Char_t *type="") |
| void | ClearStructures (const Char_t *type="") |
| virtual Bool_t | Contains (KVBase *name) const |
| virtual Bool_t | Fired (Option_t *opt="any") const |
| virtual KVDetector * | GetDetector (const Char_t *name) const |
| Return detector in this structure with given name. More... | |
| KVDetector * | GetDetectorAny (const Char_t *name) |
| KVDetector * | GetDetectorByType (const Char_t *type) const |
| Return detector in this structure with given type. More... | |
| KVSeqCollection * | GetDetectorNameList (const Char_t *name) const |
| KVSeqCollection * | GetDetectors () |
| const KVSeqCollection * | GetDetectors () const |
| KVSeqCollection * | GetDetectorTypeList (const Char_t *type) const |
| const KVSeqCollection * | GetParents () const |
| template<typename ParentClass > | |
| ParentClass * | GetParentStructure () const |
| KVGeoStrucElement * | GetParentStructure (const Char_t *type, const Char_t *name="") const |
| KVGeoStrucElement * | GetStructure (const Char_t *name) const |
| KVGeoStrucElement * | GetStructure (const Char_t *type, const Char_t *name) const |
| Get structure with type and name. More... | |
| KVGeoStrucElement * | GetStructure (const Char_t *type, Int_t num) const |
| Get structure with type and number. More... | |
| const KVSeqCollection * | GetStructures () const |
| KVSeqCollection * | GetStructureTypeList (const Char_t *type) const |
| bool | OwnsDaughters () const |
| bool | OwnsDetectors () const |
| void | Print (Option_t *option="") const override |
| void | RehashParentList () |
| virtual void | Remove (KVBase *) |
| void | SetOwnsDaughters (Bool_t yes=kTRUE) |
| void | SetOwnsDetectors (Bool_t yes=kTRUE) |
| void | Sort (Bool_t order=kSortAscending) |
| void | SortDetectors (Bool_t order=kSortAscending) |
| void | SortStructures (Bool_t order=kSortAscending) |
Public Member Functions inherited from KVBase | |
| KVBase () | |
| Default constructor. More... | |
| KVBase (const Char_t *name, const Char_t *title="") | |
| Ctor for object with given name and type. More... | |
| KVBase (const KVBase &) | |
| copy ctor More... | |
| void | Copy (TObject &) const override |
| Make a copy of this object. More... | |
| const Char_t * | GetLabel () const |
| UInt_t | GetNumber () const |
| virtual TObject * | GetObject () const |
| virtual const Char_t * | GetType () const |
| Bool_t | HasLabel () const |
| Bool_t | IsCalled (const Char_t *name, bool case_insensitive=false) const |
| Bool_t | IsLabelled (const Char_t *l, bool case_insensitive=false) const |
| Bool_t | IsType (const Char_t *typ, bool case_insensitive=false) const |
| virtual void | List () |
| KVBase & | operator= (const KVBase &) |
| copy assignment operator More... | |
| void | SetLabel (const Char_t *lab) |
| virtual void | SetNumber (UInt_t num) |
| virtual void | SetType (const Char_t *str) |
Public Member Functions inherited from TNamed | |
| TNamed () | |
| TNamed (const char *name, const char *title) | |
| TNamed (const TNamed &named) | |
| TNamed (const TString &name, const TString &title) | |
| virtual | ~TNamed () |
| TObject * | Clone (const char *newname="") const override |
| Int_t | Compare (const TObject *obj) const override |
| virtual void | FillBuffer (char *&buffer) |
| const char * | GetName () const override |
| const char * | GetTitle () const override |
| ULong_t | Hash () const override |
| TClass * | IsA () const override |
| Bool_t | IsSortable () const override |
| void | ls (Option_t *option="") const override |
| TNamed & | operator= (const TNamed &rhs) |
| virtual void | SetName (const char *name) |
| virtual void | SetNameTitle (const char *name, const char *title) |
| virtual void | SetTitle (const char *title="") |
| virtual Int_t | Sizeof () const |
| void | Streamer (TBuffer &) override |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
| TObject () | |
| TObject (const TObject &object) | |
| virtual | ~TObject () |
| void | AbstractMethod (const char *method) const |
| virtual void | AppendPad (Option_t *option="") |
| virtual void | Browse (TBrowser *b) |
| ULong_t | CheckedHash () |
| virtual const char * | ClassName () const |
| virtual void | Delete (Option_t *option="") |
| virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
| virtual void | DrawClass () const |
| virtual TObject * | DrawClone (Option_t *option="") const |
| virtual void | Dump () const |
| virtual void | Error (const char *method, const char *msgfmt,...) const |
| virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
| virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
| virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
| virtual void | Fatal (const char *method, const char *msgfmt,...) const |
| virtual TObject * | FindObject (const char *name) const |
| virtual TObject * | FindObject (const TObject *obj) const |
| virtual Option_t * | GetDrawOption () const |
| virtual const char * | GetIconName () const |
| virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
| virtual Option_t * | GetOption () const |
| virtual UInt_t | GetUniqueID () const |
| virtual Bool_t | HandleTimer (TTimer *timer) |
| Bool_t | HasInconsistentHash () const |
| virtual void | Info (const char *method, const char *msgfmt,...) const |
| virtual Bool_t | InheritsFrom (const char *classname) const |
| virtual Bool_t | InheritsFrom (const TClass *cl) const |
| virtual void | Inspect () const |
| void | InvertBit (UInt_t f) |
| Bool_t | IsDestructed () const |
| virtual Bool_t | IsEqual (const TObject *obj) const |
| virtual Bool_t | IsFolder () const |
| R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
| R__ALWAYS_INLINE Bool_t | IsZombie () const |
| void | MayNotUse (const char *method) const |
| virtual Bool_t | Notify () |
| void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, void *vp) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, void *vp) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, void *vp) |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, void *vp) |
| TObject & | operator= (const TObject &rhs) |
| virtual void | Paint (Option_t *option="") |
| virtual void | Pop () |
| virtual Int_t | Read (const char *name) |
| virtual void | RecursiveRemove (TObject *obj) |
| void | ResetBit (UInt_t f) |
| virtual void | SaveAs (const char *filename="", Option_t *option="") const |
| virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
| void | SetBit (UInt_t f) |
| void | SetBit (UInt_t f, Bool_t set) |
| virtual void | SetDrawOption (Option_t *option="") |
| virtual void | SetUniqueID (UInt_t uid) |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
| virtual void | SysError (const char *method, const char *msgfmt,...) const |
| R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
| Int_t | TestBits (UInt_t f) const |
| virtual void | UseCurrentStyle () |
| virtual void | Warning (const char *method, const char *msgfmt,...) const |
| virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
| virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Static Public Member Functions | |
| static TGeoHMatrix * | GetVolumePositioningMatrix (Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr) |
| static KVMultiDetArray * | MakeMultiDetector (const Char_t *dataset_name, Int_t run=-1, TString classname="KVMultiDetArray", KVExpDB *db=nullptr) |
| static void | SetMakeMultiDetectorPhysicsParametersOnly (Bool_t on=kTRUE) |
Static Public Member Functions inherited from KVBase | |
| static std::optional< TString > | AbsoluteUnixPath (const TString &) |
| static Bool_t | AreEqual (Double_t x, Double_t y, Long64_t maxdif=1) |
| Comparison between two 64-bit floating-point values. More... | |
| static void | BackupFileWithDate (const Char_t *path) |
| static void | CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE) |
| static void | Deprecated (const char *method, const char *advice) |
| static Bool_t | FindClassSourceFiles (const KVString &class_name, KVString &imp_file, KVString &dec_file, const KVString &dir_name=".") |
| static Bool_t | FindExecutable (TString &exec, const Char_t *path="$(PATH)") |
| static const Char_t * | FindFile (const Char_t *search, TString &wfil) |
| static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetDATABASEFilePath () |
| static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
| template<typename ValType > | |
| static ValType | GetDataSetEnv (const KVString &dataset, const KVString &type, const ValType &defval={}) |
| static const Char_t * | GetETCDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
| Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More... | |
| static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetKVBuildDate () |
| Returns KaliVeda build date. More... | |
| static const Char_t * | GetKVBuildDir () |
| Returns top-level directory used for build. More... | |
| static const Char_t * | GetKVBuildTime () |
| Returns KaliVeda build time. More... | |
| static const Char_t * | GetKVBuildType () |
| Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More... | |
| static const Char_t * | GetKVBuildUser () |
| Returns username of person who performed build. More... | |
| static int | GetKVMajorVersion () |
| static int | GetKVMinorVersion () |
| static int | GetKVPatchVersion () |
| static const Char_t * | GetKVSourceDir () |
| Returns top-level directory of source tree used for build. More... | |
| static const Char_t * | GetKVVersion () |
| Returns KaliVeda version string. More... | |
| static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetListOfPlugins (const Char_t *base) |
| static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
| static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
| static void | GetTempFileName (TString &base) |
| static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | gitBranch () |
| Returns git branch of sources. More... | |
| static const Char_t * | gitCommit () |
| Returns last git commit of sources. More... | |
| static void | InitEnvironment () |
| static bool | is_gnuinstall () |
| static Bool_t | IsEnvInit () |
| static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
| static TPluginHandler * | LoadPlugin (const Char_t *base, const Char_t *uri="0") |
| static Bool_t | OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="") |
| static void | OpenTempFile (TString &base, std::ofstream &fp) |
| static void | PrintSplashScreen () |
| Prints welcome message and infos on version etc. More... | |
| static Double_t | ProtectedGetX (const TF1 &func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={}) |
| static Double_t | ProtectedGetX (const TF1 *func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={}) |
| static Bool_t | SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="") |
| static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
| static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
| static Bool_t | SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="") |
| static const Char_t * | WorkingDirectory () |
Static Public Member Functions inherited from TNamed | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static Longptr_t | GetDtorOnly () |
| static Bool_t | GetObjectStat () |
| static void | SetDtorOnly (void *obj) |
| static void | SetObjectStat (Bool_t stat) |
Friends | |
| class | KVExpSetUp |
| class | KVGeoImport |
Additional Inherited Members | |
Public Attributes inherited from TObject | |
| kBitMask | |
| kCanDelete | |
| kCannotPick | |
| kHasUUID | |
| kInconsistent | |
| kInvalidObject | |
| kIsOnHeap | |
| kIsReferenced | |
| kMustCleanup | |
| kNoContextMenu | |
| kNotDeleted | |
| kObjInCanvas | |
| kOverwrite | |
| kSingleKey | |
| kWriteDelete | |
| kZombie | |
Protected Member Functions inherited from TObject | |
| virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
| void | MakeZombie () |
Protected Attributes inherited from TNamed | |
| TString | fName |
| TString | fTitle |
Protected Attributes inherited from TObject | |
| kOnlyPrepStep | |
filter types. values of fFilterType
| Enumerator | |
|---|---|
| kFilterType_Geo | |
| kFilterType_GeoThresh | |
| kFilterType_Full | |
Definition at line 229 of file KVMultiDetArray.h.
| KVMultiDetArray::KVMultiDetArray | ( | ) |
Default constructor.
Definition at line 68 of file KVMultiDetArray.cpp.
Constructor with name and optional type.
Definition at line 81 of file KVMultiDetArray.cpp.
|
virtual |
destroy (delete) the MDA and all the associated structure, detectors etc.
Definition at line 153 of file KVMultiDetArray.cpp.
|
inlinevirtual |
Calling this method disables any selection of "OK" reconstructed particles according to their calibration code status.
Reimplemented in KVExpSetUp.
Definition at line 475 of file KVMultiDetArray.h.
|
inlinevirtual |
Calling this method disables any selection of "OK" reconstructed particles according to their identification code status.
Reimplemented in KVExpSetUp.
Definition at line 440 of file KVMultiDetArray.h.
|
inline |
Set list of (numeric) calibration codes which are acceptable for analysis of reconstructed particles with this array.
The argument may be given either as a list of explicit numerical values in a string, using the KVNumberList formatting rules:
or as a set of symbolic values, variables etc.:
Default list may be set with variable:
If called several times, only the last list of values will be taken into account.
Definition at line 449 of file KVMultiDetArray.h.
|
inline |
Set list of (numeric) identification codes which are acceptable for analysis of reconstructed particles with this array.
The argument may be given either as a list of explicit numerical values in a string, using the KVNumberList formatting rules:
or as a set of symbolic values, variables etc.:
Default list may be set with variable:
If called several times, only the last list of values will be taken into account.
Definition at line 414 of file KVMultiDetArray.h.
|
virtual |
Set status of particle by comparing its identification/calibration codes with those set as acceptable in fAcceptIDCodes and fAcceptECodes. The status can be tested with method KVReconstructedNucles::IsOK().
The default lists are defined in variables of the form
where:
DataSet is an optional dataset name for dataset-specific listsname is the name of the multidetector arraylist is a numeric list (KVNumberList format)The default lists can be overridden using methods AcceptIDCodes(), AcceptECodes(), AcceptAllIDCodes() and AcceptAllECodes().
If either list is empty, no selection is made for the corresponding code
Reimplemented in KVExpSetUp.
Definition at line 2327 of file KVMultiDetArray.cpp.
Reimplemented in KVFAZIA, KVINDRA, and KVExpSetUp.
Definition at line 188 of file KVMultiDetArray.cpp.
| void KVMultiDetArray::CalculateIdentificationGrids | ( | ) |
For each IDtelescope in array, calculate an identification grid.
Definition at line 3067 of file KVMultiDetArray.cpp.
|
inline |
Definition at line 329 of file KVMultiDetArray.h.
Sets status of detectors (KVDetector::IsPresent() and KVDetector::IsWorking()) for a given run of a dataset.
If 'myname' is given, we look in database table "myname.OoODets"
Definition at line 3085 of file KVMultiDetArray.cpp.
Reset all groups (lists of detected particles etc.) and detectors in groups (energy losses, ACQparams etc. etc.) and the target if there is one
Reimplemented from KVBase.
Definition at line 617 of file KVMultiDetArray.cpp.
|
inline |
Definition at line 205 of file KVMultiDetArray.h.
Use OpenGL viewer to view multidetector geometry
If option="tracks" we draw any tracks corresponding to the last simulated event whose detection was simulated with DetectEvent If option="tracks:[numberlist]" with a list of numbers, it will be interpreted as a KVNumberList containing the Z of tracks to be drawn e.g. option="tracks:1-92" draw only tracks with 1<=Z<=92 (no neutrons) option="tracks:2" draw only helium isotopes
Reimplemented from TObject.
Definition at line 1918 of file KVMultiDetArray.cpp.
|
virtual |
Called when required to fill KVReconstructedNucleus::fDetList with pointers to the detectors whose names are stored in KVReconstructedNucleus::fDetNames.
Reimplemented in KVFAZIA, and KVExpSetUp.
Definition at line 2292 of file KVMultiDetArray.cpp.
Fill list of ID telescopes with which this grid is associated from list of names read from ascii file.
Definition at line 1889 of file KVMultiDetArray.cpp.
|
inline |
Definition at line 410 of file KVMultiDetArray.h.
|
inline |
Definition at line 406 of file KVMultiDetArray.h.
|
inlinevirtual |
Reimplemented in KVExpSetUp.
Definition at line 485 of file KVMultiDetArray.h.
|
inlinevirtual |
Reimplemented in KVExpSetUp.
Definition at line 489 of file KVMultiDetArray.h.
|
inlinevirtual |
return a general identification code for badly identified particles
redefine in child classes; default returns 14.
Reimplemented in KVINDRA, and KVFAZIA.
Definition at line 546 of file KVMultiDetArray.h.
|
inlinevirtual |
return a general calibration code for particles for which some energy losses were calculated, not measured redefine in child classes; default returns 2.
Definition at line 585 of file KVMultiDetArray.h.
| TList * KVMultiDetArray::GetCalibrationStatusOfDetectors | ( | ) |
Fill and return pointer to list fCalibStatusDets which contains a list for each type of detector in the array, each list contains a list "OK" with the detectors which are calibrated, and a list "NOT OK" with the others.
The returned TList object must not be deleted (it belongs to the KVMultiDetArray).
Definition at line 1437 of file KVMultiDetArray.cpp.
|
inlinevirtual |
return a general identification code for particles identified after coherency analysis
redefine in child classes; default returns 6.
Reimplemented in KVINDRA.
Definition at line 553 of file KVMultiDetArray.h.
|
inline |
Definition at line 333 of file KVMultiDetArray.h.
|
inline |
Definition at line 523 of file KVMultiDetArray.h.
|
virtual |
First step in event reconstruction based on current status of detectors in array. Fills the given KVDetectorEvent with the list of all groups which have fired. i.e. loop over all groups of the array and test whether KVGroup::Fired() returns true or false.
If the list of fired detectors 'fired_dets' is given, then we use this list to find the associated groups. If not given, or if it is empty, we may use the internal fFiredDetectors list.
Call method detev->Clear() before reading another event in order to reset all of the hit groups (including all detectors etc.) and emptying the list.
Reimplemented in KVExpSetUp, KVINDRA, and KVFAZIA.
Definition at line 786 of file KVMultiDetArray.cpp.
Reimplemented in KVINDRA, and KVFAZIA.
Definition at line 542 of file KVMultiDetArray.h.
|
inline |
Definition at line 269 of file KVMultiDetArray.h.
|
inline |
Definition at line 257 of file KVMultiDetArray.h.
|
inline |
Definition at line 263 of file KVMultiDetArray.h.
| TGeoManager * KVMultiDetArray::GetGeometry | ( | ) | const |
Return pointer to the (ROOT) geometry of the array.
Definition at line 1589 of file KVMultiDetArray.cpp.
Definition at line 244 of file KVMultiDetArray.h.
Definition at line 248 of file KVMultiDetArray.h.
|
inlinevirtual |
By default, for historical reasons, this returns 5
Reimplemented in KVINDRA, and KVFAZIA.
Definition at line 533 of file KVMultiDetArray.h.
Reimplemented in KVINDRA, and KVFAZIA.
Definition at line 538 of file KVMultiDetArray.h.
| KVIDTelescope * KVMultiDetArray::GetIDTelescope | ( | const Char_t * | name | ) | const |
Return pointer to DeltaE-E ID Telescope with "name".
Definition at line 603 of file KVMultiDetArray.cpp.
| KVSeqCollection * KVMultiDetArray::GetIDTelescopesWithType | ( | const Char_t * | type | ) |
Create, fill and return pointer to a list of KVIDTelescopes with the given type (label) in the array. WARNING! - check pointer is not zero (we return NULL if ID telescopes list is not defined or empty)
Delete the KVList after use (it does not own the KVIDTelescopes).
Definition at line 1413 of file KVMultiDetArray.cpp.
| KVUniqueNameList KVMultiDetArray::GetIDTelescopeTypes | ( | ) |
Create, fill and return pointer to a list of TObjString containing the name of each type of ID telescope (actually the label) in the array.
Definition at line 1386 of file KVMultiDetArray.cpp.
|
inline |
Definition at line 277 of file KVMultiDetArray.h.
|
inlinevirtual |
return a general identification code for particles which cannot be identified correctly due to pile-up in a delta-E detector
redefine in child classes; default returns 8.
Reimplemented in KVINDRA.
Definition at line 560 of file KVMultiDetArray.h.
| KVGeoNavigator * KVMultiDetArray::GetNavigator | ( | ) | const |
Definition at line 1599 of file KVMultiDetArray.cpp.
|
inlinevirtual |
return a general calibration code for uncalibrated particles redefine in child classes; default returns 0.
Definition at line 579 of file KVMultiDetArray.h.
|
inlinevirtual |
return a general calibration code for correctly calibrated particles redefine in child classes; default returns 1.
Reimplemented in KVINDRA.
Definition at line 573 of file KVMultiDetArray.h.
|
inline |
Definition at line 506 of file KVMultiDetArray.h.
|
inlinevirtual |
get condition used to seed reconstructed particles
Definition at line 495 of file KVMultiDetArray.h.
|
inline |
any information placed in this list during event reconstruction will be stored in the KVReconstructedEvent generated
Definition at line 192 of file KVMultiDetArray.h.
|
inline |
any information placed in this list during event reconstruction will be stored in the KVReconstructedEvent generated
Definition at line 198 of file KVMultiDetArray.h.
|
virtual |
Create and return pointer to new KVGroupReconstructor for reconstructing particles in the given group. Returns nullptr if group is not part of this array.
Plugins for specific arrays can be defined as plugins using the name of the array: +Plugin.KVGroupReconstructor: my_array my_group_reconstructor my_lib "my_group_reconstructor()"
If we are in 'SimMode', the default reconstructor is a KVFilterGroupReconstructor
Reimplemented in KVExpSetUp, KVINDRA, and KVFAZIA.
Definition at line 2196 of file KVMultiDetArray.cpp.
| TList * KVMultiDetArray::GetStatusOfIDTelescopes | ( | ) |
Fill and return pointer to list fStatusIDTelescopes which contains a list for each type of ID telescope in the array, each list contains a list "OK" with the ID telescopes which have IsReadyForID()=kTRUE, and a list "NOT OK" with the others.
The returned TList object must not be deleted (it belongs to the KVMultiDetArray).
Definition at line 1338 of file KVMultiDetArray.cpp.
|
inline |
Get pointer to experimental target (if defined - if not, returns nullptr)
Definition at line 293 of file KVMultiDetArray.h.
|
virtual |
Calculate the energy loss in the current target of the multidetector for the reconstructed charged particle 'ion', assuming that the current energy and momentum of this particle correspond to its state on leaving the target.
WARNING: for this correction to work, the target must be in the right 'state':
gMultiDetArray->GetTarget()->SetIncoming(kFALSE); gMultiDetArray->GetTarget()->SetOutgoing(kTRUE);
(see KVTarget::GetParticleEIncFromERes).
The returned value is the energy lost in the target in MeV. The energy/momentum of 'ion' are not affected.
Definition at line 1562 of file KVMultiDetArray.cpp.
Returns total solid angle of array in [msr]. This is the sum of the solid angles of all detectors in the array which have no other detectors in front of them (i.e. closer to the target position). If the array has partially overlapping detectors, this will not be correct: in this case a Monte Carlo approach should be used
Definition at line 346 of file KVMultiDetArray.h.
|
inline |
Get list of all possible trajectories for particles traversing array
Definition at line 393 of file KVMultiDetArray.h.
| KVUpDater * KVMultiDetArray::GetUpDater | ( | ) |
Return pointer to KVUpDater defined by dataset for this multidetector, the class used is defined as a plugin like this:
However, if a dataset defines a variable like this:
[dataset].ExpSetUp.Updater.[multidetector name]: [name_of_dataset for plugin]
then we use the updater plugin defined for the given dataset
Definition at line 989 of file KVMultiDetArray.cpp.
|
static |
Method for positioning volumes in detector geometries
Given:
distance [cm] = distance from target (origin) to the CENTRE of the volume in position theta [deg] = polar angle of vector from target to centre of volume in position phi [deg] = azimuthal angle of vector
this method generates the matrix which is required to position the volume as required while also turning the volume so that the side nearest the target (i.e. the entrance window of the detector) remains perpendicular to the vector joining the origin and the centre of the volume.
If required, a further translation can be given which will be applied to the volume after it has been placed with the required orientation at the nominal distance. This can be used e.g. for detector misalignment, when detectors are in a structure which guarantees their line of sight to be orthogonal to their surface at a nominal distance, but the nominal distance is not respected.
Example of use:
Definition at line 1809 of file KVMultiDetArray.cpp.
|
inline |
return a general identification code for particles partially identified with an estimated lower-limit for their charge
Definition at line 567 of file KVMultiDetArray.h.
|
inline |
Definition at line 517 of file KVMultiDetArray.h.
| Bool_t KVMultiDetArray::HandleRawDataBuffer | ( | MFMBufferReader & | bufrdr | ) |
Update array according to last event read from MFM buffer (it is assumed that MFMBufferReader::ReadNextFrame() was called before calling this method)
Return kTRUE if raw data was treated
All fired acquisition parameters are written in the fReconParameters list, ready to be copied to the reconstructed event
Definition at line 2513 of file KVMultiDetArray.cpp.
|
virtual |
Update array according to last event read using the KVRawDataReader object (it is assumed that KVRawDataReader::GetNextEvent() was called before calling this method)
Return kTRUE if raw data was treated
All fired acquisition parameters are written in the fReconParameters list, ready to be copied to the reconstructed event
Reimplemented in KVExpSetUp.
Definition at line 2468 of file KVMultiDetArray.cpp.
|
inline |
Definition at line 325 of file KVMultiDetArray.h.
Basic initialisation called by constructor. Creates detectors list fDetectors, groups list fGroups, identification telescopes list fIDTelescopes
The fGroups & fIDTelescopes lists contain objects owned by the multidetector array, but which may be deleted by other objects (or as a result of the deletion of other objects: i.e. if all the detectors in a group are deleted, the group itself is destroyed). We use the ROOT automatic garbage collection to make sure that any object deleted elsewhere is removed automatically from these lists.
Definition at line 103 of file KVMultiDetArray.cpp.
|
virtual |
Call this method just after opening a raw data file in order to perform any necessary initialisations, depending on the type of data
Reimplemented in KVExpSetUp, and KVINDRA.
Definition at line 2225 of file KVMultiDetArray.cpp.
|
virtual |
Calls Initialize() method of each identification telescope (see KVIDTelescope and derived classes) and sets the general identification code defined for each telescope.
Calling this method is essential before identification of particles is attempted.
Reimplemented in KVExpSetUp.
Definition at line 1203 of file KVMultiDetArray.cpp.
|
inline |
Definition at line 312 of file KVMultiDetArray.h.
|
inlinevirtual |
Definition at line 306 of file KVMultiDetArray.h.
|
inline |
Definition at line 301 of file KVMultiDetArray.h.
|
inline |
Returns simulation mode of array: IsSimMode()=kTRUE : we are in simulation mode (calculation of energy losses etc.) IsSimMode()=kFALSE: we are analysing/reconstruction experimental data
Definition at line 379 of file KVMultiDetArray.h.
We first look for following files with the name given by
[dataset].[name].OoODetectors: [name.OoODetectors.dat] which should contain the runlists for each malfunctioning detector. If found we add to the experiment database a table '[name].OoO Detectors' where [name] is the name of this array.
[dataset].[name].AbsentDetectors: [name.AbsentDetectors.dat] which should contain the runlists for each absent detector. If found we add to the experiment database a table '[name].Absent Detectors' where [name] is the name of this array.
Then we look for a file with the name given by
[dataset].[name].CalibrationFiles: [CalibrationFiles.dat]
which should contain the names of files to read with each type of calibration If found we add to the experiment database a table '[name].Calibrations' where [name] is the name of this array, containing all calibrations as KVDBParameterSet objects with the name of the detector concerned.
Reimplemented in KVExpSetUp, KVINDRA, and KVFAZIA.
Definition at line 2652 of file KVMultiDetArray.cpp.
| void KVMultiDetArray::MakeHistogramsForAllIDTelescopes | ( | KVSeqCollection * | list, |
| Int_t | dimension = 100 |
||
| ) |
Create TH2F histograms for all IDTelescopes of the array They will be added to the list histograms will have resolution of dimension*dimension
Definition at line 1965 of file KVMultiDetArray.cpp.
|
static |
Static function which will create and 'Build' the multidetector object corresponding to a given run of dataset 'dataset_name'. Any previously existing multidetector will be deleted.
We first activate the given dataset if not already done
Multidetector arrays are defined as 'Plugin' objects :
The constructors/macros are always without arguments
Dataset name is stored in fDataSet store the run number (if given) so that if the dataset needs to update its database (which requires building the multidetector by calling MakeMultiDetector()) then it will build the correct geometry for the run
Definition at line 849 of file KVMultiDetArray.cpp.
|
inline |
Definition at line 321 of file KVMultiDetArray.h.
| void KVMultiDetArray::prepare_to_handle_new_raw_data | ( | ) |
reset acquisition parameters etc. before reading new raw data event
Definition at line 2373 of file KVMultiDetArray.cpp.
| void KVMultiDetArray::PrintCalibStatusOfDetectors | ( | ) |
Print full status report on calibration of detectors in array, using informations stored in fCalibStatusDets (see GetCalibrationStatusOfDetectors).
Definition at line 1496 of file KVMultiDetArray.cpp.
| void KVMultiDetArray::PrintStatusOfIDTelescopes | ( | ) |
Print full status report on ID telescopes in array, using informations stored in fStatusIDTelescopes (see GetStatusOfIDTelescopes).
Definition at line 1260 of file KVMultiDetArray.cpp.
Read all identification grids from the file and add them to the IDGridManager object used by this array. This method sets up the links between each grid and the IDtelescope(s) it is to be used for, unlike calling
gIDGridManager->ReadAsciiFile(grids)
which does not.
Returns kFALSE if there is a problem reading the file
Definition at line 1232 of file KVMultiDetArray.cpp.
| void KVMultiDetArray::RecursiveTrajectoryClustering | ( | KVGeoDetectorNode * | N, |
| KVUniqueNameList & | tried_trajectories, | ||
| KVUniqueNameList & | multitraj_nodes, | ||
| KVUniqueNameList & | detectors_of_group | ||
| ) |
Definition at line 2146 of file KVMultiDetArray.cpp.
Sets up calibrators for all detectors with a defined calibration for run Set parameters for all detectors with links to table "Calibrations" for run If 'myname' is given, we look in "myname.Calibrations" Reset all calibrators of all detectors first
Reimplemented in KVExpSetUp.
Definition at line 643 of file KVMultiDetArray.cpp.
Definition at line 337 of file KVMultiDetArray.h.
|
virtual |
Reimplemented in KVExpSetUp.
Definition at line 3146 of file KVMultiDetArray.cpp.
| void KVMultiDetArray::SetDetectorThicknesses | ( | ) |
Actual thicknesses of detectors can be given in one or more files associated with a dataset/multidetector.
We look for the first of the files
which exists for the current dataset, and if found we read each file listed in it.
Otherwise we look for the first of the files
which exists for the current dataset, and if found we read the thicknesses from it.
See set_detector_thicknesses() for details of the format of the individual thickness files.
Definition at line 1625 of file KVMultiDetArray.cpp.
Modify the transparency of detector volumes in OpenGL view.
Definition at line 1985 of file KVMultiDetArray.cpp.
Definition at line 238 of file KVMultiDetArray.h.
| void KVMultiDetArray::SetGeometry | ( | TGeoManager * | g | ) |
Called by KVGeoImport::ImportGeometry
Creates KVRangeTableGeoNavigator for calculating energy losses of particles propagated through array.
If no name and/or title are defined for the array, the name and title of the TGeoManager object will be used for the array.
Definition at line 1763 of file KVMultiDetArray.cpp.
For each grid which is valid for this run, we call the KVIDTelescope::SetIDGrid method of each associated ID telescope.
Definition at line 1857 of file KVMultiDetArray.cpp.
|
virtual |
Initialisation of all ACTIVE identification telescopes in the array, i.e. those appearing in a line in the .kvrootrc file such as this:
[dataset name].ActiveIdentifications: [type1] [type2] ...
The 'types' given correspond to the value given by KVIDTelescope::GetLabel(), these are the identifiers used to retrieve the different plugin classes in GetIDTelescopes(KVDetector*,KVDetector*,KVList*).
For each type of identification in the list, we retrieve the first identification telescope with this label from the list of all ID telescopes, in order to call its KVIDTelescope::SetIdentificationParameters() method. This method (when rederived in child classes of KVIDTelescope) initialises the identification objects for ALL of the ID telescopes of the same type (class) in the array.
Note that, in general, the parameters of the identifications for a given run are not set until SetParameters or SetRunIdentificationParameters is called.
Definition at line 1117 of file KVMultiDetArray.cpp.
|
inlinestatic |
Set static flag used with MakeMultiDetector() to decide whether to call SetParameters() for only physics parameters (if true) or include all calibration parameters (if false).
Definition at line 591 of file KVMultiDetArray.h.
| void KVMultiDetArray::SetNavigator | ( | KVGeoNavigator * | geo | ) |
Definition at line 1953 of file KVMultiDetArray.cpp.
Set run-dependent parameters of the array.
if physics_parameters_only==false, identification and calibration parameters are set. if physics_parameters_only==true, just the minimum necessary for physics analysis of reduced data are set.
This can only be done if gDataSet has been set i.e. a dataset has been chosen, otherwise this just has the effect of setting the current run number
Definition at line 1023 of file KVMultiDetArray.cpp.
set condition used to seed reconstructed particles
Definition at line 500 of file KVMultiDetArray.h.
|
virtual |
Take values 'ACQPAR.[array_name].[detname].[signal]' or 'ACQPAR.[array_name].[signal]' in the parameter list and use them to set values of raw acquisition parameters.
Any detector signals which don't already exist will be created
Reimplemented in KVFAZIA, KVExpSetUp, and KVINDRA.
Definition at line 2592 of file KVMultiDetArray.cpp.
|
virtual |
Copy any parameters in fReconParameters in to the reconstructed event parameter list.
Reimplemented in KVINDRA.
Definition at line 2415 of file KVMultiDetArray.cpp.
Set calibration parameters for run. This can only be done if gDataSet has been set i.e. a dataset has been chosen Otherwise this just has the effect of setting the current run number
Definition at line 1079 of file KVMultiDetArray.cpp.
Set identification parameters for run. This can only be done if gDataSet has been set i.e. a dataset has been chosen Otherwise this just has the effect of setting the current run number
Definition at line 1053 of file KVMultiDetArray.cpp.
Set simulation mode of array (and of all detectors in array) If on=kTRUE (default), we are in simulation mode (calculation of energy losses etc.) If on=kFALSE, we are analysing/reconstruction experimental data
Reimplemented in KVExpSetUp.
Definition at line 371 of file KVMultiDetArray.h.
Set experimental target
Calling SetTarget(0) will remove any existing target.
Reimplemented in KVExpSetUp.
Definition at line 285 of file KVMultiDetArray.h.
|
friend |
Definition at line 62 of file KVMultiDetArray.h.
|
friend |
Definition at line 61 of file KVMultiDetArray.h.