KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVMultiDetArray Class Reference

Detailed Description

Base class for describing the geometry of a detector array.

See the chapter in the KaliVeda Users' Guide

Examples
ExampleReconAnalysis.cpp.

Definition at line 63 of file KVMultiDetArray.h.

#include <KVMultiDetArray.h>

Inheritance diagram for KVMultiDetArray:

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) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVMultiDetArray ()
 Default constructor.
 
 KVMultiDetArray (const Char_t *name, const Char_t *type="")
 Constructor with name and optional type.
 
virtual ~KVMultiDetArray ()
 destroy (delete) the MDA and all the associated structure, detectors etc.
 
virtual void AcceptAllECodes ()
 
virtual void AcceptAllIDCodes ()
 
void AcceptECodes (const KVNumberList &codelist)
 
void AcceptIDCodes (const KVNumberList &codelist)
 
virtual void AcceptParticleForAnalysis (KVReconstructedNucleus *) const
 
virtual void AnalyseGroupAndReconstructEvent (KVReconstructedEvent *recev, KVGroup *grp)
 
virtual void Build (Int_t run=-1)
 
void CalculateDetectorSegmentationIndex ()
 
void CalculateIdentificationGrids ()
 For each IDtelescope in array, calculate an identification grid.
 
Bool_t CalParamsSet ()
 
void CheckROOTGeometry ()
 
void CheckStatusOfDetectors (KVDBRun *, const TString &="")
 
virtual void Clear (Option_t *opt="")
 
void CreateGeoManager (Double_t dx=500, Double_t dy=500, Double_t dz=500)
 
virtual void CreateIDTelescopesInGroups ()
 
virtual void DetectEvent (KVEvent *event, KVReconstructedEvent *rec_event, const Char_t *detection_frame="")
 
virtual KVNameValueListDetectParticle (KVNucleus *part)
 
KVNameValueListDetectParticle_TGEO (KVNucleus *part)
 
void DetectParticleIn (const Char_t *detname, KVNucleus *kvp)
 
void Draw (Option_t *option="")
 
virtual TGraphDrawPunchThroughEnergyVsZ (const Char_t *detector, Int_t massform=KVNucleus::kBetaMass)
 
virtual TGraphDrawPunchThroughEsurAVsZ (const Char_t *detector, Int_t massform=KVNucleus::kBetaMass)
 
virtual TGraphDrawPunchThroughZVsVpar (const Char_t *detector, Int_t massform=KVNucleus::kBetaMass)
 
virtual void FillDetectorList (KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames)
 
void FillHistogramsForAllIDTelescopes (KVSeqCollection *list)
 Fill TH2F histograms for all IDTelescopes of the array.
 
void FillListOfIDTelescopes (KVIDGraph *gr) const
 
virtual Int_t FilteredEventCoherencyAnalysis (Int_t round, KVReconstructedEvent *rec_event)
 
const KVNumberListGetAcceptedECodes () const
 
const KVNumberListGetAcceptedIDCodes () const
 
virtual KVMultiDetArrayGetArray (const Char_t *) const
 
TListGetCalibrationStatusOfDetectors ()
 
UInt_t GetCurrentRunNumber () const
 
TString GetDataSet () const
 
virtual void GetDetectorEvent (KVDetectorEvent *detev, const TSeqCollection *fired_params=0)
 
virtual TString GetECodeMeaning (Int_t) const
 
const KVSeqCollectionGetExtraRawDataSignals () const
 
const KVSeqCollectionGetFiredDetectors () const
 
const KVSeqCollectionGetFiredSignals () const
 
TGeoManagerGetGeometry () const
 Return pointer to the (ROOT) geometry of the array.
 
virtual KVGroupGetGroup (const Char_t *) const
 Return pointer to group with name.
 
virtual KVGroupGetGroupWithAngles (Float_t, Float_t)
 
virtual KVGroupGetGroupWithDetector (const Char_t *)
 
virtual Int_t GetIDCodeForParticlesStoppingInFirstStageOfTelescopes () const
 
virtual TString GetIDCodeMeaning (Int_t) const
 
KVIDTelescopeGetIDTelescope (const Char_t *name) const
 Return pointer to DeltaE-E ID Telescope with "name".
 
KVSeqCollectionGetIDTelescopesWithType (const Char_t *type)
 
KVUniqueNameListGetIDTelescopeTypes ()
 
KVSeqCollectionGetListOfIDTelescopes () const
 
KVGeoNavigatorGetNavigator () const
 
Int_t GetNumberOfGroups () const
 
virtual const Char_tGetPartSeedCond () const
 
virtual Double_t GetPunchThroughEnergy (const Char_t *detector, Int_t Z, Int_t A)
 
KVNameValueListGetReconParameters ()
 
const KVNameValueListGetReconParameters () const
 
virtual KVGroupReconstructorGetReconstructorForGroup (const KVGroup *) const
 
TListGetStatusOfIDTelescopes ()
 
KVTargetGetTarget ()
 
virtual Double_t GetTargetEnergyLossCorrection (KVReconstructedNucleus *)
 
virtual KVTelescopeGetTelescope (const Char_t *name) const
 Return pointer to telescope in array with name given by "name".
 
virtual Double_t GetTotalSolidAngle (void) const
 
const TSeqCollectionGetTrajectories () const
 
KVUpDaterGetUpDater ()
 
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 IsROOTGeometry () const
 
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
 
void PrintCalibStatusOfDetectors ()
 
void PrintStatusOfIDTelescopes ()
 
Bool_t ReadGridsFromAsciiFile (const Char_t *) const
 
virtual void ReconstructEvent (KVReconstructedEvent *, KVDetectorEvent *)
 
void RecursiveTrajectoryClustering (KVGeoDetectorNode *N, KVUniqueNameList &tried_trajectories, KVUniqueNameList &multitraj_nodes, KVUniqueNameList &detectors_of_group)
 
void RemoveGroup (const Char_t *)
 
void RemoveGroup (KVGroup *)
 
void ReplaceDetector (const Char_t *name, KVDetector *new_kvd)
 
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.
 
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 (KVNameValueList &)
 
virtual void SetReconParametersInEvent (KVReconstructedEvent *) const
 Copy any parameters in fReconParameters in to the reconstructed event parameter list.
 
virtual void SetROOTGeometry (Bool_t on=kTRUE)
 
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.
 
 KVGeoStrucElement (const Char_t *name, const Char_t *type="")
 Create a geometry structure element with given name and type.
 
virtual ~KVGeoStrucElement ()
 Destructor.
 
virtual void Add (KVBase *)
 
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
 
KVDetectorGetDetector (const Char_t *name) const
 Return detector in this structure with given name.
 
KVDetectorGetDetectorAny (const Char_t *name)
 
KVDetectorGetDetectorByType (const Char_t *type) const
 Return detector in this structure with given type.
 
KVSeqCollectionGetDetectorNameList (const Char_t *name) const
 
KVSeqCollectionGetDetectors ()
 
const KVSeqCollectionGetDetectors () const
 
KVSeqCollectionGetDetectorTypeList (const Char_t *type) const
 
const KVSeqCollectionGetParents () const
 
KVGeoStrucElementGetParentStructure (const Char_t *type, const Char_t *name="") const
 
KVGeoStrucElementGetStructure (const Char_t *name) const
 
KVGeoStrucElementGetStructure (const Char_t *type, const Char_t *name) const
 Get structure with type and name.
 
KVGeoStrucElementGetStructure (const Char_t *type, Int_t num) const
 Get structure with type and number.
 
const KVSeqCollectionGetStructures () const
 
KVSeqCollectionGetStructureTypeList (const Char_t *type) const
 
bool OwnsDaughters () const
 
bool OwnsDetectors () const
 
void Print (Option_t *option="") const
 
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.
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type.
 
 KVBase (const KVBase &)
 copy ctor
 
virtual ~KVBase ()
 
virtual void Copy (TObject &) const
 Make a copy of this object.
 
const Char_tGetLabel () const
 
UInt_t GetNumber () const
 
UInt_t GetNumberOfObjects () const
 
virtual TObjectGetObject () const
 
virtual const Char_tGetType () const
 
Bool_t HasLabel () const
 
virtual Bool_t IsCalled (const Char_t *name) const
 
Bool_t IsLabelled (const Char_t *l) const
 
virtual Bool_t IsType (const Char_t *typ) const
 
virtual void List ()
 
KVBaseoperator= (const KVBase &)
 copy assignment operator
 
Double_t ProtectedGetX (const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const
 
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 ()
 
void Clear (Option_t *option="") override
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
void Copy (TObject &named) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
void Print (Option_t *option="") const override
 
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 TObjectDrawClone (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 TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () 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)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (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 TGeoHMatrixGetVolumePositioningMatrix (Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr)
 
static KVMultiDetArrayMakeMultiDetector (const Char_t *dataset_name, Int_t run=-1, TString classname="KVMultiDetArray")
 
static void SetMakeMultiDetectorPhysicsParametersOnly (Bool_t on=kTRUE)
 
- Static Public Member Functions inherited from KVBase
static Bool_t AreEqual (Double_t x, Double_t y, Long64_t maxdif=1)
 Comparison between two 64-bit floating-point values.
 
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 Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *dir_name=".")
 
static Bool_t FindExecutable (TString &exec, const Char_t *path="$(PATH)")
 
static const Char_tFindFile (const Char_t *search, TString &wfil)
 
static const Char_tGetBINDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetDATABASEFilePath ()
 
static const Char_tGetDATADIRFilePath (const Char_t *namefile="")
 
static Bool_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval)
 
static const Char_tGetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval)
 
static Double_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t defval)
 
static const Char_tGetETCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetExampleFilePath (const Char_t *library, const Char_t *namefile)
 Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.)
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date.
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build.
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build time.
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...)
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build.
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build.
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string.
 
static const Char_tGetLIBDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetListOfPlugins (const Char_t *base)
 
static const Char_tGetListOfPluginURIs (const Char_t *base)
 
static const Char_tGetPluginURI (const Char_t *base, const Char_t *plugin)
 
static void GetTempFileName (TString &base)
 
static const Char_tGetTEMPLATEDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetWORKDIRFilePath (const Char_t *namefile="")
 
