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

Detailed Description

Base class for azimuthally-symmetric multidetector arrays (obsolete)

Definition at line 34 of file KVASMultiDetArray.h.

#include <KVASMultiDetArray.h>

Inheritance diagram for KVASMultiDetArray:

Public Member Functions

 KVASMultiDetArray ()
 
virtual ~KVASMultiDetArray ()
 destroy (delete) the MDA and all the associated structure, detectors etc.
 
void AnalyseGroupAndReconstructEvent (KVReconstructedEvent *event, KVGroup *grp)
 
void AnalyseTelescopes (KVReconstructedEvent *event, TList *kvtl)
 
void CalculateGroupsFromGeometry ()
 
virtual KVNameValueListDetectParticle (KVNucleus *part)
 
virtual KVGroupGetGroupWithAngles (Float_t theta, Float_t phi)
 return pointer to group in array according to given polar coordinates
 
KVLayerGetLayer (const Char_t *name) const
 
KVLayerGetLayer (Int_t num) const
 
KVRingGetRing (const Char_t *layer, const Char_t *ring_name) const
 find named ring in named layer
 
KVRingGetRing (const Char_t *layer, UInt_t ring_number) const
 find numbered ring in named layer
 
KVRingGetRing (UInt_t layer, const Char_t *ring_name) const
 find named ring in numbered layer
 
KVRingGetRing (UInt_t layer, UInt_t ring_number) const
 find numbered ring in numbered layer
 
virtual Double_t GetSolidAngleByLayer (const Char_t *layer)
 
virtual Double_t GetSolidAngleByLayerAndRing (const Char_t *layer, UInt_t ring_number)
 
KVTelescopeGetTelescope (const Char_t *name) const
 Return pointer to telescope in array with name given by "name".
 
TListGetTelescopes (Float_t theta, Float_t phi)
 
virtual Double_t GetTotalSolidAngle (void) const
 
void init ()
 
- Public Member Functions inherited from KVMultiDetArray
 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 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="")
 
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 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 *)
 
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
 

Private Member Functions

virtual void AddToGroups (KVTelescope *kt1, KVTelescope *kt2)
 
KVNameValueListDetectParticle_KV (KVNucleus *part)
 
void GetIDTelescopesForGroup (KVGroup *grp, TCollection *tel_list)
 
void MakeListOfDetectors ()
 
virtual void MergeGroups (KVASGroup *kg1, KVASGroup *kg2)
 
virtual void set_up_single_stage_telescope (KVDetector *det, KVIDTelescope *idt, TCollection *l)
 Set up detector in single-stage identification telescope and add to idtels.
 
virtual void set_up_telescope (KVDetector *de, KVDetector *e, KVIDTelescope *idt, TCollection *l)
 Set up detectors in de-e identification telescope and add to idtels.
 
void SetGroups (KVLayer *, KVLayer *)
 Update the list of groups in the detector array by comparing all telescopes in two layers.
 
void UpdateGroupsInRings (KVRing *r1, KVRing *r2)
 Calculate groups by comparing two rings in different layers.
 

Private Attributes

UInt_t fCurrentLayerNumber
 used to number layers
 
UInt_t fGr
 used to number groups
 

Additional Inherited Members

- Public Types inherited from KVMultiDetArray
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
 
- Static Public Member Functions inherited from KVMultiDetArray
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)
 
- 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
 

Constructor & Destructor Documentation

◆ KVASMultiDetArray()

KVASMultiDetArray::KVASMultiDetArray ( )

Definition at line 56 of file KVASMultiDetArray.cpp.

◆ ~KVASMultiDetArray()

KVASMultiDetArray::~KVASMultiDetArray ( )
virtual

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

Definition at line 76 of file KVASMultiDetArray.cpp.

Member Function Documentation

◆ AddToGroups()

void KVASMultiDetArray::AddToGroups ( KVTelescope kt1,
KVTelescope kt2 
)
privatevirtual

The two telescopes are in angular overlap. a) if neither are in groups already, create a new group to which they both belong b) if one of them is in a group already, add the orphan telescope to it c) if both are in groups already, merge the two groups

