KaliVeda
1.13/01
Heavy-Ion Analysis Toolkit
|
Public Types | |
enum | ECodes { NO_CALIBRATION_ATTEMPTED = 0 , NORMAL_CALIBRATION = 1 , SOME_ENERGY_LOSSES_CALCULATED = 2 , WARNING_CSI_MAX_ENERGY = 3 , 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... | |
![]() | |
enum | EFilterType { kFilterType_Geo , kFilterType_GeoThresh , kFilterType_Full } |
filter types. values of fFilterType More... | |
![]() | |
enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
![]() | |
enum | EDeprecatedStatusBits |
enum | EStatusBits |
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... | |
Protected Attributes | |
KVHashList * | fChIo |
List Of ChIo of INDRA. More... | |
KVHashList * | 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... | |
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... | |
KVHashList * | fPhoswich |
List of NE102/NE115 detectors of INDRA. More... | |
KVINDRATriggerInfo * | fSelecteur |
infos from DAQ trigger (le Selecteur) More... | |
KVHashList * | fSi |
List of Si detectors of INDRA. More... | |
TEnv | fStrucInfos |
file containing structure of array More... | |
![]() | |
UInt_t | fCurrentLayerNumber |
used to number layers More... | |
UInt_t | fGr |
used to number groups More... | |
![]() | |
KVNumberList | fAcceptECodes |
list of acceptable calibration codes for reconstructed nuclei More... | |
KVNumberList | fAcceptIDCodes |
list of acceptable identification codes for reconstructed nuclei More... | |
TList * | fCalibStatusDets |
used by GetStatusIDTelescopes More... | |
UInt_t | fCurrentRun |
Number of the current run used to call SetParameters. More... | |
TString | fDataSet |
name of associated dataset, used with MakeMultiDetector() More... | |
KVUniqueNameList | fExtraRawDataSignals |
any signals read from raw data not associated with a detector More... | |
Int_t | fFilterType |
type of filtering (used by DetectEvent) More... | |
KVUniqueNameList | fFiredDetectors |
list of fired detectors after reading raw data event More... | |
KVUnownedList | fFiredSignals |
list of fired signals after reading raw data event More... | |
Bool_t | fHandledRawData |
set to true if multidetector handles data in last call to HandleRawData More... | |
KVDetectorEvent * | fHitGroups |
list of hit groups in simulation More... | |
KVSeqCollection * | fIDTelescopes |
deltaE-E telescopes in groups More... | |
KVRangeTableGeoNavigator * | fNavigator |
for propagating particles through array geometry More... | |
TString | fPartSeedCond |
condition for seeding new reconstructed particles More... | |
KVRawDataReader * | fRawDataReader |
last raw data reader object used in call to HandleRawData More... | |
KVNameValueList | fReconParameters |
general purpose list of parameters for storing information on data reconstruction More... | |
Bool_t | fROOTGeometry |
=kTRUE use ROOT geometry More... | |
Bool_t | fSimMode |
=kTRUE in "simulation mode" (use for calculating response to simulated events) More... | |
TList * | fStatusIDTelescopes |
used by GetStatusIDTelescopes More... | |
KVTarget * | fTarget |
target used in experiment More... | |
KVUniqueNameList | fTrajectories |
list of all possible trajectories through detectors of array More... | |
KVUpDater * | fUpDater |
used to set parameters for multidetector More... | |
![]() | |
KVUniqueNameList | fDetectors |
detectors in this structure element More... | |
KVUniqueNameList | fParentStrucList |
parent structures More... | |
KVUniqueNameList | fStructures |
daughter structures More... | |
![]() | |
TString | fLabel |
label for the object More... | |
![]() | |
TString | fName |
TString | fTitle |
![]() | |
kOnlyPrepStep | |
Private Attributes | |
UChar_t | fTrigger |
multiplicity trigger used for acquisition More... | |
Additional Inherited Members | |
![]() | |
static TGeoHMatrix * | GetVolumePositioningMatrix (Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr) |
static KVMultiDetArray * | MakeMultiDetector (const Char_t *dataset_name, Int_t run=-1, TString classname="KVMultiDetArray") |
![]() | |
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 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_t * | FindFile (const Char_t *search, TString &wfil) |
static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetDATABASEFilePath () |
static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
static Bool_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval) |
static const Char_t * | GetDataSetEnv (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_t * | GetETCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More... | |
static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetKVBuildDate () |
Returns KaliVeda build date. More... | |
static const Char_t * | GetKVBuildDir () |
Returns top-level directory used for build. More... | |
static const Char_t * | GetKVBuildTime () |
Returns KaliVeda build time. More... | |
static const Char_t * | GetKVBuildType () |
Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More... | |
static const Char_t * | GetKVBuildUser () |
Returns username of person who performed build. More... | |
static const Char_t * | GetKVSourceDir () |
Returns top-level directory of source tree used for build. More... | |
static const Char_t * | GetKVVersion () |
Returns KaliVeda version string. More... | |
static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetListOfPlugins (const Char_t *base) |
static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
static void | GetTempFileName (TString &base) |
static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
static const Char_t * | gitBranch () |
Returns git branch of sources. More... | |
static const Char_t * | gitCommit () |
Returns last git commit of sources. More... | |
static void | InitEnvironment () |
static bool | is_gnuinstall () |
static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
static TPluginHandler * | LoadPlugin (const Char_t *base, const Char_t *uri="0") |
static Bool_t | OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="") |
static void | OpenTempFile (TString &base, std::ofstream &fp) |
static void | PrintSplashScreen () |
Prints welcome message and infos on version etc. More... | |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="") |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
static Bool_t | SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="") |
static const Char_t * | WorkingDirectory () |
![]() | |
static Longptr_t | GetDtorOnly () |
static Bool_t | GetObjectStat () |
static void | SetDtorOnly (void *obj) |
static void | SetObjectStat (Bool_t stat) |
![]() | |
kBitMask | |
kCanDelete | |
kCannotPick | |
kHasUUID | |
kInconsistent | |
kInvalidObject | |
kIsOnHeap | |
kIsReferenced | |
kMustCleanup | |
kNoContextMenu | |
kNotDeleted | |
kObjInCanvas | |
kOverwrite | |
kSingleKey | |
kWriteDelete | |
kZombie | |
![]() | |
enum | { kIsRemoving = BIT(14) , kParamsSet = BIT(15) , kIsBuilt = BIT(16) , kIsBeingDeleted = BIT(17) , kIDParamsSet = BIT(18) , kCalParamsSet = BIT(19) } |
![]() | |
static Bool_t | fBuildTarget = kFALSE |
static Bool_t | fCloseGeometryNow = kTRUE |
static Bool_t | fMakeMultiDetectorSetParameters = kTRUE |
#include <KVINDRA.h>
enum KVINDRA::ECodes |
Calibration quality codes attributed to particles reconstructed from data.
enum KVINDRA::IDCodes |
Identification quality codes attributed to particles reconstructed from data.
KVINDRA::KVINDRA | ( | ) |
Default constructor Set up lists of ChIo, Si, CsI, Phoswich
Definition at line 94 of file KVINDRA.cpp.
|
virtual |
Overrides KVASMultiDetArray::Build Correspondance between CsI detectors and pin lasers is set up if known.
Reimplemented from KVMultiDetArray.
Definition at line 389 of file KVINDRA.cpp.
|
protectedvirtual |
Construction of INDRA detector array.
Uses infos in file $KVROOT/KVFiles/data/indra_struct.[dataset].env or $KVROOT/KVFiles/data/indra_struct.env
if no dataset-specific file found
Alternatively, by defining the variable
[dataset].INDRA.StructureFile: [path to file]
Reimplemented from KVMultiDetArray.
Definition at line 169 of file KVINDRA.cpp.
Build layer 'name' with infos in file "$KVROOT/KVFiles/data/indra-struct.[dataset].env".
void SetGGtoPGConversionFactors(); void LinkToCodeurs();
Definition at line 229 of file KVINDRA.cpp.
Build ring with infos in file "$KVROOT/KVFiles/data/indra-struct.[dataset].env".
Definition at line 254 of file KVINDRA.cpp.
|
protected |
Build telescope from infos in file "$KVROOT/KVFiles/data/indra-struct.[dataset].env" Info("BuildTelescope", "Building telescope %s",name);
Definition at line 303 of file KVINDRA.cpp.
|
protectedvirtual |
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 825 of file KVINDRA.cpp.
void KVINDRA::CreateROOTGeometry | ( | ) |
Overrides KVASMultiDetArray::CreateGeoManager in order to use INDRAGeometryBuilder which builds the TGeo representation of INDRA using the Y. Huguet CAO data.
The optional arguments (dx,dy,dz) are the half-lengths in centimetres of the "world"/"top" volume into which all the detectors of the array are placed. This should be big enough so that all detectors fit in. The default values of 500 give a "world" which is a cube 1000cmx1000cmx1000cm (with sides going from -500cm to +500cm on each axis).
If closegeo=kFALSE we leave the geometry open for other structures to be added.
Definition at line 1194 of file KVINDRA.cpp.
|
protected |
Fill lists of ChIo, Si, CsI and phoswich.
Definition at line 519 of file KVINDRA.cpp.
|
protected |
Kludge to make INDRA ROOT geometry work like any other Normally ID telescopes are deduced from successive detectors on the different trajectories Each trajectory then possesses its list of ID telescopes These lists are then used when reconstruction trajectories are calculated
When INDRA ROOT geometry is used, trajectory lists need to be filled by hand before reconstruction trajectories are calculated
Definition at line 350 of file KVINDRA.cpp.
|
inlinevirtual |
The following methods are used by the current implementation of the filter. They should be removed in future implementations.
return a general identification code for particles badly identified with this type of ID telescope
Reimplemented from KVMultiDetArray.
Return pointer to layer in INDRA structure corresponding to ionisation chambers.
Definition at line 591 of file KVINDRA.cpp.
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 573 of file KVINDRA.cpp.
|
inlinevirtual |
return a general identification code for particles identified with this type of ID telescope after coherency analysis
Reimplemented from KVMultiDetArray.
|
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 642 of file KVINDRA.cpp.
|
virtual |
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 1114 of file KVINDRA.cpp.
Reimplemented from KVMultiDetArray.
|
inlinevirtual |
Reimplemented from KVMultiDetArray.
Return a symbolic name corresponding to the IDCode value
Reimplemented from KVMultiDetArray.
|
protectedvirtual |
Override KVASMultiDetArray method for special case of "etalon" modules: we need to add ChIo-CsI identification telescope by hand
Reimplemented from KVMultiDetArray.
Definition at line 712 of file KVINDRA.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
return a general identification code for particles which cannot be identified correctly due to pile-up in a delta-E detector
Reimplemented from KVMultiDetArray.
|
inlinevirtual |
return a general calibration code for correctly calibrated particles
Reimplemented from KVMultiDetArray.
|
virtual |
Special INDRA group reconstructors: KVINDRAForwardGroupReconstructor rings 1-9 KVINDRABackwardGroupReconstructor rings 10-17 KVINDRAEtalonGroupReconstructor for groups with etalon telescopes
Reimplemented from KVMultiDetArray.
Definition at line 1332 of file KVINDRA.cpp.
|
inline |
void KVINDRA::handle_ebyedat_raw_data_parameter | ( | const char * | param_name, |
uint16_t | val | ||
) |
Definition at line 797 of file KVINDRA.cpp.
|
protectedvirtual |
Set raw data in detectors/array coming from a GANIL EBYEDAT format acquisition file.
Reimplemented from KVMultiDetArray.
Definition at line 846 of file KVINDRA.cpp.
|
protectedvirtual |
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 882 of file KVINDRA.cpp.
|
virtual |
Call this method just after opening a raw data file in order to perform any necessary initialisations, depending on the type of data
Reimplemented from KVMultiDetArray.
Definition at line 1427 of file KVINDRA.cpp.
|
protectedvirtual |
Overrides KVASMultiDetArray method to add FillListsOfDetectorsByType()
Reimplemented from KVMultiDetArray.
Definition at line 506 of file KVINDRA.cpp.
|
protectedvirtual |
Finalise the ROOT geometry description by performing operations which can only be done once the geometry is closed
Reimplemented from KVMultiDetArray.
Definition at line 786 of file KVINDRA.cpp.
|
protectedvirtual |
Find groups of telescopes in angular alignment placed on different layers. List is in fGroups. Also creates all ID telescopes in array and stores them in fIDTelescopes. Any previous groups/idtelescopes are deleted beforehand.
Reimplemented in KVINDRAe503.
Definition at line 555 of file KVINDRA.cpp.
|
virtual |
Set the INDRA-specific general identification code for the given telescope.
Reimplemented from KVMultiDetArray.
Definition at line 941 of file KVINDRA.cpp.
Set minimum OK multiplicity for (reconstructed) event This is the multiplicity trigger used for the current run (if known)
Reimplemented from KVMultiDetArray.
Definition at line 1316 of file KVINDRA.cpp.
|
protected |
Change default names of ID telescopes to INDRA standard
This method also sets the types of the ID telescopes
Definition at line 735 of file KVINDRA.cpp.
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 987 of file KVINDRA.cpp.
|
virtual |
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 1374 of file KVINDRA.cpp.
|
virtual |
If "INDRA.EN" parameter has been set, we use it to set the event number.
Reimplemented from KVMultiDetArray.
Definition at line 1358 of file KVINDRA.cpp.
Override base class method If ROOT geometry is requested but has not been built, we create it
Reimplemented from KVMultiDetArray.
Definition at line 1295 of file KVINDRA.cpp.
Define multiplicity trigger used for acquisition and filter. Events with multipicity >= trig are OK.
Definition at line 606 of file KVINDRA.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
static |