KaliVeda
Toolkit for HIC analysis
KVINDRA Class Reference

Detailed Description

INDRA multidetector array geometry.

Definition at line 66 of file KVINDRA.h.

#include <KVINDRA.h>

Inheritance diagram for KVINDRA:

Public Types

enum  ECodes {
  NO_CALIBRATION_ATTEMPTED = 0 , NORMAL_CALIBRATION = 1 , SOME_ENERGY_LOSSES_CALCULATED = 2 , WARNING_CSI_MAX_ENERGY = 3 ,
  WARNING_CSI_NO_MASS_ID = 4 , BAD_CALIBRATION = 15
}
 Calibration quality codes attributed to particles reconstructed from data. More...
 
enum  IDCodes {
  NO_IDENTIFICATION = 14 , ID_STOPPED_IN_FIRST_STAGE = 5 , ID_GAMMA = 0 , ID_NEUTRON = 1 ,
  ID_PHOSWICH = 2 , ID_CSI_PSA = 2 , ID_SI_CSI = 3 , ID_SI75_SILI = 3 ,
  ID_SILI_CSI = 3 , ID_CI_SI = 4 , ID_CI_CSI = 4 , ID_CI_SI75 = 4 ,
  ID_CI_SI_COHERENCY = 6 , ID_CI_COHERENCY = 7 , ID_CI_MULTIHIT = 8 , ID_CSI_FRAGMENT = 9 ,
  ID_CSI_MASS_OUT_OF_RANGE = 10
}
 Identification quality codes attributed to particles reconstructed from data. More...
 
- 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
 

Public Member Functions

 KVINDRA ()
 
virtual ~ KVINDRA ()
 
virtual Bool_t ArePHDSet () const
 
void Build (Int_t run=-1) override
 Correspondance between CsI detectors and pin lasers is set up if known. More...
 
void BuildGeometry ()
 
virtual void cd (Option_t *option="")
 ................ inline functions More...
 
UShort_t GetBadIDCode () const override
 
KVLayer * GetChIoLayer ()
 
virtual KVChIoGetChIoOf (const Char_t *detname)
 
UShort_t GetCoherencyIDCode () const override
 
TString GetCsIIDType () const
 
KVINDRADetectorGetDetector (const Char_t *name) const override
 
virtual KVINDRADetectorGetDetectorByType (UInt_t cou, UInt_t mod, UInt_t type) const
 
void GetDetectorEvent (KVDetectorEvent *detev, const TSeqCollection *fired_dets=0) override
 
TString GetECodeMeaning (Int_t ec) const override
 
Int_t GetIDCodeForParticlesStoppingInFirstStageOfTelescopes () const override
 
TString GetIDCodeMeaning (Int_t idc) const override
 
const KVSeqCollectionGetListOfChIo () const
 
const KVSeqCollectionGetListOfCsI () const
 
const KVSeqCollectionGetListOfPhoswich () const
 
const KVSeqCollectionGetListOfSi () const
 
UShort_t GetMultiHitFirstStageIDCode () const override
 
UChar_t GetNormalCalibrationCode () const override
 
KVGroupReconstructorGetReconstructorForGroup (const KVGroup *) const override
 
UChar_t GetTrigger () const
 
KVINDRATriggerInfoGetTriggerInfo ()
 
void handle_ebyedat_raw_data_parameter (const char *param_name, uint16_t val)
 
void InitialiseRawDataReading (KVRawDataReader *) override
 
void MakeCalibrationTables (KVExpDB *) override
 Override base method in order to read ChIo pressures for each run. More...
 
virtual void PHDSet (Bool_t yes=kTRUE)
 
void SetIDCodeForIDTelescope (KVIDTelescope *) const override
 Set the INDRA-specific general identification code for the given telescope. More...
 
void SetPinLasersForCsI ()
 
void SetRawDataFromReconEvent (KVNameValueList &) override
 
void SetReconParametersInEvent (KVReconstructedEvent *) const override
 If "INDRA.EN" parameter has been set, we use it to set the event number. More...
 
void SetTrigger (UChar_t trig)
 