static const Char_tgitBranch ()
 Returns git branch of sources.
 
static const Char_tgitCommit ()
 Returns last git commit of sources.
 
static void InitEnvironment ()
 
static bool is_gnuinstall ()
 
static Bool_t IsThisAPlugin (const TString &uri, TString &base)
 
static TPluginHandlerLoadPlugin (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.
 
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_tWorkingDirectory ()
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
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)
 

Private Types

enum  {
  kIsRemoving = BIT(14) , kParamsSet = BIT(15) , kIsBuilt = BIT(16) , kIsBeingDeleted = BIT(17) ,
  kIDParamsSet = BIT(18) , kCalParamsSet = BIT(19)
}
 

Private Member Functions

void add_and_set_detector_signal (KVDetector *det, KVString detname, Double_t sig_data, KVString sig_type)
 
void AddTrajectory (KVGeoDNTrajectory *d)
 
void AssociateTrajectoriesAndNodes ()
 
virtual void BuildGeometry ()
 
void CalculateReconstructionTrajectories ()
 
virtual void copy_fired_parameters_to_recon_param_list ()
 
void DeduceGroupsFromTrajectories ()
 
virtual void DeduceIdentificationTelescopesFromGeometry ()
 
virtual void GetAlignedIDTelescopesForDetector (KVDetector *det, TCollection *list)
 
virtual UShort_t GetBadIDCode ()
 
virtual UShort_t GetCoherencyIDCode ()
 
TString GetFileName (KVExpDB *, const Char_t *meth, const Char_t *keyw)
 
virtual Int_t GetIDTelescopes (KVDetector *, KVDetector *, TCollection *list)
 
virtual void GetIDTelescopesForGroup (KVGroup *grp, TCollection *tel_list)
 
std::unique_ptr< KVFileReaderGetKVFileReader (KVExpDB *db, const Char_t *meth, const Char_t *keyw)
 
virtual UShort_t GetMultiHitFirstStageIDCode ()
 
virtual UChar_t GetNormalCalibrationCode ()
 
UShort_t GetZminCode ()
 
virtual Bool_t handle_raw_data_event_ebyedat (KVGANILDataReader &)
 General method for reading raw data in old GANIL ebyedat format.
 
virtual Bool_t handle_raw_data_event_mfmfile (MFMBufferReader &)
 
virtual Bool_t handle_raw_data_event_mfmframe (const MFMCommonFrame &)
 
virtual Bool_t handle_raw_data_event_mfmframe_ebyedat (const MFMEbyedatFrame &)
 Read a raw data event from a EBYEDAT MFM Frame.
 
virtual Bool_t handle_raw_data_event_mfmmergeframe (const MFMMergeFrameManager &)
 
virtual Bool_t handle_raw_data_event_protobuf (KVProtobufDataReader &)
 
virtual void MakeListOfDetectors ()
 
virtual void PerformClosedROOTGeometryOperations ()
 
virtual void PrepareModifGroup (KVGroup *grp, KVDetector *dd)
 
void ReadAbsentDetectors (KVExpDB *db)
 
void ReadCalibFile (const Char_t *filename, KVExpDB *db, KVDBTable *calib_table)
 
void ReadCalibrationFiles (KVExpDB *db)
 
void ReadOoODetectors (KVExpDB *db)
 
virtual void RenumberGroups ()
 
void set_detector_thicknesses (const TString &)
 
virtual void set_up_single_stage_telescope (KVDetector *det, KVIDTelescope *idt, TCollection *l)
 Set up detector in single-stage identification telescope and add to fIDTelescopes and to l.
 
virtual void set_up_telescope (KVDetector *de, KVDetector *e, KVIDTelescope *idt, TCollection *l)
 Set up detectors in de-e identification telescope and add to fIDTelescopes and to l.
 
virtual void SetDetecting (KVDetector *det, Bool_t detecting=kTRUE)
 
virtual void SetExpectedDetectorSignalNames ()
 
virtual void SetIDCodeForIDTelescope (KVIDTelescope *) const
 
virtual void SetPresent (KVDetector *det, Bool_t present=kTRUE)
 
bool try_a_doubleIDtelescope (TString uri, KVDetector *de, KVDetector *e, TCollection *l)
 
bool try_a_singleIDtelescope (TString uri, KVDetector *d, TCollection *l)
 
int try_all_doubleID_telescopes (KVDetector *de, KVDetector *e, TCollection *l)
 
int try_all_singleID_telescopes (KVDetector *d, TCollection *l)
 
bool try_upper_and_lower_doubleIDtelescope (TString uri, KVDetector *de, KVDetector *e, TCollection *l)
 
bool try_upper_and_lower_singleIDtelescope (TString uri, KVDetector *d, TCollection *l)
 

Private Attributes

KVNumberList fAcceptECodes
 list of acceptable calibration codes for reconstructed nuclei
 
KVNumberList fAcceptIDCodes
 list of acceptable identification codes for reconstructed nuclei
 
TListfCalibStatusDets
 used by GetStatusIDTelescopes
 
UInt_t fCurrentRun
 Number of the current run used to call SetParameters.
 
TString fDataSet
 name of associated dataset, used with MakeMultiDetector()
 
KVUniqueNameList fExtraRawDataSignals
 any signals read from raw data not associated with a detector
 
Int_t fFilterType
 type of filtering (used by DetectEvent)
 
KVUniqueNameList fFiredDetectors
 list of fired detectors after reading raw data event
 
KVUnownedList fFiredSignals
 list of fired signals after reading raw data event
 
Bool_t fHandledRawData
 set to true if multidetector handles data in last call to HandleRawData
 
KVDetectorEventfHitGroups
 list of hit groups in simulation
 
KVSeqCollectionfIDTelescopes
 deltaE-E telescopes in groups
 
KVRangeTableGeoNavigatorfNavigator
 for propagating particles through array geometry
 
TString fPartSeedCond
 condition for seeding new reconstructed particles
 
KVRawDataReaderfRawDataReader
 last raw data reader object used in call to HandleRawData
 
KVNameValueList fReconParameters
 general purpose list of parameters for storing information on data reconstruction
 
Bool_t fROOTGeometry
 =kTRUE use ROOT geometry
 
Bool_t fSimMode
 =kTRUE in "simulation mode" (use for calculating response to simulated events)
 
TListfStatusIDTelescopes
 used by GetStatusIDTelescopes
 
KVTargetfTarget
 target used in experiment
 
KVUniqueNameList fTrajectories
 list of all possible trajectories through detectors of array
 
KVUpDaterfUpDater
 used to set parameters for multidetector
 

Static Private Attributes

static Bool_t fBuildTarget = kFALSE
 
static Bool_t fCloseGeometryNow = kTRUE
 
static Bool_t fMakeMultiDetectorPhysicsParametersOnly = kFALSE
 
static Int_t fMakeMultiDetectorRunNumber = -1
 
static Bool_t fMakeMultiDetectorSetParameters = kTRUE
 

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
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
kIsRemoving 
kParamsSet 
kIsBuilt 
kIsBeingDeleted 
kIDParamsSet 
kCalParamsSet 

Definition at line 77 of file KVMultiDetArray.h.

◆ EFilterType

filter types. values of fFilterType

Enumerator
kFilterType_Geo 
kFilterType_GeoThresh 
kFilterType_Full 

Definition at line 265 of file KVMultiDetArray.h.

Constructor & Destructor Documentation

◆ KVMultiDetArray() [1/2]

KVMultiDetArray::KVMultiDetArray ( )

Default constructor.

Definition at line 70 of file KVMultiDetArray.cpp.

◆ KVMultiDetArray() [2/2]

KVMultiDetArray::KVMultiDetArray ( const Char_t name,
const Char_t type = "" 
)

Constructor with name and optional type.

Definition at line 83 of file KVMultiDetArray.cpp.

◆ ~KVMultiDetArray()

KVMultiDetArray::~KVMultiDetArray ( )
virtual

destroy (delete) the MDA and all the associated structure, detectors etc.

Definition at line 157 of file KVMultiDetArray.cpp.

Member Function Documentation

◆ AcceptAllECodes()

virtual void KVMultiDetArray::AcceptAllECodes ( )
inlinevirtual

Calling this method disables any selection of "OK" reconstructed particles according to their calibration code status.

See also
AcceptECodes()

Reimplemented in KVExpSetUp.

Examples
ExampleE789ReconAnalysis.cpp, and ExampleReconAnalysis.cpp.

Definition at line 548 of file KVMultiDetArray.h.

◆ AcceptAllIDCodes()

virtual void KVMultiDetArray::AcceptAllIDCodes ( )
inlinevirtual

Calling this method disables any selection of "OK" reconstructed particles according to their identification code status.

See also
AcceptIDCodes()

Reimplemented in KVExpSetUp.

Examples
ExampleE789ReconAnalysis.cpp, and ExampleReconAnalysis.cpp.

Definition at line 513 of file KVMultiDetArray.h.

◆ AcceptECodes()

void KVMultiDetArray::AcceptECodes ( const KVNumberList codelist)
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:

AcceptECodes( "1-3, 12, 14-21" );
void AcceptECodes(const KVNumberList &codelist)

or as a set of symbolic values, variables etc.:

int code1(3), code2(6), code3(12);
AcceptECodes( {code1, code2, code3} );

Default list may be set with variable:

[DataSet].[name].ReconstructedNuclei.AcceptECodes: [list]
char name[80]

If called several times, only the last list of values will be taken into account.

Definition at line 522 of file KVMultiDetArray.h.

◆ AcceptIDCodes()

void KVMultiDetArray::AcceptIDCodes ( const KVNumberList codelist)
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:

AcceptIDCodes( "1-3, 12, 14-21" );
void AcceptIDCodes(const KVNumberList &codelist)

or as a set of symbolic values, variables etc.:

int code1(3), code2(6), code3(12);
AcceptIDCodes( {code1, code2, code3} );

Default list may be set with variable:

[DataSet].[name].ReconstructedNuclei.AcceptIDCodes: [list]

If called several times, only the last list of values will be taken into account.

Definition at line 487 of file KVMultiDetArray.h.

