KaliVeda
Toolkit for HIC analysis
KVMultiDetArray Class Reference

Detailed Description

Base class for describing the geometry of a detector array.

See Detector Array Geometries in the KaliVeda Users' Guide for a detailed presentation.

Definition at line 59 of file KVMultiDetArray.h.

#include <KVMultiDetArray.h>

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) }
 
enum class  GetX_status {
  ok , above_maximum , below_minimum , at_maximum ,
  at_minimum
}
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVMultiDetArray ()
 Default constructor. More...
 
 KVMultiDetArray (const Char_t *name, const Char_t *type="")
 Constructor with name and optional type. More...
 
virtual ~KVMultiDetArray ()
 destroy (delete) the MDA and all the associated structure, detectors etc. More...
 
virtual void AcceptAllECodes ()
 
virtual void AcceptAllIDCodes ()
 
void AcceptECodes (const KVNumberList &codelist)
 
void AcceptIDCodes (const KVNumberList &codelist)
 
virtual void AcceptParticleForAnalysis (KVReconstructedNucleus *) const
 
virtual void Build (Int_t run=-1)
 
void CalculateIdentificationGrids ()
 For each IDtelescope in array, calculate an identification grid. More...
 
Bool_t CalParamsSet ()
 
void CheckStatusOfDetectors (KVDBRun *, const TString &="")
 
void Clear (Option_t *opt="") override
 
void CreateGeoManager (Double_t dx=500, Double_t dy=500, Double_t dz=500)
 
void Draw (Option_t *option="") override
 
virtual void FillDetectorList (KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames)
 
void FillListOfIDTelescopes (KVIDGraph *gr) const
 
const KVNumberListGetAcceptedECodes () const
 
const KVNumberListGetAcceptedIDCodes () const
 
virtual KVMultiDetArrayGetArray (const Char_t *) const
 
virtual const KVSeqCollectionGetArrays () const
 
virtual Short_t GetBadIDCode () const
 
virtual UChar_t GetCalculatedCalibrationCode () const
 
TListGetCalibrationStatusOfDetectors ()
 
virtual Short_t GetCoherencyIDCode () const
 
UInt_t GetCurrentRunNumber () const
 
TString GetDataSet () const
 
virtual void GetDetectorEvent (KVDetectorEvent *detev, const TSeqCollection *fired_params=0)
 
virtual TString GetECodeMeaning (Int_t) const
 
const KVSeqCollectionGetExtraRawDataSignals () const
 
const KVSeqCollectionGetFiredDetectors () const
 
const KVSeqCollectionGetFiredSignals () const
 
TGeoManagerGetGeometry () const
 Return pointer to the (ROOT) geometry of the array. More...
 
KVGroupGetGroup (const Char_t *name) const
 
KVGroupGetGroup (Int_t number) const
 
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". More...
 
KVSeqCollectionGetIDTelescopesWithType (const Char_t *type)
 
KVUniqueNameList GetIDTelescopeTypes ()
 
KVSeqCollectionGetListOfIDTelescopes () const
 
virtual Short_t GetMultiHitFirstStageIDCode () const
 
KVGeoNavigatorGetNavigator () const
 
virtual UChar_t GetNoCalibrationCode () const
 
virtual UChar_t GetNormalCalibrationCode () const
 
Int_t GetNumberOfGroups () const
 
virtual const Char_tGetPartSeedCond () const
 
KVNameValueListGetReconParameters ()
 
const KVNameValueListGetReconParameters () const
 
virtual KVGroupReconstructorGetReconstructorForGroup (const KVGroup *) const
 
TListGetStatusOfIDTelescopes ()
 
KVTargetGetTarget ()
 
virtual Double_t GetTargetEnergyLossCorrection (KVReconstructedNucleus *)
 
virtual Double_t GetTotalSolidAngle (void) const
 
const TSeqCollectionGetTrajectories () const
 
KVUpDaterGetUpDater ()
 
Short_t GetZminCode () const
 
Bool_t HandledRawData () const
 
Bool_t HandleRawDataBuffer (MFMBufferReader &)
 