Definition at line 357 of file KVASMultiDetArray.cpp.

◆ AnalyseGroupAndReconstructEvent()

void KVASMultiDetArray::AnalyseGroupAndReconstructEvent ( KVReconstructedEvent event,
KVGroup grp 
)
virtual

Reimplemented from KVMultiDetArray.

Definition at line 683 of file KVASMultiDetArray.cpp.

◆ AnalyseTelescopes()

void KVASMultiDetArray::AnalyseTelescopes ( KVReconstructedEvent event,
TList kvtl 
)

Definition at line 750 of file KVASMultiDetArray.cpp.

◆ CalculateGroupsFromGeometry()

void KVASMultiDetArray::CalculateGroupsFromGeometry ( )

Definition at line 294 of file KVASMultiDetArray.cpp.

◆ DetectParticle()

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

Simulate detection of a charged particle by the array. The actual method called depends on the value of fROOTGeometry: fROOTGeometry=kTRUE: calls DetectParticle_TGEO, particle propagation performed using TGeo description of array and algorithms from ROOT TGeo package fROOTGeometry=kFALSE: calls DetectParticle_KV, uses simple KaliVeda geometry to simulate propagation of particle

The default value is given in .kvrootrc by variable KVASMultiDetArray.FilterUsesROOTGeometry

Reimplemented from KVMultiDetArray.

Definition at line 55 of file KVASMultiDetArray.h.

◆ DetectParticle_KV()

KVNameValueList * KVASMultiDetArray::DetectParticle_KV ( KVNucleus part)
private

Simulate detection of a single particle (nucleus) by multidetector array. We look for the group in the array that the particle will hit

If a group is found the detection of this particle by the different members of the group is simulated. The detectors concerned have their fEloss members set to the energy lost by the particle when it crosses them.

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

find group in array hit by particle

Definition at line 480 of file KVASMultiDetArray.cpp.

◆ GetGroupWithAngles()

KVGroup * KVASMultiDetArray::GetGroupWithAngles ( Float_t  theta,
Float_t  phi 
)
virtual

return pointer to group in array according to given polar coordinates

Reimplemented from KVMultiDetArray.

Definition at line 511 of file KVASMultiDetArray.cpp.

◆ GetIDTelescopesForGroup()

void KVASMultiDetArray::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 "detector layer" furthest from the target, we build ID telescopes from all pairs of aligned detectors. We then continue up through the layers of the group

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 from KVMultiDetArray.

Definition at line 594 of file KVASMultiDetArray.cpp.

◆ GetLayer() [1/2]

KVLayer * KVASMultiDetArray::GetLayer ( const Char_t name) const
inline

find layer with name

Definition at line 69 of file KVASMultiDetArray.h.

◆ GetLayer() [2/2]

KVLayer * KVASMultiDetArray::GetLayer ( Int_t  num) const
inline

find layer with number

Definition at line 74 of file KVASMultiDetArray.h.

◆ GetRing() [1/4]

KVRing * KVASMultiDetArray::GetRing ( const Char_t layer,
const Char_t ring_name 
) const

find named ring in named layer

Definition at line 229 of file KVASMultiDetArray.cpp.

◆ GetRing() [2/4]

KVRing * KVASMultiDetArray::GetRing ( const Char_t layer,
UInt_t  ring_number 
) const

find numbered ring in named layer

Definition at line 246 of file KVASMultiDetArray.cpp.

◆ GetRing() [3/4]

KVRing * KVASMultiDetArray::GetRing ( UInt_t  layer,
const Char_t ring_name 
) const

find named ring in numbered layer

Definition at line 262 of file KVASMultiDetArray.cpp.

◆ GetRing() [4/4]

KVRing * KVASMultiDetArray::GetRing ( UInt_t  layer,
UInt_t  ring_number 
) const

find numbered ring in numbered layer

Definition at line 278 of file KVASMultiDetArray.cpp.

◆ GetSolidAngleByLayer()