◆ AcceptParticleForAnalysis()

void KVMultiDetArray::AcceptParticleForAnalysis ( KVReconstructedNucleus NUC) const
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

[DataSet].[name].ReconstructedNuclei.AcceptIDCodes: [list]
[DataSet].[name].ReconstructedNuclei.AcceptECodes: [list]

where:

  • DataSet is an optional dataset name for dataset-specific lists
  • name is the name of the multidetector array
  • list 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 3936 of file KVMultiDetArray.cpp.

◆ add_and_set_detector_signal()

void KVMultiDetArray::add_and_set_detector_signal ( KVDetector detector,
KVString  detname,
Double_t  sig_data,
KVString  sig_type 
)
private

Given a pointer to a detector (may be nullptr) try to set the data sig_data in the associated signal of the given type, sig_typ.

If the signal does not exist for the detector, it will be created.

If detector pointer is null, the signal will be looked for in fExtraRawDataSignals and created if necessary.

All fired detectors and signals are added to the lists fFiredDetectors and fFiredSignals.

Definition at line 4155 of file KVMultiDetArray.cpp.

◆ AddTrajectory()

void KVMultiDetArray::AddTrajectory ( KVGeoDNTrajectory d)
inlineprivate

Definition at line 153 of file KVMultiDetArray.h.

◆ AnalyseGroupAndReconstructEvent()

void KVMultiDetArray::AnalyseGroupAndReconstructEvent ( KVReconstructedEvent recev,
KVGroup grp 
)
virtual

Loop over detectors in group, starting from the furthest from the target, and working inwards. Calls KVReconstructedEvent::AnalyseDetectors

Reimplemented in KVASMultiDetArray.

Definition at line 1939 of file KVMultiDetArray.cpp.

◆ AssociateTrajectoriesAndNodes()

void KVMultiDetArray::AssociateTrajectoriesAndNodes ( )
private

Eliminate any trajectories which are just sub-trajectories of others For each trajectory in list fTrajectories, we add a reference to the trajectory to each node on the trajectory

Definition at line 3724 of file KVMultiDetArray.cpp.

◆ Build()

void KVMultiDetArray::Build ( Int_t  run = -1)
virtual

Reimplemented in KVINDRA, KVExpSetUp, and KVFAZIA.

Definition at line 200 of file KVMultiDetArray.cpp.

◆ BuildGeometry()

virtual void KVMultiDetArray::BuildGeometry ( )
inlineprivatevirtual

Reimplemented in KVINDRA.

Definition at line 119 of file KVMultiDetArray.h.

◆ CalculateDetectorSegmentationIndex()

void KVMultiDetArray::CalculateDetectorSegmentationIndex ( )

*** Set 'segmentation' index of detectors *** This is essential for particle reconstruction, judging whether particles can be identified independently of any others in the same group etc. Basically, any detector with >1 detector placed directly behind it has a seg. index = 0 if <=1 detector is directly behind, the seg. index = 1 This method is used for arrays imported from ROOT geometries.

Definition at line 3162 of file KVMultiDetArray.cpp.

◆ CalculateIdentificationGrids()

void KVMultiDetArray::CalculateIdentificationGrids ( )

For each IDtelescope in array, calculate an identification grid.

Definition at line 4653 of file KVMultiDetArray.cpp.

◆ CalculateReconstructionTrajectories()

void KVMultiDetArray::CalculateReconstructionTrajectories ( )
private

Calculate all possible (sub-)trajectories for particle reconstruction (GetReconTrajectories())

Definition at line 3650 of file KVMultiDetArray.cpp.

◆ CalParamsSet()

Bool_t KVMultiDetArray::CalParamsSet ( )
inline

Definition at line 378 of file KVMultiDetArray.h.

◆ CheckROOTGeometry()

void KVMultiDetArray::CheckROOTGeometry ( )
inline

Turns on ROOT geometry if not already in use

Definition at line 466 of file KVMultiDetArray.h.

◆ CheckStatusOfDetectors()

void KVMultiDetArray::CheckStatusOfDetectors ( KVDBRun kvrun,
const TString myname = "" 
)

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 4671 of file KVMultiDetArray.cpp.

◆ Clear()

void KVMultiDetArray::Clear ( Option_t opt = "")
virtual

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 KVGeoStrucElement.

Reimplemented in KVExpSetUp.

Definition at line 1602 of file KVMultiDetArray.cpp.

◆ copy_fired_parameters_to_recon_param_list()

void KVMultiDetArray::copy_fired_parameters_to_recon_param_list ( )
privatevirtual

values of fired raw data signals (acquisition parameters) from last read raw event are copied to the fReconParameters list of parameters to be stored with the reconstructed event.

the format for each signal is:

ACQPAR.[array].[detector].[signal] ACQPAR.[array].[signal]

in the first case for signals associated with detectors, in the latter case signals which are not associated with a detector

Reimplemented in KVFAZIA, KVINDRA, and KVExpSetUp.

Definition at line 4045 of file KVMultiDetArray.cpp.

◆ CreateGeoManager()

void KVMultiDetArray::CreateGeoManager ( Double_t  dx = 500,
Double_t  dy = 500,
Double_t  dz = 500 
)
inline

Definition at line 241 of file KVMultiDetArray.h.

◆ CreateIDTelescopesInGroups()

void KVMultiDetArray::CreateIDTelescopesInGroups ( )
virtual

Definition at line 584 of file KVMultiDetArray.cpp.

◆ DeduceGroupsFromTrajectories()

void KVMultiDetArray::DeduceGroupsFromTrajectories ( )
private

Deduce the "groups" in the array from the trajectories Any trajectories with 1 or more common detectors define a group. The group is constituted of all detectors belonging to the trajectories of the group.

Definition at line 3852 of file KVMultiDetArray.cpp.

◆ DeduceIdentificationTelescopesFromGeometry()

void KVMultiDetArray::DeduceIdentificationTelescopesFromGeometry ( )
privatevirtual

Track over all possible particle trajectories calling GetIDTelescopes(KVDetector*,KVDetector*) for each pair of (present & functioning) detectors. This will create all possible KVIDTelescope identification objects and put them in list fIDTelescopes

Reimplemented in KVFAZIA.

Definition at line 3682 of file KVMultiDetArray.cpp.

◆ DetectEvent()

void KVMultiDetArray::DetectEvent ( KVEvent event,
KVReconstructedEvent rec_event,
const Char_t detection_frame = "" 
)
virtual

Simulate detection of event by multidetector array.

optional argument detection_frame(="" by default) can be used to give name of inertial reference frame (defined for all particles of 'event') to be used. e.g. if the simulated event's default reference frame is the centre of mass frame, before calling this method you should create the 'laboratory' or 'detector' frame with KVEvent::SetFrame(...), and then give the name of the 'LAB' or 'DET' frame as 3rd argument here.

For each particle in the event we calculate first its energy loss in the target (if the target has been defined, see KVMultiDetArray::SetTarget). By default these energy losses are calculated from a point half-way along the beam-direction through the target (taking into account the orientation of the target), if you want random depths for each event call GetTarget()->SetRandomized() before using DetectEvent().

If the particle escapes the target then we look for the group in the array that it will hit. If there is one, then the detection of this particle by the different members of the group is simulated. The actual geometry and algorithms used to calculate the particle's trajectory depend on the value of fROOTGeometry (modify with SetROOTGeometry(kTRUE/kFALSE): if kTRUE: we use the ROOT TGeo description of the array generated by CreateGeoManager(). In this case, CreateGeoManager() must be called once in order to set up the geometry. if kFALSE: we use the simplistic KaliVeda geometry, i.e. detectors are only defined by min/max polar & azimuthal angles.

The detectors concerned have their fEloss members set to the energy lost by the particle when it crosses them.

Give tags to the simulated particles via KVNucleus::AddGroup() method Two general tags :

  • DETECTED : cross at least one active layer of one detector
  • UNDETECTED : go through dead zone or stopped in target We add also different sub group :
  • For UNDETECTED particles : "NO HIT", "NEUTRON", "DEAD ZONE", "STOPPED IN TARGET" and "THRESHOLD", the last one concerned particle go through the first detection stage of the multidetector array but stopped in an absorber (ie an inactive layer)
  • For DETECTED particles : "PUNCH THROUGH" corrresponds to particle which cross all the materials in front of it (high energy particle punh through), or which miss some detectors due to a non perfect overlap between defined telescope, "INCOMPLETE" corresponds to particles which stopped in the first detection stage of the multidetector in a detector which can not give alone a clear identification, this correponds to status=3 or idcode=5 in INDRA data

After the filtered process, a reconstructed event are obtain from the fired groups corresponding to detection group where at least one detector havec an active layer energy loss greater than zero this reconstructed event are available for the user in the KVReconstructedEvent* rec_event argument This pointer is cleared and also the multidet array at the beginning of the method

INFO to the user :

  • at this point the different PILE-UP, several particles going through same telescope, detector are only taken into account for filter type KVMultiDetArray::kFilterType_Full
  • specific cases correponding specific multi detectors are to be implemented in the child class

=== FILTER TYPES === Use gMultiDetArray->SetFilterType(...) with one of the following values: KVMultiDetArray::kFilterType_Geo geometric filter only, particles are kept if they hit detector in the array energy losses are not calculated, particle energies are irrelevant KVMultiDetArray::kFilterType_GeoThresh particles are kept if they have enough energy to leave the target, and enough energy to cross at least one detector of the array —> for these two cases, accepted particles are copied into the 'reconstructed' event with their original simulated energy, charge and mass, although angles are randomized to reflect detector granularity

KVMultiDetArray::kFilterType_Full full simulation of detection of particles by the array. the calibration parameters for the chosen run (call to gMultiDetArray->SetParameters(...)) are inverted in order to calculate pseudo-raw data from the calculated energy losses. the resulting pseudo-raw

SIMULATED EVENT PARAMETERS

The event given as input to the method may contain extra information in its parameter list concerning the simulation. The parameter list of the event is copied into that of the reconstructed event, therefore these informations can be accessed from the reconstructed event using the method rec_event->GetParameters()

SIMULATED PARTICLE PARAMETERS