virtual Bool_t HandleRawDataEvent (KVRawDataReader *)
 
Bool_t IDParamsSet ()
 
void init ()
 
virtual void InitialiseRawDataReading (KVRawDataReader *)
 
virtual void InitializeIDTelescopes ()
 
Bool_t IsBeingDeleted ()
 
virtual Bool_t IsBuilt () const
 
Bool_t IsRemoving ()
 
Bool_t IsSimMode () const
 
virtual void MakeCalibrationTables (KVExpDB *)
 
void MakeHistogramsForAllIDTelescopes (KVSeqCollection *list, Int_t dimension=100)
 
Bool_t ParamsSet ()
 
void prepare_to_handle_new_raw_data ()
 reset acquisition parameters etc. before reading new raw data event More...
 
void PrintCalibStatusOfDetectors ()
 
void PrintStatusOfIDTelescopes ()
 
Bool_t ReadGridsFromAsciiFile (const Char_t *) const
 
void RecursiveTrajectoryClustering (KVGeoDetectorNode *N, KVUniqueNameList &tried_trajectories, KVUniqueNameList &multitraj_nodes, KVUniqueNameList &detectors_of_group)
 
virtual void SetCalibratorParameters (KVDBRun *, const TString &="")
 
void SetCurrentRunNumber (UInt_t r)
 
virtual void SetDetectorParametersForRun (KVDBRun *, const TString &="")
 
void SetDetectorThicknesses ()
 
void SetDetectorTransparency (Char_t)
 Modify the transparency of detector volumes in OpenGL view. More...
 
void SetFilterType (Int_t t)
 
void SetGeometry (TGeoManager *)
 
void SetGridsInTelescopes (UInt_t run)
 
virtual void SetIdentifications ()
 
void SetNavigator (KVGeoNavigator *geo)
 
virtual void SetParameters (UInt_t n, Bool_t physics_parameters_only=kFALSE)
 
virtual void SetPartSeedCond (const Char_t *cond)
 
virtual void SetRawDataFromReconEvent (const KVReconstructedEvent &)
 
virtual void SetReconParametersInEvent (KVReconstructedEvent *) const
 Copy any parameters in fReconParameters in to the reconstructed event parameter list. More...
 
virtual void SetRunCalibrationParameters (UShort_t n)
 
virtual void SetRunIdentificationParameters (UShort_t n)
 
virtual void SetSimMode (Bool_t on=kTRUE)
 
virtual void SetTarget (KVTarget *target)
 
- Public Member Functions inherited from KVGeoStrucElement
 KVGeoStrucElement ()
 Default constructor. More...
 
 KVGeoStrucElement (const Char_t *name, const Char_t *type="")
 Create a geometry structure element with given name and type. More...
 
virtual ~KVGeoStrucElement ()
 Destructor. More...
 
virtual void Add (KVBase *)
 
void Clear (Option_t *opt="") override
 Empty lists of detectors, daughter structures, and parent structures. More...
 
void ClearDetectors (const Char_t *type="")
 
void ClearStructures (const Char_t *type="")
 
virtual Bool_t Contains (KVBase *name) const
 
virtual Bool_t Fired (Option_t *opt="any") const
 
virtual KVDetectorGetDetector (const Char_t *name) const
 Return detector in this structure with given name. More...
 
KVDetectorGetDetectorAny (const Char_t *name)
 
KVDetectorGetDetectorByType (const Char_t *type) const
 Return detector in this structure with given type. More...
 
KVSeqCollectionGetDetectorNameList (const Char_t *name) const
 
KVSeqCollectionGetDetectors ()
 
const KVSeqCollectionGetDetectors () const
 
KVSeqCollectionGetDetectorTypeList (const Char_t *type) const
 
const KVSeqCollectionGetParents () const
 
template<typename ParentClass >
ParentClass * GetParentStructure () 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. More...
 
KVGeoStrucElementGetStructure (const Char_t *type, Int_t num) const
 Get structure with type and number. More...
 
const KVSeqCollectionGetStructures () const
 
KVSeqCollectionGetStructureTypeList (const Char_t *type) const
 
bool OwnsDaughters () const
 