- Public Member Functions inherited from KVMultiDetArray
 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
 
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 FillHistogramsForAllIDTelescopes (KVSeqCollection *list)
 Fill TH2F histograms for all IDTelescopes of the array. More...
 
void FillListOfIDTelescopes (KVIDGraph *gr) const
 
const KVNumberListGetAcceptedECodes () const
 
const KVNumberListGetAcceptedIDCodes () const
 
virtual KVMultiDetArrayGetArray (const Char_t *) const
 
virtual UChar_t GetCalculatedCalibrationCode () const
 
TListGetCalibrationStatusOfDetectors ()
 
UInt_t GetCurrentRunNumber () const
 
TString GetDataSet () 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
 
KVIDTelescopeGetIDTelescope (const Char_t *name) const
 Return pointer to DeltaE-E ID Telescope with "name". More...
 
KVSeqCollectionGetIDTelescopesWithType (const Char_t *type)
 
KVUniqueNameListGetIDTelescopeTypes ()
 
KVSeqCollectionGetListOfIDTelescopes () const
 
KVGeoNavigatorGetNavigator () const
 
virtual UChar_t GetNoCalibrationCode () const
 
Int_t GetNumberOfGroups () const
 
virtual const Char_tGetPartSeedCond () const
 
KVNameValueListGetReconParameters ()
 
const KVNameValueListGetReconParameters () const
 
TListGetStatusOfIDTelescopes ()
 
KVTargetGetTarget ()
 
virtual Double_t GetTargetEnergyLossCorrection (KVReconstructedNucleus *)
 
virtual Double_t GetTotalSolidAngle (void) const
 
const TSeqCollectionGetTrajectories () const
 
KVUpDaterGetUpDater ()
 
UShort_t GetZminCode () const
 
Bool_t HandledRawData () const
 
Bool_t HandleRawDataBuffer (MFMBufferReader &)
 
virtual Bool_t HandleRawDataEvent (KVRawDataReader *)
 
Bool_t IDParamsSet ()
 
void init ()
 
virtual void InitializeIDTelescopes ()
 
Bool_t IsBeingDeleted ()
 
virtual Bool_t IsBuilt () const
 
Bool_t IsRemoving ()
 
Bool_t IsSimMode () const
 
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)
 
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 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
 
KVDetector * GetDetectorAny (const Char_t *name)
 
KVDetector * GetDetectorByType (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...
 
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 ()
 
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 Attributes

static Char_t SignalTypes [16][3]
 Use this static array to translate EBaseIndra_type signal type to a string giving the signal type. More...
 

Private Member Functions

void copy_fired_parameters_to_recon_param_list () override
 
void FillListsOfDetectorsByType ()
 Fill lists of ChIo, Si, CsI and phoswich. More...
 
Bool_t handle_raw_data_event_ebyedat (KVGANILDataReader &) override
 
Bool_t handle_raw_data_event_mfmframe_ebyedat (const MFMEbyedatFrame &) override
 
Bool_t handle_raw_data_event_mfmframe_mesytec_mdpp (const MFMMesytecMDPPFrame &) override
 
void PerformClosedROOTGeometryOperations () override
 
void ReadChIoPressures (KVExpDB *)
 
void set_detector_thicknesses (const TString &) override
 
void SetChIoPressures (KVDBRun *)
 
void SetDetectorParametersForRun (KVDBRun *, const TString &="") override
 Override base method in order to set ChIo pressures (if defined) More...
 
void SetNamesOfIDTelescopes () const
 

Private Attributes

KVUniqueNameList fChIo
 List Of ChIo of INDRA. More...
 
KVUniqueNameList fCsI
 List of CsI detectors of INDRA. More...
 
Bool_t fEbyedatData
 set to true when VME/VXI acquisition system is used More...
 
KVNameValueList fEbyedatParamDetMap
 maps EBYEDAT parameter names to detectors More...
 
std::unique_ptr< INDRAGeometryBuilderfIGB
 
Bool_t fMesytecData
 set to true when Mesytec acquisition system is used More...
 
Bool_t fPHDSet
 set to kTRUE if pulse height defect parameters are set More...
 
KVUniqueNameList fPhoswich
 List of NE102/NE115 detectors of INDRA. More...
 
KVINDRATriggerInfofSelecteur
 infos from DAQ trigger (le Selecteur) More...
 
KVUniqueNameList fSi
 List of Si detectors of INDRA. More...
 
UChar_t fTrigger
 multiplicity trigger used for acquisition More...
 

Additional Inherited Members

- 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. 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="")
 