For filter types KVMultiDetArray::kFilterType_Geo and KVMultiDetArray::kFilterType_GeoThresh, for which there is a 1-to-1 correspondance between simulated and reconstructed particles, we copy the list of parameters associated to each input particle into the output particle. Note that this list contains full informations on the detection of each particle (see Users Guide chapter on Filtering)

TRACKING (only with ROOT geometries)

You can visualise the trajectories of particles for individual events in the 3D OpenGL viewer. To enable this: gMultiDetArray->GetNavigator()->SetTracking(kTRUE) Then you can do: gMultiDetArray->DetectEvent(...) gMultiDetArray->Draw("tracks") The geometry of the array with the tracks overlaid will be displayed.

Definition at line 794 of file KVMultiDetArray.cpp.

◆ DetectParticle()

virtual KVNameValueList * KVMultiDetArray::DetectParticle ( KVNucleus part)
inlinevirtual

Reimplemented in KVASMultiDetArray.

Definition at line 319 of file KVMultiDetArray.h.

◆ DetectParticle_TGEO()

KVNameValueList * KVMultiDetArray::DetectParticle_TGEO ( KVNucleus part)

Use ROOT geometry to propagate particle through the array, calculating its energy losses in all absorbers, and setting the energy loss members of the active detectors on the way.

It is assumed that the ROOT geometry has been generated and is pointed to by gGeoManager.

Returns a list (KVNameValueList pointer) of the crossed detectors with their name and energy loss if particle hits detector in array, 0 if not (i.e. particle in beam pipe or dead zone of the multidetector) INFO User has to delete the KVNameValueList after its use list of energy losses in active layers of detectors

Definition at line 1432 of file KVMultiDetArray.cpp.

◆ DetectParticleIn()

void KVMultiDetArray::DetectParticleIn ( const Char_t detname,
KVNucleus kvp 
)

Given the name of a detector, simulate detection of a given particle by the complete corresponding group. The particle's theta and phi are set at random within the limits of detector entrance window

Definition at line 1996 of file KVMultiDetArray.cpp.

◆ Draw()

void KVMultiDetArray::Draw ( Option_t option = "")
virtual

Use OpenGL viewer to view multidetector geometry (only for ROOT geometries)

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 3546 of file KVMultiDetArray.cpp.

◆ DrawPunchThroughEnergyVsZ()

TGraph * KVMultiDetArray::DrawPunchThroughEnergyVsZ ( const Char_t detector,
Int_t  massform = KVNucleus::kBetaMass 
)
virtual

Creates and fills a TGraph with the punch through energy in MeV vs. Z for the given detector, for Z=1-92. The mass of each nucleus is calculated according to the given mass formula (see KVNucleus).

Definition at line 2984 of file KVMultiDetArray.cpp.

◆ DrawPunchThroughEsurAVsZ()

TGraph * KVMultiDetArray::DrawPunchThroughEsurAVsZ ( const Char_t detector,
Int_t  massform = KVNucleus::kBetaMass 
)
virtual

Creates and fills a TGraph with the punch through energy in MeV/nucleon vs. Z for the given detector, for Z=1-92. The mass of each nucleus is calculated according to the given mass formula (see KVNucleus).

Definition at line 3009 of file KVMultiDetArray.cpp.

◆ DrawPunchThroughZVsVpar()

TGraph * KVMultiDetArray::DrawPunchThroughZVsVpar ( const Char_t detector,
Int_t  massform = KVNucleus::kBetaMass 
)
virtual

Creates and fills a TGraph with the Z vs. the punch-through velocity paralllel to the beam direction in cm/ns for the given detector, for Z=1-92. The mass of each nucleus is calculated according to the given mass formula (see KVNucleus).

Definition at line 3035 of file KVMultiDetArray.cpp.

◆ FillDetectorList()

void KVMultiDetArray::FillDetectorList ( KVReconstructedNucleus rnuc,
KVHashList DetList,
const KVString DetNames 
)
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 3901 of file KVMultiDetArray.cpp.

◆ FillHistogramsForAllIDTelescopes()

void KVMultiDetArray::FillHistogramsForAllIDTelescopes ( KVSeqCollection list)

Fill TH2F histograms for all IDTelescopes of the array.

Definition at line 3616 of file KVMultiDetArray.cpp.

◆ FillListOfIDTelescopes()

void KVMultiDetArray::FillListOfIDTelescopes ( KVIDGraph gr) const

Fill list of ID telescopes with which this grid is associated from list of names read from ascii file.

Definition at line 3517 of file KVMultiDetArray.cpp.

◆ FilteredEventCoherencyAnalysis()

Int_t KVMultiDetArray::FilteredEventCoherencyAnalysis ( Int_t  round,
KVReconstructedEvent rec_event 
)
virtual

Perform multi-hit and coherency analysis of filtered event. round=1,2,... depending on number of times method has been called Returns number of particles whose status were changed. When this becomes zero, the coherency analysis is finished

Definition at line 625 of file KVMultiDetArray.cpp.

◆ GetAcceptedECodes()

const KVNumberList & KVMultiDetArray::GetAcceptedECodes ( ) const
inline

Definition at line 483 of file KVMultiDetArray.h.

◆ GetAcceptedIDCodes()

const KVNumberList & KVMultiDetArray::GetAcceptedIDCodes ( ) const
inline

Definition at line 479 of file KVMultiDetArray.h.

◆ GetAlignedIDTelescopesForDetector()

void KVMultiDetArray::GetAlignedIDTelescopesForDetector ( KVDetector det,
TCollection list 
)
privatevirtual

Create and add to list all ID telescopes made of this detector and the aligned detectors placed in front of it.

If list=0 then we store pointers to the ALREADY EXISTING ID telescopes in det->fIDTelAlign. (first clear det->fIDTelAlign)

Definition at line 3189 of file KVMultiDetArray.cpp.

◆ GetArray()

virtual KVMultiDetArray * KVMultiDetArray::GetArray ( const Char_t ) const
inlinevirtual

Reimplemented in KVExpSetUp.

Examples
ExampleReconAnalysis.cpp.

Definition at line 558 of file KVMultiDetArray.h.

◆ GetBadIDCode()

virtual UShort_t KVMultiDetArray::GetBadIDCode ( )
inlineprivatevirtual

The following methods are used by the current implementation of the filter. They should be removed in future implementations.

return a general identification code for particles badly identified with this type of ID telescope redefine in child classes; default returns 14.

Reimplemented in KVINDRA.

Definition at line 190 of file KVMultiDetArray.h.

◆ GetCalibrationStatusOfDetectors()

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 2610 of file KVMultiDetArray.cpp.

◆ GetCoherencyIDCode()

virtual UShort_t KVMultiDetArray::GetCoherencyIDCode ( )
inlineprivatevirtual

return a general identification code for particles identified with this type of ID telescope after coherency analysis redefine in child classes; default returns 6.

Reimplemented in KVINDRA.

Definition at line 197 of file KVMultiDetArray.h.

◆ GetCurrentRunNumber()

UInt_t KVMultiDetArray::GetCurrentRunNumber ( ) const
inline
Examples
ExampleFilteredSimDataAnalysis.cpp.

Definition at line 382 of file KVMultiDetArray.h.

◆ GetDataSet()

TString KVMultiDetArray::GetDataSet ( ) const
inline

Definition at line 592 of file KVMultiDetArray.h.

◆ GetDetectorEvent()

void KVMultiDetArray::GetDetectorEvent ( KVDetectorEvent detev,
const TSeqCollection fired_dets = 0 
)
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 KVFAZIA, KVINDRA, and KVExpSetUp.

Definition at line 1857 of file KVMultiDetArray.cpp.

◆ GetECodeMeaning()

virtual TString KVMultiDetArray::GetECodeMeaning ( Int_t  ) const
inlinevirtual

Reimplemented in KVFAZIA, and KVINDRA.

Definition at line 611 of file KVMultiDetArray.h.

◆ GetExtraRawDataSignals()

const KVSeqCollection * KVMultiDetArray::GetExtraRawDataSignals ( ) const
inline

Definition at line 309 of file KVMultiDetArray.h.

◆ GetFileName()

TString KVMultiDetArray::GetFileName ( KVExpDB db,
const Char_t meth,
const Char_t keyw 
)
private

Definition at line 4289 of file KVMultiDetArray.cpp.

◆ GetFiredDetectors()

const KVSeqCollection * KVMultiDetArray::GetFiredDetectors ( ) const
inline

Definition at line 297 of file KVMultiDetArray.h.

◆ GetFiredSignals()

const KVSeqCollection * KVMultiDetArray::GetFiredSignals ( ) const
inline

Definition at line 303 of file KVMultiDetArray.h.

◆ GetGeometry()

TGeoManager * KVMultiDetArray::GetGeometry ( ) const

Return pointer to the (ROOT) geometry of the array.

Definition at line 2751 of file KVMultiDetArray.cpp.

◆ GetGroup()

KVGroup * KVMultiDetArray::GetGroup ( const Char_t name) const
virtual

Return pointer to group with name.

Definition at line 1578 of file KVMultiDetArray.cpp.

◆ GetGroupWithAngles()

virtual KVGroup * KVMultiDetArray::GetGroupWithAngles ( Float_t  ,
Float_t   
)
inlinevirtual

Reimplemented in KVASMultiDetArray.

Definition at line 288 of file KVMultiDetArray.h.

◆ GetGroupWithDetector()

KVGroup * KVMultiDetArray::GetGroupWithDetector ( const Char_t name)
virtual

return pointer to group in array which contains detector or telescope with name "name"

Definition at line 1555 of file KVMultiDetArray.cpp.

◆ GetIDCodeForParticlesStoppingInFirstStageOfTelescopes()

virtual Int_t KVMultiDetArray::GetIDCodeForParticlesStoppingInFirstStageOfTelescopes ( ) const
inlinevirtual

By default, for historical reasons, this returns 5

Reimplemented in KVFAZIA, and KVINDRA.

Definition at line 602 of file KVMultiDetArray.h.

◆ GetIDCodeMeaning()

virtual TString KVMultiDetArray::GetIDCodeMeaning ( Int_t  ) const
inlinevirtual

Reimplemented in KVFAZIA, and KVINDRA.