bool OwnsDetectors () const
 
void Print (Option_t *option="") const override
 
void RehashParentList ()
 
virtual void Remove (KVBase *)
 
void SetOwnsDaughters (Bool_t yes=kTRUE)
 
void SetOwnsDetectors (Bool_t yes=kTRUE)
 
void Sort (Bool_t order=kSortAscending)
 
void SortDetectors (Bool_t order=kSortAscending)
 
void SortStructures (Bool_t order=kSortAscending)
 
- Public Member Functions inherited from KVBase
 KVBase ()
 Default constructor. More...
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type. More...
 
 KVBase (const KVBase &)
 copy ctor More...
 
void Copy (TObject &) const override
 Make a copy of this object. More...
 
const Char_tGetLabel () const
 
UInt_t GetNumber () 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 More...
 
void SetLabel (const Char_t *lab)
 
virtual void SetNumber (UInt_t num)
 
virtual void SetType (const Char_t *str)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
virtual void SetName (const char *name)
 
virtual void SetNameTitle (const char *name, const char *title)
 
virtual void SetTitle (const char *title="")
 
virtual Int_t Sizeof () const
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void DrawClass () const
 
virtual 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", KVExpDB *db=nullptr)
 
static void SetMakeMultiDetectorPhysicsParametersOnly (Bool_t on=kTRUE)
 
- Static Public Member Functions inherited from KVBase
static std::optional< TStringAbsoluteUnixPath (const TString &)
 
static Bool_t AreEqual (Double_t x, Double_t y, Long64_t maxdif=1)
 Comparison between two 64-bit floating-point values. More...
 
static void BackupFileWithDate (const Char_t *path)
 
static void CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE)
 
static void Deprecated (const char *method, const char *advice)
 
static Bool_t FindClassSourceFiles (const KVString &class_name, KVString &imp_file, KVString &dec_file, const KVString &dir_name=".")
 
static Bool_t FindExecutable (TString &exec, const Char_t *path="$(PATH)")
 
static const Char_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="")
 
template<typename ValType >
static ValType GetDataSetEnv (const KVString &dataset, const KVString &type, const ValType &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.) More...
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date. More...
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build. More...
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build time. More...
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More...
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build. More...
 
static int GetKVMajorVersion ()
 
static int GetKVMinorVersion ()
 
static int GetKVPatchVersion ()
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build. More...
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string. More...
 
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. More...
 
static const Char_tgitCommit ()
 Returns last git commit of sources. More...
 
static void InitEnvironment ()
 
static bool is_gnuinstall ()
 
static Bool_t IsEnvInit ()
 
static Bool_t IsThisAPlugin (const TString &uri, TString &base)
 
static 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. More...
 
static Double_t ProtectedGetX (const TF1 &func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={})
 
static Double_t ProtectedGetX (const TF1 *func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={})
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="")
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0)
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0)
 
static Bool_t SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="")
 
static const Char_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)
 

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

◆ EFilterType

filter types. values of fFilterType

Enumerator
kFilterType_Geo 
kFilterType_GeoThresh 
kFilterType_Full 

Definition at line 228 of file KVMultiDetArray.h.

Constructor & Destructor Documentation

◆ KVMultiDetArray() [1/2]

KVMultiDetArray::KVMultiDetArray ( )

Default constructor.

Definition at line 68 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 81 of file KVMultiDetArray.cpp.

◆ ~KVMultiDetArray()

KVMultiDetArray::~KVMultiDetArray ( )
virtual

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

Definition at line 153 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.

Definition at line 474 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.

Definition at line 439 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 448 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 413 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 2283 of file KVMultiDetArray.cpp.

◆ Build()

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

Reimplemented in KVFAZIA, KVINDRA, and KVExpSetUp.

Definition at line 188 of file KVMultiDetArray.cpp.

◆ CalculateIdentificationGrids()

void KVMultiDetArray::CalculateIdentificationGrids ( )

For each IDtelescope in array, calculate an identification grid.

Definition at line 3023 of file KVMultiDetArray.cpp.

◆ CalParamsSet()

Bool_t KVMultiDetArray::CalParamsSet ( )
inline