virtual Double_t KVASMultiDetArray::GetSolidAngleByLayer ( const Char_t layer)
inlinevirtual

return the solid angle (msr) of all the KVRing conditioned by the chosen KVLayer

Definition at line 90 of file KVASMultiDetArray.h.

◆ GetSolidAngleByLayerAndRing()

virtual Double_t KVASMultiDetArray::GetSolidAngleByLayerAndRing ( const Char_t layer,
UInt_t  ring_number 
)
inlinevirtual

return the solid angle (msr) for a given KVRing conditioned by the chosen KVLayer

Definition at line 85 of file KVASMultiDetArray.h.

◆ GetTelescope()

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

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

Reimplemented from KVMultiDetArray.

Definition at line 146 of file KVASMultiDetArray.cpp.

◆ GetTelescopes()

TList * KVASMultiDetArray::GetTelescopes ( Float_t  theta,
Float_t  phi 
)

Create and fill list of telescopes at position (theta, phi) sorted according to distance from target (closest first). User must delete list after use.

Definition at line 536 of file KVASMultiDetArray.cpp.

◆ GetTotalSolidAngle()

Double_t KVASMultiDetArray::GetTotalSolidAngle ( void  ) const
virtual

compute & return the total solid angle (msr) of the array it is the sum of solid angles of all existing KVGroups if ROOT geometry is used, just use base class method

Reimplemented from KVMultiDetArray.

Definition at line 556 of file KVASMultiDetArray.cpp.

◆ init()

void KVASMultiDetArray::init ( void  )

Definition at line 65 of file KVASMultiDetArray.cpp.

◆ MakeListOfDetectors()

void KVASMultiDetArray::MakeListOfDetectors ( )
privatevirtual

Set up list of all detectors in array This method is called after array geometry has been defined. We set the name of each detector by calling its KVDetector::GetArrayName() method (or overrides in child classes), as the name may depend on the position in the final array geometry.

Reimplemented from KVMultiDetArray.

Reimplemented in KVINDRA.

Definition at line 182 of file KVASMultiDetArray.cpp.

◆ MergeGroups()

void KVASMultiDetArray::MergeGroups ( KVASGroup kg1,
KVASGroup kg2 
)
privatevirtual

Merge two existing groups into a new single group. look through kg1 telescopes. set their "group" to kg2. if they are not already in kg2, add them to kg2. KVTelescope *tel = 0; TIter next(kg1->GetTelescopes()); while ((tel = (KVTelescope *) next())) { if (kg2->Contains(tel)) { tel->SetGroup(kg2); //make sure telescope has right group pointer } else { kg2->Add(tel); } } //remove kg1 from list and destroy it fGroups->Remove(kg1); delete kg1; //sort merged group and calculate dimensions kg2->Sort(); kg2->SetDimensions(); //renumber groups and reset group counter RenumberGroups();

Definition at line 436 of file KVASMultiDetArray.cpp.

◆ set_up_single_stage_telescope()

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

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

Reimplemented from KVMultiDetArray.

Definition at line 665 of file KVASMultiDetArray.cpp.

◆ set_up_telescope()

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

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

Reimplemented from KVMultiDetArray.

Definition at line 640 of file KVASMultiDetArray.cpp.

◆ SetGroups()

void KVASMultiDetArray::SetGroups ( KVLayer l1,
KVLayer l2 
)
private

Update the list of groups in the detector array by comparing all telescopes in two layers.

Definition at line 87 of file KVASMultiDetArray.cpp.

◆ UpdateGroupsInRings()

void KVASMultiDetArray::UpdateGroupsInRings ( KVRing r1,
KVRing r2 
)
private

Calculate groups by comparing two rings in different layers.

Definition at line 121 of file KVASMultiDetArray.cpp.

Member Data Documentation

◆ fCurrentLayerNumber

UInt_t KVASMultiDetArray::fCurrentLayerNumber
private

used to number layers

Definition at line 37 of file KVASMultiDetArray.h.

◆ fGr

UInt_t KVASMultiDetArray::fGr
private

used to number groups

Definition at line 38 of file KVASMultiDetArray.h.