Definition at line 607 of file KVMultiDetArray.h.

◆ GetIDTelescope()

KVIDTelescope * KVMultiDetArray::GetIDTelescope ( const Char_t name) const

Return pointer to DeltaE-E ID Telescope with "name".

Definition at line 1540 of file KVMultiDetArray.cpp.

◆ GetIDTelescopes()

Int_t KVMultiDetArray::GetIDTelescopes ( KVDetector de,
KVDetector e,
TCollection list 
)
privatevirtual

Create one or more KVIDTelescope particle-identification objects from the two detectors

The different ID telescopes are defined as 'Plugin' objects in the file $KVROOT/KVFiles/.kvrootrc :

The KVMultiDetArray::GetIDTelescopes(KVDetector*de, KVDetector*e) method uses these plugins to

create KVIDTelescope instances adapted to the specific array geometry and detector types.

For each pair of detectors we look for a plugin with one of the following names:

[name_of_dataset].array_name.de_detector_type[de detector thickness]-e_detector_type[de detector thickness]

Each characteristic in [] brackets may or may not be present in the name; first we test for names

with these characteristics, then all combinations where one or other of the characteristics is not present.

In addition, we first test all combinations which begin with [name_of_dataset].

The first plugin found in this order will be used.

In addition, if for one of the two detectors there is a plugin called

[name_of_dataset].array_name.de_detector_type[de detector thickness]

[name_of_dataset].array_name.e_detector_type[e detector thickness]

then we add also an instance of this 1-detector identification telescope.

This method is called by DeduceIdentificationTelescopesFromGeometry in order to set up all ID telescopes of the array.

Returns number of ID telescopes created

Reimplemented in KVINDRA.

Definition at line 232 of file KVMultiDetArray.cpp.

◆ GetIDTelescopesForGroup()

void KVMultiDetArray::GetIDTelescopesForGroup ( KVGroup grp,
TCollection tel_list 
)
privatevirtual

Identify all the ways of identifying particles possible from the detectors in the group, create the appropriate KVIDTelescope objects and add them to the list pointed to by tel_list. USER'S RESPONSIBILITY TO DELETE CONTENTS OF LIST!!

Starting from each detector in the group, we build ID telescopes from all pairs of aligned detectors.

For each pair of detectors, it is KVMultiDetArray::GetIDTelescopes which determines which KVIDTelescope class to use (specialise this method in KVMultiDetArray child classes). It must also make sure that each IDTelescope is added only once (i.e. check it is not already in the list).

Reimplemented in KVASMultiDetArray.

Definition at line 3268 of file KVMultiDetArray.cpp.

◆ GetIDTelescopesWithType()

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 2586 of file KVMultiDetArray.cpp.

◆ GetIDTelescopeTypes()

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.

Delete the list after use (it owns the TObjString objects)

Definition at line 2557 of file KVMultiDetArray.cpp.

◆ GetKVFileReader()

unique_ptr< KVFileReader > KVMultiDetArray::GetKVFileReader ( KVExpDB db,
const Char_t meth,
const Char_t keyw 
)
private

Definition at line 4309 of file KVMultiDetArray.cpp.

◆ GetListOfIDTelescopes()

KVSeqCollection * KVMultiDetArray::GetListOfIDTelescopes ( ) const
inline

Definition at line 326 of file KVMultiDetArray.h.

◆ GetMultiHitFirstStageIDCode()

virtual UShort_t KVMultiDetArray::GetMultiHitFirstStageIDCode ( )
inlineprivatevirtual

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 204 of file KVMultiDetArray.h.

◆ GetNavigator()

KVGeoNavigator * KVMultiDetArray::GetNavigator ( ) const

Definition at line 2761 of file KVMultiDetArray.cpp.

◆ GetNormalCalibrationCode()

virtual UChar_t KVMultiDetArray::GetNormalCalibrationCode ( )
inlineprivatevirtual

return a general calibration code for correctly calibrated particles redefine in child classes; default returns 1.

Reimplemented in KVFAZIA, and KVINDRA.

Definition at line 217 of file KVMultiDetArray.h.

◆ GetNumberOfGroups()

Int_t KVMultiDetArray::GetNumberOfGroups ( ) const
inline

Definition at line 575 of file KVMultiDetArray.h.

◆ GetPartSeedCond()

virtual const Char_t * KVMultiDetArray::GetPartSeedCond ( ) const
inlinevirtual

get condition used to seed reconstructed particles

Definition at line 564 of file KVMultiDetArray.h.

◆ GetPunchThroughEnergy()

Double_t KVMultiDetArray::GetPunchThroughEnergy ( const Char_t detector,
Int_t  Z,
Int_t  A 
)
virtual

Calculate incident energy of particle (Z,A) required to punch through given detector, taking into account any detectors which the particle must first cross in order to reach it.

Definition at line 2955 of file KVMultiDetArray.cpp.

◆ GetReconParameters() [1/2]

KVNameValueList & KVMultiDetArray::GetReconParameters ( )
inline

any information placed in this list during event reconstruction will be stored in the KVReconstructedEvent generated

Definition at line 228 of file KVMultiDetArray.h.

◆ GetReconParameters() [2/2]

const KVNameValueList & KVMultiDetArray::GetReconParameters ( ) const
inline

any information placed in this list during event reconstruction will be stored in the KVReconstructedEvent generated

Definition at line 234 of file KVMultiDetArray.h.

◆ GetReconstructorForGroup()

KVGroupReconstructor * KVMultiDetArray::GetReconstructorForGroup ( const KVGroup g) const
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()"

Reimplemented in KVFAZIA, KVINDRA, and KVExpSetUp.

Definition at line 3811 of file KVMultiDetArray.cpp.

◆ GetStatusOfIDTelescopes()

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 2507 of file KVMultiDetArray.cpp.

◆ GetTarget()

KVTarget * KVMultiDetArray::GetTarget ( )
inline

Get pointer to experimental target (if defined - if not, returns nullptr)

Definition at line 342 of file KVMultiDetArray.h.

◆ GetTargetEnergyLossCorrection()

Double_t KVMultiDetArray::GetTargetEnergyLossCorrection ( KVReconstructedNucleus ion)
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 2724 of file KVMultiDetArray.cpp.

◆ GetTelescope()

KVTelescope * KVMultiDetArray::GetTelescope ( const Char_t name) const
virtual

Return pointer to telescope in array with name given by "name".

Reimplemented in KVASMultiDetArray.

Definition at line 1529 of file KVMultiDetArray.cpp.

◆ GetTotalSolidAngle()

virtual Double_t KVMultiDetArray::GetTotalSolidAngle ( void  ) const
inlinevirtual

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

Reimplemented in KVASMultiDetArray.

Definition at line 395 of file KVMultiDetArray.h.

◆ GetTrajectories()

const TSeqCollection * KVMultiDetArray::GetTrajectories ( ) const
inline

Get list of all possible trajectories for particles traversing array

Definition at line 460 of file KVMultiDetArray.h.

◆ GetUpDater()

KVUpDater * KVMultiDetArray::GetUpDater ( )

Return pointer to KVUpDater defined by dataset for this multidetector, the class used is defined as a plugin like this:

Plugin.KVUpDater: name_of_dataset name_of_class name_of_plugin_library constructor_to_call

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 2158 of file KVMultiDetArray.cpp.

◆ GetVolumePositioningMatrix()

TGeoHMatrix * KVMultiDetArray::GetVolumePositioningMatrix ( Double_t  distance,
Double_t  theta,
Double_t  phi,
TGeoTranslation postTrans = nullptr 
)
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:

TGeoVolume* vol;// volume to be positioned
double depth = vol->GetShape()->GetDZ(); // half-width of volume in direction of target
// place front of volume at 100cm, with theta=45 deg. and phi=60 deg.
R__EXTERN TGeoManager * gGeoManager
static TGeoHMatrix * GetVolumePositioningMatrix(Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr)
TGeoVolume * GetTopVolume() const
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
TGeoShape * GetShape() const

Definition at line 3109 of file KVMultiDetArray.cpp.

◆ GetZminCode()

UShort_t KVMultiDetArray::GetZminCode ( )
inlineprivate

return a general identification code for particles partially identified with an estimated lower-limit for their charge

Definition at line 211 of file KVMultiDetArray.h.

◆ handle_raw_data_event_ebyedat()

Bool_t KVMultiDetArray::handle_raw_data_event_ebyedat ( KVGANILDataReader )
privatevirtual

General method for reading raw data in old GANIL ebyedat format.

Reimplemented in KVINDRA.

Definition at line 3969 of file KVMultiDetArray.cpp.

◆ handle_raw_data_event_mfmfile()

Bool_t KVMultiDetArray::handle_raw_data_event_mfmfile ( MFMBufferReader &  mfmreader)
privatevirtual

Update array according to last event read using the KVMFMDataFileReader object (it is assumed that KVRawDataReader::GetNextEvent() was called before calling this method)

Return kTRUE if raw data was treated

Definition at line 4536 of file KVMultiDetArray.cpp.

◆ handle_raw_data_event_mfmframe()

Bool_t KVMultiDetArray::handle_raw_data_event_mfmframe ( const MFMCommonFrame &  mfmframe)
privatevirtual

Method used to treat raw data in MFM format read by KVMFMDataFileReader

Here we dispatch two types of frame - MFMEbyedatFrame & MFMMesytecMDPPFrame - to specific methods - handle_raw_data_event_mfmframe_ebyedat() and handle_raw_data_event_mfmframe_mesytec_mdpp() which need to be implemented in child classes for specific arrays which use these data formats.

Return kTRUE if raw data was treated

Reimplemented in KVFAZIA, and KVExpSetUp.

Definition at line 4584 of file KVMultiDetArray.cpp.

◆ handle_raw_data_event_mfmframe_ebyedat()

Bool_t KVMultiDetArray::handle_raw_data_event_mfmframe_ebyedat ( const MFMEbyedatFrame &  ebyframe)
privatevirtual

Read a raw data event from a EBYEDAT MFM Frame.

Reimplemented in KVINDRA.

Definition at line 4612 of file KVMultiDetArray.cpp.