Definition at line 328 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 3041 of file KVMultiDetArray.cpp.

◆ Clear()

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

Reset all groups (lists of detected particles etc.) and detectors in groups (energy losses, ACQparams etc. etc.) and the target if there is one

Reimplemented from KVBase.

Definition at line 613 of file KVMultiDetArray.cpp.

◆ CreateGeoManager()

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

Definition at line 204 of file KVMultiDetArray.h.

◆ Draw()

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

Use OpenGL viewer to view multidetector geometry

If option="tracks" we draw any tracks corresponding to the last simulated event whose detection was simulated with DetectEvent If option="tracks:[numberlist]" with a list of numbers, it will be interpreted as a KVNumberList containing the Z of tracks to be drawn e.g. option="tracks:1-92" draw only tracks with 1<=Z<=92 (no neutrons) option="tracks:2" draw only helium isotopes

Reimplemented from TObject.

Definition at line 1914 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 2248 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 1885 of file KVMultiDetArray.cpp.

◆ GetAcceptedECodes()

const KVNumberList& KVMultiDetArray::GetAcceptedECodes ( ) const
inline

Definition at line 409 of file KVMultiDetArray.h.

◆ GetAcceptedIDCodes()

const KVNumberList& KVMultiDetArray::GetAcceptedIDCodes ( ) const
inline

Definition at line 405 of file KVMultiDetArray.h.

◆ GetArray()

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

Reimplemented in KVExpSetUp.

Definition at line 484 of file KVMultiDetArray.h.

◆ GetArrays()

virtual const KVSeqCollection* KVMultiDetArray::GetArrays ( ) const
inlinevirtual

Reimplemented in KVExpSetUp.

Definition at line 488 of file KVMultiDetArray.h.

◆ GetBadIDCode()

virtual Short_t KVMultiDetArray::GetBadIDCode ( ) const
inlinevirtual

return a general identification code for badly identified particles

redefine in child classes; default returns 14.

Reimplemented in KVINDRA, and KVFAZIA.

Definition at line 545 of file KVMultiDetArray.h.

◆ GetCalculatedCalibrationCode()

virtual UChar_t KVMultiDetArray::GetCalculatedCalibrationCode ( ) const
inlinevirtual

return a general calibration code for particles for which some energy losses were calculated, not measured redefine in child classes; default returns 2.

Definition at line 584 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 1433 of file KVMultiDetArray.cpp.

◆ GetCoherencyIDCode()

virtual Short_t KVMultiDetArray::GetCoherencyIDCode ( ) const
inlinevirtual

return a general identification code for particles identified after coherency analysis

redefine in child classes; default returns 6.

Reimplemented in KVINDRA.

Definition at line 552 of file KVMultiDetArray.h.

◆ GetCurrentRunNumber()

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

Definition at line 332 of file KVMultiDetArray.h.

◆ GetDataSet()

TString KVMultiDetArray::GetDataSet ( ) const
inline

Definition at line 522 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 KVExpSetUp, KVINDRA, and KVFAZIA.

Definition at line 782 of file KVMultiDetArray.cpp.

◆ GetECodeMeaning()

virtual TString KVMultiDetArray::GetECodeMeaning ( Int_t  ) const
inlinevirtual

Reimplemented in KVINDRA, and KVFAZIA.

Definition at line 541 of file KVMultiDetArray.h.

◆ GetExtraRawDataSignals()

const KVSeqCollection* KVMultiDetArray::GetExtraRawDataSignals ( ) const
inline

Definition at line 268 of file KVMultiDetArray.h.

◆ GetFiredDetectors()

const KVSeqCollection* KVMultiDetArray::GetFiredDetectors ( ) const
inline
Examples
ExampleRawAnalysis.cpp.

Definition at line 256 of file KVMultiDetArray.h.

◆ GetFiredSignals()

const KVSeqCollection* KVMultiDetArray::GetFiredSignals ( ) const
inline
Examples
ExampleRawAnalysis.cpp.

Definition at line 262 of file KVMultiDetArray.h.

◆ GetGeometry()

TGeoManager * KVMultiDetArray::GetGeometry ( ) const

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