static KVString GetDataSetEnv (const KVString &dataset, const KVString &type, const char *defval)
 
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 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 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
 

Member Enumeration Documentation

◆ ECodes

Calibration quality codes attributed to particles reconstructed from data.

Enumerator
NO_CALIBRATION_ATTEMPTED 

particle stopped in detectors with no available calibration

NORMAL_CALIBRATION 

normal well-calibrated particle with no problems

SOME_ENERGY_LOSSES_CALCULATED 

particle calibration OK, with some detector energies calculated

WARNING_CSI_MAX_ENERGY 

particle calibration OK, although apparent energy would mean punching through the CsI

WARNING_CSI_NO_MASS_ID 

particle identified in CsI only in Z, not in A, therefore calculated energy untrustworthy

BAD_CALIBRATION 

calibration attempted but bad result (negative energies etc.)

Definition at line 169 of file KVINDRA.h.

◆ IDCodes

Identification quality codes attributed to particles reconstructed from data.

Enumerator
NO_IDENTIFICATION 

no identification either attempted or available for particle

ID_STOPPED_IN_FIRST_STAGE 

particle stopped in first detector of telescope, only minimum Z can be estimated

ID_GAMMA 

'gamma' particle detected in CsI

ID_NEUTRON 

'neutron' discriminated by coherency between CsI and Si-CsI identifications

ID_PHOSWICH 

particle identified in phoswich (campaigns 1-3)

ID_CSI_PSA 

particle identified in CsI detector by pulse shape analysis

ID_SI_CSI 

particle identified in Si-CsI telescope

ID_SI75_SILI 

particle identified in Si75-SiLi etalon telescope

ID_SILI_CSI 

particle identified in SiLi-CsI etalon telescope

ID_CI_SI 

particle identified in ChIo-Si telescope

ID_CI_CSI 

particle identified in ChIo-CsI telescope

ID_CI_SI75 

particle identified in ChIo-Si75 etalon telescope

ID_CI_SI_COHERENCY 

particle identified in ChIo-Si telescope in coincidence with light particle identified in CsI

ID_CI_COHERENCY 

particle stopped in ChIo revealed by coherency tests (Zmin)

ID_CI_MULTIHIT 

particles stopped in multiple Si (ring<10) or CsI (ring>9) behind same ChIo, bad identification

ID_CSI_FRAGMENT 

particle partially identified in CsI detector, with Z greater than identifiable

ID_CSI_MASS_OUT_OF_RANGE 

particle partially identified in CsI detector, mass out of range of apparent Z (pile-up?)

Definition at line 121 of file KVINDRA.h.

Constructor & Destructor Documentation

◆ KVINDRA()

KVINDRA::KVINDRA ( )

Default constructor Set up lists of ChIo, Si, CsI, Phoswich

Definition at line 85 of file KVINDRA.cpp.

◆ ~ KVINDRA()

virtual KVINDRA::~ KVINDRA ( )
virtual

Member Function Documentation

◆ ArePHDSet()

virtual Bool_t KVINDRA::ArePHDSet ( ) const
inlinevirtual

Definition at line 225 of file KVINDRA.h.

◆ Build()

void KVINDRA::Build ( Int_t  run = -1)
overridevirtual

Correspondance between CsI detectors and pin lasers is set up if known.

Reimplemented from KVMultiDetArray.

Definition at line 119 of file KVINDRA.cpp.

◆ BuildGeometry()

void KVINDRA::BuildGeometry ( )

Definition at line 634 of file KVINDRA.cpp.

◆ cd()

void KVINDRA::cd ( Option_t option = "")
inlinevirtual