◆ handle_raw_data_event_mfmmergeframe()

Bool_t KVMultiDetArray::handle_raw_data_event_mfmmergeframe ( const MFMMergeFrameManager &  mergeframe)
privatevirtual

Method used to handle merged MFM frames We call handle_raw_data_event_mfmframe() for each frame contained in the merge

Definition at line 4558 of file KVMultiDetArray.cpp.

◆ handle_raw_data_event_protobuf()

Bool_t KVMultiDetArray::handle_raw_data_event_protobuf ( KVProtobufDataReader )
privatevirtual

Reimplemented in KVFAZIA.

Definition at line 4641 of file KVMultiDetArray.cpp.

◆ HandledRawData()

Bool_t KVMultiDetArray::HandledRawData ( ) const
inline
Examples
ExampleRawAnalysis.cpp, and ExampleReconRawAnalysis.cpp.

Definition at line 586 of file KVMultiDetArray.h.

◆ HandleRawDataBuffer()

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 4122 of file KVMultiDetArray.cpp.

◆ HandleRawDataEvent()

Bool_t KVMultiDetArray::HandleRawDataEvent ( KVRawDataReader rawdata)
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 4077 of file KVMultiDetArray.cpp.

◆ IDParamsSet()

Bool_t KVMultiDetArray::IDParamsSet ( )
inline

Definition at line 374 of file KVMultiDetArray.h.

◆ init()

void KVMultiDetArray::init ( void  )

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 105 of file KVMultiDetArray.cpp.

◆ InitialiseRawDataReading()

void KVMultiDetArray::InitialiseRawDataReading ( KVRawDataReader r)
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 KVINDRA, and KVExpSetUp.

Definition at line 3834 of file KVMultiDetArray.cpp.

◆ InitializeIDTelescopes()

void KVMultiDetArray::InitializeIDTelescopes ( )
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 2372 of file KVMultiDetArray.cpp.

◆ IsBeingDeleted()

Bool_t KVMultiDetArray::IsBeingDeleted ( )
inline

Definition at line 361 of file KVMultiDetArray.h.

◆ IsBuilt()

virtual Bool_t KVMultiDetArray::IsBuilt ( ) const
inlinevirtual

Definition at line 355 of file KVMultiDetArray.h.

◆ IsRemoving()

Bool_t KVMultiDetArray::IsRemoving ( )
inline

Definition at line 350 of file KVMultiDetArray.h.

◆ IsROOTGeometry()

Bool_t KVMultiDetArray::IsROOTGeometry ( ) const
inline

Return kTRUE if the geometry of this multidetector is described by ROOT geometry i.e. if the detectors have ROOT geometry volume & shape informations (we only test the first detector)

Definition at line 442 of file KVMultiDetArray.h.

◆ IsSimMode()

Bool_t KVMultiDetArray::IsSimMode ( ) const
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 428 of file KVMultiDetArray.h.

◆ MakeCalibrationTables()

void KVMultiDetArray::MakeCalibrationTables ( KVExpDB db)
virtual

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 KVFAZIA, KVINDRA, and KVExpSetUp.

Definition at line 4260 of file KVMultiDetArray.cpp.

◆ MakeHistogramsForAllIDTelescopes()

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 3596 of file KVMultiDetArray.cpp.

◆ MakeListOfDetectors()

void KVMultiDetArray::MakeListOfDetectors ( )
privatevirtual

Reimplemented in KVINDRA, and KVASMultiDetArray.

Definition at line 1590 of file KVMultiDetArray.cpp.

◆ MakeMultiDetector()

KVMultiDetArray * KVMultiDetArray::MakeMultiDetector ( const Char_t dataset_name,
Int_t  run = -1,
TString  classname = "KVMultiDetArray" 
)
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 in the file $KVROOT/KVFiles/.kvrootrc :

Plugin.KVMultiDet: [dataset_name] [classname] [library] "[constructor]()"

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 2033 of file KVMultiDetArray.cpp.

◆ ParamsSet()

Bool_t KVMultiDetArray::ParamsSet ( )
inline

Definition at line 370 of file KVMultiDetArray.h.

◆ PerformClosedROOTGeometryOperations()

void KVMultiDetArray::PerformClosedROOTGeometryOperations ( )
privatevirtual

Perform any operations to finalise the description of the multidetector which can only be done once the geometry is closed, e.g. use KVGeoImport to set up nodes, trajectories, detectors, idtelescopes, etc. This has to be kept separate for use with KVExpSetUp which first fills a single ROOT geometry with all component KVMultiDetArray geometries, then closes the geometry only when all have been built.

Reimplemented in KVFAZIA, and KVINDRA.

Definition at line 4009 of file KVMultiDetArray.cpp.

◆ prepare_to_handle_new_raw_data()

void KVMultiDetArray::prepare_to_handle_new_raw_data ( )

reset acquisition parameters etc. before reading new raw data event

Definition at line 3982 of file KVMultiDetArray.cpp.

◆ PrepareModifGroup()

void KVMultiDetArray::PrepareModifGroup ( KVGroup grp,
KVDetector dd 
)
privatevirtual

Casse tous les liens entre les detecteurs d un meme groupe Retire de la liste gMultiDetArray->GetListOfIDTelescopes() les telescopes associes et les efface apres les avoir retires des grilles auxquelles ils etaient associees pour preparer l ajout ou le retrait d un detecteur voir KVDetector::SetPresent()

Definition at line 3311 of file KVMultiDetArray.cpp.

◆ PrintCalibStatusOfDetectors()

void KVMultiDetArray::PrintCalibStatusOfDetectors ( )

Print full status report on calibration of detectors in array, using informations stored in fCalibStatusDets (see GetCalibrationStatusOfDetectors).

Definition at line 2658 of file KVMultiDetArray.cpp.

◆ PrintStatusOfIDTelescopes()

void KVMultiDetArray::PrintStatusOfIDTelescopes ( )

Print full status report on ID telescopes in array, using informations stored in fStatusIDTelescopes (see GetStatusOfIDTelescopes).

Definition at line 2429 of file KVMultiDetArray.cpp.

◆ ReadAbsentDetectors()

void KVMultiDetArray::ReadAbsentDetectors ( KVExpDB db)
private

Read a file containing runlists for each temporarily absent/dismounted detector.

The file should be in TEnv format like so:

DET_1: 100-122,541-1938
DET_2,DET_3: 91-765

i.e. more than one detector can be associated with the same runs (comma-separated list of detector names) and the list of runs are given using KVNumberList syntax.

The data is added to the database in a table '[name].Absent Detectors' with the name of this array.

Definition at line 4819 of file KVMultiDetArray.cpp.

◆ ReadCalibFile()

void KVMultiDetArray::ReadCalibFile ( const Char_t filename,
KVExpDB db,
KVDBTable calib_table 
)
private

Read a calibration file with the format

RunList: 1546-7485
SignalIn: PG
SignalOut: Volts
CalibType: ChannelVolt
CalibOptions: func=pol3,min=0,max=1
ZRange: 2-92
[detector1]: 0.0,0.261829,0.0
[detector2]: 0.1,0.539535,1.2
double min(double x, double y)
double max(double x, double y)

The [RunList] is optional: if not given, the calibration will be applied to all runs in the database.

If different parameters are required for different sets of runs, they should be written in different files (all of which are listed in CalibrationFiles.dat or [array].CalibrationFiles.dat).

The [CalibClass], if given, must correspond to a KVCalibrator plugin name. The list of plugin names and the corresponding classes can be retrieved with

KVBase::GetListOfPlugins("KVCalibrator")
Base class for KaliVeda framework.
Definition KVBase.h:142
static const Char_t * GetListOfPluginURIs(const Char_t *base)
Definition KVBase.cpp:1327
static const Char_t * GetListOfPlugins(const Char_t *base)
Definition KVBase.cpp:1260
Base class for all detector calibrations.

KVCalibrator objects are added to detectors as required by the contents of calibration files. If any detector has an existing calibrator of type [CalibType] which is not of the given class it will be replaced with a new calibrator corresponding to the plugin.

The [CalibOptions] is optional: list in [CalibOptions] will be used to complete set-up of any new calibrator objects by calling the KVCalibrator::SetOptions() method.

[CalibOptions] should hold a comma-separated list of parameter=value pairs which will be used to fill a KVNameValueList for the method call. See the KVCalibrator::SetOptions() method.

[ZRange] is an option if several calibrations need to be used to provide the same signal for certain detectors depending on the atomic number Z of the particle detected.

Definition at line 4391 of file KVMultiDetArray.cpp.

◆ ReadCalibrationFiles()

void KVMultiDetArray::ReadCalibrationFiles ( KVExpDB db)
private

Definition at line 4330 of file KVMultiDetArray.cpp.

◆ ReadGridsFromAsciiFile()

Bool_t KVMultiDetArray::ReadGridsFromAsciiFile ( const Char_t grids) const

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 2401 of file KVMultiDetArray.cpp.

◆ ReadOoODetectors()

void KVMultiDetArray::ReadOoODetectors ( KVExpDB db)
private

Read a file containing runlists for each temporarily non-functioning detector.

The file should be in TEnv format like so:

DET_1: 100-122,541-1938
DET_2,DET_3: 91-765

i.e. more than one detector can be associated with the same runs (comma-separated list of detector names) and the list of runs are given using KVNumberList syntax.

The data is added to the database in a table '[name].OoO Detectors' with the name of this array.

Definition at line 4754 of file KVMultiDetArray.cpp.

◆ ReconstructEvent()

void KVMultiDetArray::ReconstructEvent ( KVReconstructedEvent recev,
KVDetectorEvent kvde 
)
virtual

Use the KVDetectorEvent (list of hit groups) in order to fill the KVReconstructedEvent with reconstructed nuclei

Reconstruction of detected particles

  • loop over last stage of group telescopes
  • if any detector is hit, construct "particle" from energy losses in all detectors directly in front of it.
  • loop over next to last stage...if any detector hit NOT ALREADY IN A "PARTICLE" construct "particle" etc. etc.

Definition at line 1912 of file KVMultiDetArray.cpp.

◆ RecursiveTrajectoryClustering()