Definition at line 1585 of file KVMultiDetArray.cpp.

◆ GetGroup() [1/2]

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

Definition at line 243 of file KVMultiDetArray.h.

◆ GetGroup() [2/2]

KVGroup* KVMultiDetArray::GetGroup ( Int_t  number) const
inline

Definition at line 247 of file KVMultiDetArray.h.

◆ GetIDCodeForParticlesStoppingInFirstStageOfTelescopes()

virtual Int_t KVMultiDetArray::GetIDCodeForParticlesStoppingInFirstStageOfTelescopes ( ) const
inlinevirtual

By default, for historical reasons, this returns 5

Reimplemented in KVINDRA, and KVFAZIA.

Definition at line 532 of file KVMultiDetArray.h.

◆ GetIDCodeMeaning()

virtual TString KVMultiDetArray::GetIDCodeMeaning ( Int_t  ) const
inlinevirtual

Reimplemented in KVINDRA, and KVFAZIA.

Definition at line 537 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 599 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 1409 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.

Definition at line 1382 of file KVMultiDetArray.cpp.

◆ GetListOfIDTelescopes()

KVSeqCollection* KVMultiDetArray::GetListOfIDTelescopes ( ) const
inline

Definition at line 276 of file KVMultiDetArray.h.

◆ GetMultiHitFirstStageIDCode()

virtual Short_t KVMultiDetArray::GetMultiHitFirstStageIDCode ( ) const
inlinevirtual

return a general identification code for particles which cannot be identified correctly due to pile-up in a delta-E detector

redefine in child classes; default returns 8.

Reimplemented in KVINDRA.

Definition at line 559 of file KVMultiDetArray.h.

◆ GetNavigator()

KVGeoNavigator * KVMultiDetArray::GetNavigator ( ) const

Definition at line 1595 of file KVMultiDetArray.cpp.

◆ GetNoCalibrationCode()

virtual UChar_t KVMultiDetArray::GetNoCalibrationCode ( ) const
inlinevirtual

return a general calibration code for uncalibrated particles redefine in child classes; default returns 0.

Definition at line 578 of file KVMultiDetArray.h.

◆ GetNormalCalibrationCode()

virtual UChar_t KVMultiDetArray::GetNormalCalibrationCode ( ) const
inlinevirtual

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

Reimplemented in KVINDRA.

Definition at line 572 of file KVMultiDetArray.h.

◆ GetNumberOfGroups()

Int_t KVMultiDetArray::GetNumberOfGroups ( ) const
inline

Definition at line 505 of file KVMultiDetArray.h.

◆ GetPartSeedCond()

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

get condition used to seed reconstructed particles

Definition at line 494 of file KVMultiDetArray.h.

◆ 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 191 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 197 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()"

If we are in 'SimMode', the default reconstructor is a KVFilterGroupReconstructor

Reimplemented in KVExpSetUp, KVINDRA, and KVFAZIA.

Definition at line 2152 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 1334 of file KVMultiDetArray.cpp.

◆ GetTarget()

KVTarget* KVMultiDetArray::GetTarget ( )
inline

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

Definition at line 292 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 1558 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

Definition at line 345 of file KVMultiDetArray.h.

◆ GetTrajectories()

const TSeqCollection* KVMultiDetArray::GetTrajectories ( ) const
inline

Get list of all possible trajectories for particles traversing array

Definition at line 392 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 985 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 1805 of file KVMultiDetArray.cpp.

◆ GetZminCode()

Short_t KVMultiDetArray::GetZminCode ( ) const
inline

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

Definition at line 566 of file KVMultiDetArray.h.

◆ HandledRawData()

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

Definition at line 516 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 2469 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 2424 of file KVMultiDetArray.cpp.

◆ IDParamsSet()

Bool_t KVMultiDetArray::IDParamsSet ( )
inline

Definition at line 324 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 103 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 KVExpSetUp, and KVINDRA.

Definition at line 2181 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 1199 of file KVMultiDetArray.cpp.

◆ IsBeingDeleted()

Bool_t KVMultiDetArray::IsBeingDeleted ( )
inline