................ inline functions

Definition at line 291 of file KVINDRA.h.

◆ copy_fired_parameters_to_recon_param_list()

void KVINDRA::copy_fired_parameters_to_recon_param_list ( )
overrideprivatevirtual

Put values of all fired detector signals into the parameter list which will be copied into the reconstructed event.

If Mesytec data is being read, we set the parameter "INDRA.MESYTEC", or if Ebyedat data, "INDRA.EBYEDAT". Note that in old reconstructed data these parameters did not exist, therefore in their absence EBYEDAT is assumed.

Reimplemented from KVMultiDetArray.

Definition at line 446 of file KVINDRA.cpp.

◆ FillListsOfDetectorsByType()

void KVINDRA::FillListsOfDetectorsByType ( )
private

Fill lists of ChIo, Si, CsI and phoswich.

Definition at line 138 of file KVINDRA.cpp.

◆ GetBadIDCode()

UShort_t KVINDRA::GetBadIDCode ( ) const
inlineoverridevirtual

Reimplemented from KVMultiDetArray.

Definition at line 203 of file KVINDRA.h.

◆ GetChIoLayer()

KVLayer * KVINDRA::GetChIoLayer ( void  )

Return pointer to layer in INDRA structure corresponding to ionisation chambers.

Definition at line 189 of file KVINDRA.cpp.

◆ GetChIoOf()

KVChIo * KVINDRA::GetChIoOf ( const Char_t detname)
virtual

Returns a pointer to the Ionisation Chamber placed directly in front of the detector "detname". If no ChIo is present, a null pointer is returned.

Definition at line 171 of file KVINDRA.cpp.

◆ GetCoherencyIDCode()

UShort_t KVINDRA::GetCoherencyIDCode ( ) const
inlineoverridevirtual

Note that this returns the code for ChIo-Si coherency (i.e. particles identified in ChIo-Si after subtraction of other particles identified in the same group)

Reimplemented from KVMultiDetArray.

Definition at line 207 of file KVINDRA.h.

◆ GetCsIIDType()

TString KVINDRA::GetCsIIDType ( ) const

Definition at line 769 of file KVINDRA.cpp.

◆ GetDetector()

KVINDRADetector* KVINDRA::GetDetector ( const Char_t name) const
inlineoverridevirtual

Reimplemented from KVGeoStrucElement.

Definition at line 277 of file KVINDRA.h.

◆ GetDetectorByType()

KVINDRADetector * KVINDRA::GetDetectorByType ( UInt_t  cou,
UInt_t  mod,
UInt_t  type 
) const
virtual

Find a detector based on the old BaseIndra type definitions:

enum EBaseIndra_type { ChIo_GG=1, ChIo_PG,//=2 ChIo_T,//=3 Si_GG,//=4 Si_PG,//=5 Si_T,//=6 CsI_R,//=7 CsI_L,//=8 CsI_T,//=9 Si75_GG,//=10 Si75_PG,//=11 Si75_T,//=12 SiLi_GG,//=13 SiLi_PG,//=14 SiLi_T//=15 }; enum EBaseIndra_typePhos { Phos_R=1, Phos_L,//=2 Phos_T,//=3 };

Definition at line 240 of file KVINDRA.cpp.

◆ GetDetectorEvent()

void KVINDRA::GetDetectorEvent ( KVDetectorEvent detev,
const TSeqCollection fired_dets = 0 
)
overridevirtual

Overrides KVASMultiDetArray::GetDetectorEvent. If the list of fired detectors is given (meaning we are reading raw data) then we check that what we have read is in fact an INDRA event (see KVINDRATriggerInfo::IsINDRAEvent()) : if not, we do not try to find the hit groups.

Reimplemented from KVMultiDetArray.

Definition at line 866 of file KVINDRA.cpp.

◆ GetECodeMeaning()

TString KVINDRA::GetECodeMeaning ( Int_t  ec) const
inlineoverridevirtual

Reimplemented from KVMultiDetArray.

Examples
ExampleE789ReconAnalysis.cpp.

Definition at line 180 of file KVINDRA.h.

◆ GetIDCodeForParticlesStoppingInFirstStageOfTelescopes()

Int_t KVINDRA::GetIDCodeForParticlesStoppingInFirstStageOfTelescopes ( ) const
inlineoverridevirtual

Reimplemented from KVMultiDetArray.

Definition at line 199 of file KVINDRA.h.

◆ GetIDCodeMeaning()

TString KVINDRA::GetIDCodeMeaning ( Int_t  idc) const
inlineoverridevirtual

Return a symbolic name corresponding to the IDCode value

Reimplemented from KVMultiDetArray.

Examples
ExampleE789ReconAnalysis.cpp.

Definition at line 143 of file KVINDRA.h.

◆ GetListOfChIo()

const KVSeqCollection* KVINDRA::GetListOfChIo ( ) const
inline

Definition at line 235 of file KVINDRA.h.

◆ GetListOfCsI()

const KVSeqCollection* KVINDRA::GetListOfCsI ( ) const
inline

Definition at line 243 of file KVINDRA.h.

◆ GetListOfPhoswich()

const KVSeqCollection* KVINDRA::GetListOfPhoswich ( ) const
inline

Definition at line 247 of file KVINDRA.h.

◆ GetListOfSi()

const KVSeqCollection* KVINDRA::GetListOfSi ( ) const
inline

Definition at line 239 of file KVINDRA.h.

◆ GetMultiHitFirstStageIDCode()

UShort_t KVINDRA::GetMultiHitFirstStageIDCode ( ) const
inlineoverridevirtual

Reimplemented from KVMultiDetArray.

Definition at line 213 of file KVINDRA.h.

◆ GetNormalCalibrationCode()

UChar_t KVINDRA::GetNormalCalibrationCode ( ) const
inlineoverridevirtual

return a general calibration code for correctly calibrated particles

Reimplemented from KVMultiDetArray.

Definition at line 114 of file KVINDRA.h.

◆ GetReconstructorForGroup()

KVGroupReconstructor * KVINDRA::GetReconstructorForGroup ( const KVGroup g) const
overridevirtual

Special INDRA group reconstructors:

Reimplemented from KVMultiDetArray.

Definition at line 893 of file KVINDRA.cpp.

◆ GetTrigger()

UChar_t KVINDRA::GetTrigger ( ) const
inline

Definition at line 258 of file KVINDRA.h.

◆ GetTriggerInfo()

KVINDRATriggerInfo* KVINDRA::GetTriggerInfo ( )
inline

Definition at line 268 of file KVINDRA.h.

◆ handle_ebyedat_raw_data_parameter()

void KVINDRA::handle_ebyedat_raw_data_parameter ( const char *  param_name,
uint16_t  val 
)

Definition at line 417 of file KVINDRA.cpp.

◆ handle_raw_data_event_ebyedat()

Bool_t KVINDRA::handle_raw_data_event_ebyedat ( KVGANILDataReader rdr)
overrideprivatevirtual

Set raw data in detectors/array coming from a GANIL EBYEDAT format acquisition file.

Reimplemented from KVMultiDetArray.

Definition at line 652 of file KVINDRA.cpp.

◆ handle_raw_data_event_mfmframe_ebyedat()

Bool_t KVINDRA::handle_raw_data_event_mfmframe_ebyedat ( const MFMEbyedatFrame &  f)
overrideprivatevirtual

General method for reading raw data in MFM-encapsulated ebyedat format Fills list of hit acquisition parameters. Returns kTRUE if at least one parameter belonging to the array is present.

Any unknown parameters in the event (i.e. ones for which no KVACQParam object has been defined) are written in the fReconParameters list with names "ACQPAR.[array name].[parameter name]"

Retrieve CENTRUM timestamp from data if present. It will be added to fReconParameters as a 64-bit value "INDRA.TS" (if != 0) Event number is retrieved and stored as "INDRA.EN" (if != 0) Any parameter which appears as [name] and [name]_UP is an unsigned 32-bit value split into two 16-bit words. We replace the two parameters with a 64-bit value (to hold correctly all unsigned 32-bit values) with [name].

Reimplemented from KVMultiDetArray.

Definition at line 688 of file KVINDRA.cpp.

◆ handle_raw_data_event_mfmframe_mesytec_mdpp()

Bool_t KVINDRA::handle_raw_data_event_mfmframe_mesytec_mdpp ( const MFMMesytecMDPPFrame &  f)
overrideprivatevirtual

Reimplemented from KVMultiDetArray.

Definition at line 1075 of file KVINDRA.cpp.

◆ InitialiseRawDataReading()

void KVINDRA::InitialiseRawDataReading ( KVRawDataReader r)
overridevirtual

Call this method just after opening a raw data file in order to perform any necessary initialisations, depending on the type of data

Reimplemented from KVMultiDetArray.

Definition at line 1019 of file KVINDRA.cpp.

◆ MakeCalibrationTables()

void KVINDRA::MakeCalibrationTables ( KVExpDB db)
overridevirtual

Override base method in order to read ChIo pressures for each run.

Reimplemented from KVMultiDetArray.

Definition at line 1004 of file KVINDRA.cpp.

◆ PerformClosedROOTGeometryOperations()

void KVINDRA::PerformClosedROOTGeometryOperations ( )
overrideprivatevirtual

Finalise the ROOT geometry description by performing operations which can only be done once the geometry is closed

Reimplemented from KVMultiDetArray.

Definition at line 368 of file KVINDRA.cpp.

◆ PHDSet()

virtual void KVINDRA::PHDSet ( Bool_t  yes = kTRUE)
inlinevirtual

Definition at line 229 of file KVINDRA.h.

◆ ReadChIoPressures()

void KVINDRA::ReadChIoPressures ( KVExpDB db)
private

Read ChIo pressures from a file with the following format:

PressureSet: A
A.RunList: 1-22
A.CI_02: 50.0
A.CI_04: 30.0
A.CI_06: 20.0
+PressureSet: B
B.Units: torr
B.RunList: 23-50
B.CI_08: 33.0
B.CI_13: 11.6
const long double torr
pressures
Definition: KVUnits.h:78

Units can be either mbar or torr: mbar is used by default (e.g. for set A in the example).

The different ionization chambers are designated by CI_02, CI_04, CI_06, CI_08, CI_13 The same pressure will be applied to all cells of each ChIo which are present in the current geometry.

If RunList is not given, the pressures will be applied to all runs in the database.

Definition at line 486 of file KVINDRA.cpp.

◆ set_detector_thicknesses()

void KVINDRA::set_detector_thicknesses ( const TString fullpath)
overrideprivatevirtual

Reimplemented from KVMultiDetArray.

Definition at line 1167 of file KVINDRA.cpp.

◆ SetChIoPressures()

void KVINDRA::SetChIoPressures ( KVDBRun kvrun)
private

Update ChIo pressures for this run with values in database (if any)

Any ChIo with zero pressure has KVDetector::IsDetecting() set to false (and hence KVDetector::IsOK() will also return false).

Definition at line 555 of file KVINDRA.cpp.

◆ SetDetectorParametersForRun()

void KVINDRA::SetDetectorParametersForRun ( KVDBRun dbr,
const TString myname = "" 
)
overrideprivatevirtual

Override base method in order to set ChIo pressures (if defined)

Reimplemented from KVMultiDetArray.

Definition at line 623 of file KVINDRA.cpp.

◆ SetIDCodeForIDTelescope()

void KVINDRA::SetIDCodeForIDTelescope ( KVIDTelescope idt) const
overridevirtual

Set the INDRA-specific general identification code for the given telescope.

Reimplemented from KVMultiDetArray.

Definition at line 747 of file KVINDRA.cpp.

◆ SetNamesOfIDTelescopes()

void KVINDRA::SetNamesOfIDTelescopes ( ) const
private

Change default names of ID telescopes to INDRA standard

This method also sets the types of the ID telescopes

Definition at line 314 of file KVINDRA.cpp.

◆ SetPinLasersForCsI()

void KVINDRA::SetPinLasersForCsI ( )

Sets the KVCsI::fPinLaser member of each CsI detector with the number of the pin laser associated for the stability control of these detectors.

We look for a file with the following format:

CSI_0101 1 CSI_0102 1 CSI_0103 1 CSI_0104 1 etc.

i.e. 'name of CsI detector' 'number of pin laser (1-8)' Comment lines must begin with '#'

The default name of this file is defined in .kvrootrc by

INDRADB.CsIPinCorr: CsI_PILA.dat

Dataset-specific version can be specified:

INDRA_e999.INDRADB.CsIPinCorr: CorrCsIPin_2054.dat

This file should be in the directory corresponding to the current dataset, i.e. in $KVROOT/KVFiles/name_of_dataset

Definition at line 802 of file KVINDRA.cpp.

◆ SetRawDataFromReconEvent()

void KVINDRA::SetRawDataFromReconEvent ( KVNameValueList l)
overridevirtual

Overrides base method in KVMultiDetArray.

If we are reading old reconstructed data with EBYEDAT parameters, we need special treatment to decode the detector name & signal type.

Reimplemented from KVMultiDetArray.

Definition at line 950 of file KVINDRA.cpp.

◆ SetReconParametersInEvent()

void KVINDRA::SetReconParametersInEvent ( KVReconstructedEvent e) const
overridevirtual

If "INDRA.EN" parameter has been set, we use it to set the event number.

Reimplemented from KVMultiDetArray.

Definition at line 934 of file KVINDRA.cpp.

◆ SetTrigger()

void KVINDRA::SetTrigger ( UChar_t  trig)

Define multiplicity trigger used for acquisition and filter. Events with multipicity >= trig are OK.

Definition at line 204 of file KVINDRA.cpp.

Member Data Documentation

◆ fChIo

KVUniqueNameList KVINDRA::fChIo
private

List Of ChIo of INDRA.

Definition at line 76 of file KVINDRA.h.

◆ fCsI

KVUniqueNameList KVINDRA::fCsI
private

List of CsI detectors of INDRA.

Definition at line 78 of file KVINDRA.h.

◆ fEbyedatData

Bool_t KVINDRA::fEbyedatData
private

set to true when VME/VXI acquisition system is used

Definition at line 87 of file KVINDRA.h.

◆ fEbyedatParamDetMap

KVNameValueList KVINDRA::fEbyedatParamDetMap
private

maps EBYEDAT parameter names to detectors

Definition at line 85 of file KVINDRA.h.

◆ fIGB

std::unique_ptr<INDRAGeometryBuilder> KVINDRA::fIGB
private

Definition at line 73 of file KVINDRA.h.

◆ fMesytecData

Bool_t KVINDRA::fMesytecData
private

set to true when Mesytec acquisition system is used

Definition at line 88 of file KVINDRA.h.

◆ fPHDSet

Bool_t KVINDRA::fPHDSet
private

set to kTRUE if pulse height defect parameters are set

Definition at line 81 of file KVINDRA.h.

◆ fPhoswich

KVUniqueNameList KVINDRA::fPhoswich
private

List of NE102/NE115 detectors of INDRA.

Definition at line 79 of file KVINDRA.h.

◆ fSelecteur

KVINDRATriggerInfo* KVINDRA::fSelecteur
private

infos from DAQ trigger (le Selecteur)

Definition at line 83 of file KVINDRA.h.

◆ fSi

KVUniqueNameList KVINDRA::fSi
private

List of Si detectors of INDRA.

Definition at line 77 of file KVINDRA.h.

◆ fTrigger

UChar_t KVINDRA::fTrigger
private

multiplicity trigger used for acquisition

Definition at line 71 of file KVINDRA.h.

◆ SignalTypes

Char_t KVINDRA::SignalTypes
static
Initial value:
= {
"",
"GG", "PG", "T",
"GG", "PG", "T",
"R", "L", "T",
"GG", "PG", "T",
"GG", "PG", "T"
}

Use this static array to translate EBaseIndra_type signal type to a string giving the signal type.

Definition at line 69 of file KVINDRA.h.