void KVMultiDetArray::RecursiveTrajectoryClustering ( KVGeoDetectorNode N,
KVUniqueNameList tried_trajectories,
KVUniqueNameList multitraj_nodes,
KVUniqueNameList detectors_of_group 
)

Definition at line 3763 of file KVMultiDetArray.cpp.

◆ RemoveGroup() [1/2]

void KVMultiDetArray::RemoveGroup ( const Char_t name)

Remove (i.e. destroy) all the telescopes belonging to the group in array which contains detector or telescope with name "name"

Definition at line 1978 of file KVMultiDetArray.cpp.

◆ RemoveGroup() [2/2]

void KVMultiDetArray::RemoveGroup ( KVGroup )

Remove (i.e. destroy) all the telescopes belonging to a given group if (grp) { grp->Destroy(); }

Definition at line 1963 of file KVMultiDetArray.cpp.

◆ RenumberGroups()

void KVMultiDetArray::RenumberGroups ( )
privatevirtual

Number groups according to position in list fGroups and set fGr counter to the number of groups in the list

Definition at line 602 of file KVMultiDetArray.cpp.

◆ ReplaceDetector()

void KVMultiDetArray::ReplaceDetector ( const Char_t name,
KVDetector new_kvd 
)

Replace (and destroy) the named detector in the array with a detector based on the prototype given by the pointer new_kvd. KVDetector *kvd = GetDetector(name); if (!kvd) { Warning("ReplaceDetector", "Detector %s not found", name); return; } //get telescope of detector, so we know where to put the replacement KVTelescope *tel = kvd->GetTelescope(); if (!tel) { Error("ReplaceDetector", "Detector %s is not in a telescope", name); return; } tel->ReplaceDetector(kvd, new_kvd);

Definition at line 1502 of file KVMultiDetArray.cpp.

◆ set_detector_thicknesses()

void KVMultiDetArray::set_detector_thicknesses ( const TString fullpath)
private

Use file given by fullpath to set the real thicknesses of the detectors. Any detector which is not in the file will be left with its nominal thickness.

EXAMPLE FILE:

thickness of detector DET01 in default units DET01: 56.4627

DET03 has several layers DET03.Abs0: 61.34 DET03.Abs1: 205.62

!!! WARNING !!! Single-layer detectors: The units are those defined by default for the detector's Get/SetThickness methods. Multi-layer: Each layer is a KVMaterial object. The thickness MUST be given in centimetres (default thickness unit for KVMaterial).

Definition at line 2874 of file KVMultiDetArray.cpp.

◆ set_up_single_stage_telescope()

void KVMultiDetArray::set_up_single_stage_telescope ( KVDetector det,
KVIDTelescope idt,
TCollection l 
)
privatevirtual

Set up detector in single-stage identification telescope and add to fIDTelescopes and to l.

Reimplemented in KVASMultiDetArray.

Definition at line 562 of file KVMultiDetArray.cpp.

◆ set_up_telescope()

void KVMultiDetArray::set_up_telescope ( KVDetector de,
KVDetector e,
KVIDTelescope idt,
TCollection l 
)
privatevirtual

Set up detectors in de-e identification telescope and add to fIDTelescopes and to l.

Reimplemented in KVASMultiDetArray.

Definition at line 532 of file KVMultiDetArray.cpp.

◆ SetCalibratorParameters()

void KVMultiDetArray::SetCalibratorParameters ( KVDBRun r,
const TString myname = "" 
)
virtual

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 1714 of file KVMultiDetArray.cpp.

◆ SetCurrentRunNumber()

void KVMultiDetArray::SetCurrentRunNumber ( UInt_t  r)
inline

Definition at line 386 of file KVMultiDetArray.h.

◆ SetDetecting()

void KVMultiDetArray::SetDetecting ( KVDetector det,
Bool_t  detecting = kTRUE 
)
privatevirtual

This method has effect only if detector is present

If detecting=kTRUE (default), detector is detecting If detecting=kFALSE, detector has been switch off or no gas or just dead Does nothing if:

  • detector already marked as absent
  • required state is already current state

Definition at line 3448 of file KVMultiDetArray.cpp.

◆ SetDetectorParametersForRun()

void KVMultiDetArray::SetDetectorParametersForRun ( KVDBRun dbr,
const TString myname = "" 
)
virtual

Reimplemented in KVINDRA, and KVExpSetUp.

Definition at line 4732 of file KVMultiDetArray.cpp.

◆ SetDetectorThicknesses()

void KVMultiDetArray::SetDetectorThicknesses ( )

Actual thicknesses of detectors can be given in one or more files associated with a dataset.

If the variable

[dataset].DetectorThicknessesFile: toto.dat

is defined for the current dataset, we expect toto.dat to contain a list of files to be read in order to set dectector thicknesses. Note that the same detector may appear several times in the files. In this case it is the thickness in the last file (in the order listed in toto.dat) which will remain.

Otherwise, we look for a single file in the dataset directory with the name given by one or other of the variables

KVMultiDetArray.DetectorThicknesses:
[dataset].KVMultiDetArray.DetectorThicknesses:
Base class for describing the geometry of a detector array.
KVMultiDetArray()
Default constructor.

and, if found, we use it to set the detector thicknesses.

See set_detector_thicknesses() for details of the format of the individual thickness files. look for list of files

Definition at line 2794 of file KVMultiDetArray.cpp.

◆ SetDetectorTransparency()

void KVMultiDetArray::SetDetectorTransparency ( Char_t  t)

Modify the transparency of detector volumes in OpenGL view.

Definition at line 3635 of file KVMultiDetArray.cpp.

◆ SetExpectedDetectorSignalNames()

void KVMultiDetArray::SetExpectedDetectorSignalNames ( )
privatevirtual

Detector signals corresponding to raw data acquisition parameters are typically only created and added to detectors when some raw data has been read including those parameters.

However, when reconstructing data, we may define identification matrices or calibration formulae which use these signals before starting to read data. Therefore we need to know beforehand what detector signals are expected to be available once data has been read.

These are defined, according to detector types, by variables of the form

[dataset].[array].[detector-type].ExpectedDetectorSignals: [comma-separated list of signal names]
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 Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type

where [dataset] is optionally used to provide dataset-specific definitions.

Here we add a detector signal of each expected type to each detector of the array

Reimplemented in KVExpSetUp.

Definition at line 1813 of file KVMultiDetArray.cpp.

◆ SetFilterType()

void KVMultiDetArray::SetFilterType ( Int_t  t)
inline

Definition at line 274 of file KVMultiDetArray.h.

◆ SetGeometry()

void KVMultiDetArray::SetGeometry ( TGeoManager g)

Define the geometry of the array with a valid ROOT geometry (TGeoManager instance) 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. ROOT geometry will be used by default from now on.

Definition at line 2937 of file KVMultiDetArray.cpp.

◆ SetGridsInTelescopes()

void KVMultiDetArray::SetGridsInTelescopes ( UInt_t  run)

For each grid which is valid for this run, we call the KVIDTelescope::SetIDGrid method of each associated ID telescope.

Definition at line 3485 of file KVMultiDetArray.cpp.

◆ SetIDCodeForIDTelescope()

virtual void KVMultiDetArray::SetIDCodeForIDTelescope ( KVIDTelescope ) const
inlineprivatevirtual

Set the general identification code for particles identified in a given identification telescope.

As these codes are mostly array-specific, this method should be overridden in specific implementations.

Reimplemented in KVFAZIA, and KVINDRA.

Definition at line 129 of file KVMultiDetArray.h.

◆ SetIdentifications()

void KVMultiDetArray::SetIdentifications ( )
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 2286 of file KVMultiDetArray.cpp.

◆ SetMakeMultiDetectorPhysicsParametersOnly()

static void KVMultiDetArray::SetMakeMultiDetectorPhysicsParametersOnly ( Bool_t  on = kTRUE)
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 615 of file KVMultiDetArray.h.

◆ SetNavigator()

void KVMultiDetArray::SetNavigator ( KVGeoNavigator geo)

Definition at line 3584 of file KVMultiDetArray.cpp.

◆ SetParameters()

void KVMultiDetArray::SetParameters ( UInt_t  run,
Bool_t  physics_parameters_only = kFALSE 
)
virtual

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 2192 of file KVMultiDetArray.cpp.

◆ SetPartSeedCond()

virtual void KVMultiDetArray::SetPartSeedCond ( const Char_t cond)
inlinevirtual

set condition used to seed reconstructed particles

Definition at line 569 of file KVMultiDetArray.h.

◆ SetPresent()

void KVMultiDetArray::SetPresent ( KVDetector det,
Bool_t  present = kTRUE 
)
privatevirtual

If present=kTRUE (default), detector is present If present=kFALSE, detector has been removed This method does nothing is required state is already current state.

Methode applicable seulement pour un detecteur etant le seul dans un telescope ex les ChIo pour Indra

This method as always to be call before call the SetDetecting() method

Definition at line 3377 of file KVMultiDetArray.cpp.

◆ SetRawDataFromReconEvent()

void KVMultiDetArray::SetRawDataFromReconEvent ( KVNameValueList l)
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, KVINDRA, and KVExpSetUp.

Definition at line 4201 of file KVMultiDetArray.cpp.

◆ SetReconParametersInEvent()

void KVMultiDetArray::SetReconParametersInEvent ( KVReconstructedEvent e) const
virtual

Copy any parameters in fReconParameters in to the reconstructed event parameter list.

Reimplemented in KVINDRA.

Definition at line 4024 of file KVMultiDetArray.cpp.

◆ SetROOTGeometry()

void KVMultiDetArray::SetROOTGeometry ( Bool_t  on = kTRUE)
virtual

Call with on=kTRUE if array uses ROOT geometry for tracking Call SetGeometry(TGeoManager*) first with a valid geometry.

Reimplemented in KVINDRA.

Definition at line 3062 of file KVMultiDetArray.cpp.

◆ SetRunCalibrationParameters()

void KVMultiDetArray::SetRunCalibrationParameters ( UShort_t  run)
virtual

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 2248 of file KVMultiDetArray.cpp.

◆ SetRunIdentificationParameters()

void KVMultiDetArray::SetRunIdentificationParameters ( UShort_t  run)
virtual

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 2222 of file KVMultiDetArray.cpp.