Definition at line 311 of file KVMultiDetArray.h.

◆ IsBuilt()

virtual Bool_t KVMultiDetArray::IsBuilt ( ) const
inlinevirtual

Definition at line 305 of file KVMultiDetArray.h.

◆ IsRemoving()

Bool_t KVMultiDetArray::IsRemoving ( )
inline

Definition at line 300 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 378 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 KVExpSetUp, KVINDRA, and KVFAZIA.

Definition at line 2608 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 1961 of file KVMultiDetArray.cpp.

◆ MakeMultiDetector()

KVMultiDetArray * KVMultiDetArray::MakeMultiDetector ( const Char_t dataset_name,
Int_t  run = -1,
TString  classname = "KVMultiDetArray",
KVExpDB db = nullptr 
)
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 :

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

◆ ParamsSet()

Bool_t KVMultiDetArray::ParamsSet ( )
inline

Definition at line 320 of file KVMultiDetArray.h.

◆ 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 2329 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 1492 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 1256 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 1228 of file KVMultiDetArray.cpp.

◆ RecursiveTrajectoryClustering()

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

Definition at line 2102 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 639 of file KVMultiDetArray.cpp.

◆ SetCurrentRunNumber()

void KVMultiDetArray::SetCurrentRunNumber ( UInt_t  r)
inline

Definition at line 336 of file KVMultiDetArray.h.

◆ SetDetectorParametersForRun()

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

Reimplemented in KVExpSetUp.

Definition at line 3102 of file KVMultiDetArray.cpp.

◆ SetDetectorThicknesses()

void KVMultiDetArray::SetDetectorThicknesses ( )

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

We look for the first of the files

[array_name].DetectorThicknessFiles.dat
DetectorThicknessFiles.dat

which exists for the current dataset, and if found we read each file listed in it.

Otherwise we look for the first of the files

[array_name].DetectorThicknesses.dat
DetectorThicknesses.dat

which exists for the current dataset, and if found we read the thicknesses from it.

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

Definition at line 1621 of file KVMultiDetArray.cpp.

◆ SetDetectorTransparency()

void KVMultiDetArray::SetDetectorTransparency ( Char_t  t)

Modify the transparency of detector volumes in OpenGL view.

Definition at line 1981 of file KVMultiDetArray.cpp.

◆ SetFilterType()

void KVMultiDetArray::SetFilterType ( Int_t  t)
inline

Definition at line 237 of file KVMultiDetArray.h.

◆ SetGeometry()

void KVMultiDetArray::SetGeometry ( TGeoManager g)

Called by KVGeoImport::ImportGeometry

Creates KVRangeTableGeoNavigator for calculating energy losses of particles propagated through array.

If no name and/or title are defined for the array, the name and title of the TGeoManager object will be used for the array.

Definition at line 1759 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 1853 of file KVMultiDetArray.cpp.

◆ 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 1113 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 590 of file KVMultiDetArray.h.

◆ SetNavigator()

void KVMultiDetArray::SetNavigator ( KVGeoNavigator geo)

Definition at line 1949 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 1019 of file KVMultiDetArray.cpp.

◆ SetPartSeedCond()

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

set condition used to seed reconstructed particles

Definition at line 499 of file KVMultiDetArray.h.

◆ SetRawDataFromReconEvent()

void KVMultiDetArray::SetRawDataFromReconEvent ( const KVReconstructedEvent recev)
virtual

Take values 'ACQPAR.[array_name].[detname].[signal]' or 'ACQPAR.[array_name].[signal]' in the parameter list and use them to set values of raw acquisition parameters.

Any detector signals which don't already exist will be created

Reimplemented in KVFAZIA, KVExpSetUp, and KVINDRA.

Definition at line 2548 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 2371 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 1075 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 1049 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 370 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 284 of file KVMultiDetArray.h.

Friends And Related Function Documentation

◆ KVExpSetUp

friend class KVExpSetUp
friend

Definition at line 62 of file KVMultiDetArray.h.

◆ KVGeoImport

friend class KVGeoImport
friend

Definition at line 61 of file KVMultiDetArray.h.