◆ SetSimMode()

virtual void KVMultiDetArray::SetSimMode ( Bool_t  on = kTRUE)
inlinevirtual

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 420 of file KVMultiDetArray.h.

◆ SetTarget()

virtual void KVMultiDetArray::SetTarget ( KVTarget target)
inlinevirtual

Set experimental target

Calling SetTarget(0) will remove any existing target.

Reimplemented in KVExpSetUp.

Definition at line 334 of file KVMultiDetArray.h.

◆ try_a_doubleIDtelescope()

bool KVMultiDetArray::try_a_doubleIDtelescope ( TString  uri,
KVDetector de,
KVDetector e,
TCollection l 
)
private

Attempt to find a plugin KVIDTelescope class for making an ID telescope with the given signature/uri uri is tried both with & without prepended dataset name (if set) Returns true if successful (the new ID telescope will be added to internal list fIDTelescopes and also to TCollection* l) dataset-specific version takes precedence over default

Definition at line 499 of file KVMultiDetArray.cpp.

◆ try_a_singleIDtelescope()

bool KVMultiDetArray::try_a_singleIDtelescope ( TString  uri,
KVDetector d,
TCollection l 
)
private

Attempt to find a plugin KVIDTelescope class for making a single-detector ID telescope from detector d with the given signature/uri Both original & all-upper-case versions of uri are tried. uri is tried both with & without prepended dataset name (if set) Returns true if successful (the new ID telescope will be added to internal list fIDTelescopes and also to TCollection l) dataset-specific version takes precedence over default

Definition at line 459 of file KVMultiDetArray.cpp.

◆ try_all_doubleID_telescopes()

Int_t KVMultiDetArray::try_all_doubleID_telescopes ( KVDetector de,
KVDetector e,
TCollection l 
)
private

Attempt to find a plugin KVIDTelescope class for making an ID telescope from detectors de & e. We look for plugins with the following signatures (uri):

[array name].[de-type]-[e-type] [array name].[de-type][thickness]-[e-type] [array name].[de-type]-[e-type][thickness] [array name].[de-type][thickness]-[e-type][thickness]

where 'type' is the type of the detector in UPPER or lowercase letters 'thickness' is the nearest-integer thickness of the detector. In addition, if a dataset is set (gDataSet!=nullptr) we try also for dataset-specific plugins:

[dataset].[array name].[de-type][thickness]-[e-type][thickness] [dataset].[array name].[de-type][thickness]-[e-type] [dataset].[array name].[de-type]-[e-type][thickness] [dataset].[array name].[de-type]-[e-type]

if no plugin is found, we return a KVIDTelescope base class object

Returns 1 (we always generate exactly one telescope)

Definition at line 346 of file KVMultiDetArray.cpp.

◆ try_all_singleID_telescopes()

Int_t KVMultiDetArray::try_all_singleID_telescopes ( KVDetector d,
TCollection l 
)
private

Attempt to find a plugin KVIDTelescope class for making a single-detector ID telescope from detector *d We look for plugins with the following signatures (uri):

[array name].[type] [array_name].[type][thickness]

where 'type' is the type of the detector in UPPER or lowercase letters 'thickness' is the nearest-integer thickness of the detector as returned by d->GetThickness() In addition, if a dataset is set (gDataSet!=nullptr) we try also for dataset-specific plugins:

[dataset].[array name].[type] [dataset].[array name].[type][thickness]

Returns number of generated telescopes

Definition at line 291 of file KVMultiDetArray.cpp.

◆ try_upper_and_lower_doubleIDtelescope()

bool KVMultiDetArray::try_upper_and_lower_doubleIDtelescope ( TString  uri,
KVDetector de,
KVDetector e,
TCollection l 
)
private

Attempt to find a plugin KVIDTelescope class for making an ID telescope with the given signature/uri Both original & all-upper-case versions of uri are tried. uri is tried both with & without prepended dataset name (if set) Returns true if successful (the new ID telescope will be added to internal list fIDTelescopes and also to TCollection* l)

Definition at line 435 of file KVMultiDetArray.cpp.

◆ try_upper_and_lower_singleIDtelescope()

bool KVMultiDetArray::try_upper_and_lower_singleIDtelescope ( TString  uri,
KVDetector d,
TCollection l 
)
private

Attempt to find a plugin KVIDTelescope class for making a single-detector ID telescope from detector d with the given signature/uri Both original & all-upper-case versions of uri are tried. uri is tried both with & without prepended dataset name (if set) Returns true if successful (the new ID telescope will be added to internal list fIDTelescopes and also to TCollection l)

Definition at line 412 of file KVMultiDetArray.cpp.

Friends And Related Symbol Documentation

◆ KVExpSetUp

friend class KVExpSetUp
friend

Definition at line 66 of file KVMultiDetArray.h.

◆ KVGeoImport

friend class KVGeoImport
friend

Definition at line 65 of file KVMultiDetArray.h.

Member Data Documentation

◆ fAcceptECodes

KVNumberList KVMultiDetArray::fAcceptECodes
private

list of acceptable calibration codes for reconstructed nuclei

Definition at line 109 of file KVMultiDetArray.h.

◆ fAcceptIDCodes

KVNumberList KVMultiDetArray::fAcceptIDCodes
private

list of acceptable identification codes for reconstructed nuclei

Definition at line 108 of file KVMultiDetArray.h.

◆ fBuildTarget

Bool_t KVMultiDetArray::fBuildTarget = kFALSE
staticprivate

Definition at line 71 of file KVMultiDetArray.h.

◆ fCalibStatusDets

TList* KVMultiDetArray::fCalibStatusDets
private

used by GetStatusIDTelescopes

Definition at line 87 of file KVMultiDetArray.h.

◆ fCloseGeometryNow

Bool_t KVMultiDetArray::fCloseGeometryNow = kTRUE
staticprivate

Definition at line 70 of file KVMultiDetArray.h.

◆ fCurrentRun

UInt_t KVMultiDetArray::fCurrentRun
private

Number of the current run used to call SetParameters.

Definition at line 95 of file KVMultiDetArray.h.

◆ fDataSet

TString KVMultiDetArray::fDataSet
private

name of associated dataset, used with MakeMultiDetector()

Definition at line 94 of file KVMultiDetArray.h.

◆ fExtraRawDataSignals

KVUniqueNameList KVMultiDetArray::fExtraRawDataSignals
private

any signals read from raw data not associated with a detector

Definition at line 92 of file KVMultiDetArray.h.

◆ fFilterType

Int_t KVMultiDetArray::fFilterType
private

type of filtering (used by DetectEvent)

Definition at line 102 of file KVMultiDetArray.h.

◆ fFiredDetectors

KVUniqueNameList KVMultiDetArray::fFiredDetectors
private

list of fired detectors after reading raw data event

Definition at line 91 of file KVMultiDetArray.h.

◆ fFiredSignals

KVUnownedList KVMultiDetArray::fFiredSignals
private

list of fired signals after reading raw data event

Definition at line 93 of file KVMultiDetArray.h.

◆ fHandledRawData

Bool_t KVMultiDetArray::fHandledRawData
private

set to true if multidetector handles data in last call to HandleRawData

Definition at line 114 of file KVMultiDetArray.h.

◆ fHitGroups

KVDetectorEvent* KVMultiDetArray::fHitGroups
private

list of hit groups in simulation

Definition at line 89 of file KVMultiDetArray.h.

◆ fIDTelescopes

KVSeqCollection* KVMultiDetArray::fIDTelescopes
private

deltaE-E telescopes in groups

Definition at line 90 of file KVMultiDetArray.h.

◆ fMakeMultiDetectorPhysicsParametersOnly

Bool_t KVMultiDetArray::fMakeMultiDetectorPhysicsParametersOnly = kFALSE
staticprivate

Definition at line 73 of file KVMultiDetArray.h.

◆ fMakeMultiDetectorRunNumber

Int_t KVMultiDetArray::fMakeMultiDetectorRunNumber = -1
staticprivate

Definition at line 74 of file KVMultiDetArray.h.

◆ fMakeMultiDetectorSetParameters

Bool_t KVMultiDetArray::fMakeMultiDetectorSetParameters = kTRUE
staticprivate

Definition at line 72 of file KVMultiDetArray.h.

◆ fNavigator

KVRangeTableGeoNavigator* KVMultiDetArray::fNavigator
private

for propagating particles through array geometry

Definition at line 104 of file KVMultiDetArray.h.

◆ fPartSeedCond

TString KVMultiDetArray::fPartSeedCond
private

condition for seeding new reconstructed particles

Definition at line 111 of file KVMultiDetArray.h.

◆ fRawDataReader

KVRawDataReader* KVMultiDetArray::fRawDataReader
private

last raw data reader object used in call to HandleRawData

Definition at line 113 of file KVMultiDetArray.h.

◆ fReconParameters

KVNameValueList KVMultiDetArray::fReconParameters
private

general purpose list of parameters for storing information on data reconstruction

Definition at line 116 of file KVMultiDetArray.h.

◆ fROOTGeometry

Bool_t KVMultiDetArray::fROOTGeometry
private

=kTRUE use ROOT geometry

Definition at line 100 of file KVMultiDetArray.h.

◆ fSimMode

Bool_t KVMultiDetArray::fSimMode
private

=kTRUE in "simulation mode" (use for calculating response to simulated events)

Definition at line 98 of file KVMultiDetArray.h.

◆ fStatusIDTelescopes

TList* KVMultiDetArray::fStatusIDTelescopes
private

used by GetStatusIDTelescopes

Definition at line 86 of file KVMultiDetArray.h.

◆ fTarget

KVTarget* KVMultiDetArray::fTarget
private

target used in experiment

Definition at line 76 of file KVMultiDetArray.h.

◆ fTrajectories

KVUniqueNameList KVMultiDetArray::fTrajectories
private

list of all possible trajectories through detectors of array

Definition at line 106 of file KVMultiDetArray.h.

◆ fUpDater

KVUpDater* KVMultiDetArray::fUpDater
private

used to set parameters for multidetector

Definition at line 96 of file KVMultiDetArray.h.