KaliVeda
Toolkit for HIC analysis
KVMultiDetArray.h
1 
4 #ifndef __KVMultiDetArray_H
5 #define __KVMultiDetArray_H
6 
7 #include "KVGeoStrucElement.h"
8 #include "KVUniqueNameList.h"
9 #include "TGeoManager.h"
10 #include "KVDetector.h"
11 #include "KVGroupReconstructor.h"
12 
13 #include <KVFileReader.h>
14 #include <KVGeoDNTrajectory.h>
15 #include <KVUnownedList.h>
16 class KVIDGraph;
17 class KVTarget;
18 class KVTelescope;
19 class KVIDTelescope;
21 class KVDetectorEvent;
22 class KVGroup;
23 class KVNameValueList;
25 class KVList;
26 class KVGeoNavigator;
27 class KVUpDater;
28 class KVRawDataReader;
29 #ifdef WITH_BUILTIN_GRU
30 class KVGANILDataReader;
31 #endif
32 #ifdef WITH_MFM
33 class MFMCommonFrame;
34 class MFMMergeFrameManager;
36 class MFMEbyedatFrame;
37 class MFMBufferReader;
38 #ifdef WITH_MESYTEC
39 #include "MFMMesytecMDPPFrame.h"
40 #endif
41 #endif
42 #ifdef WITH_PROTOBUF
44 #endif
45 class KVExpSetUp;
46 class KVExpDB;
47 class KVDBTable;
48 class KVDBRun;
49 
60 
61  friend class KVGeoImport;
62  friend class KVExpSetUp;
63 
64 protected:
65 
71 
73  enum {
74  kIsRemoving = BIT(14), //flag set during call to RemoveLayer etc.
75  kParamsSet = BIT(15), //flag set when SetParameters called
76  kIsBuilt = BIT(16), //flag set when Build() is called
77  kIsBeingDeleted = BIT(17), //flag set when dtor is called
78  kIDParamsSet = BIT(18), //flag set when SetRunIdentificationParameters called
79  kCalParamsSet = BIT(19) //flag set when SetRunCalibrationParameters called
80  };
81 
84 
93 
95 
97 
98  std::unique_ptr<KVGeoNavigator> fNavigator;
99 
101 
104 
106 
109 
111 
112  virtual void RenumberGroups();
113 
114  virtual void SetExpectedDetectorSignalNames();
115 
116  Int_t GetIDTelescopes(KVGeoDetectorNode*, KVDetector*, TCollection* list);
117 
119  {
123  }
124 
125  int try_all_doubleID_telescopes(KVDetector* de, KVDetector* e, TCollection* l);
126  bool try_a_doubleIDtelescope(TString uri, KVDetector* de, KVDetector* e, TCollection* l);
127  bool try_upper_and_lower_doubleIDtelescope(TString uri, KVDetector* de, KVDetector* e, TCollection* l);
128  int try_all_singleID_telescopes(KVDetector* d, TCollection* l);
129  bool try_a_singleIDtelescope(TString uri, KVDetector* d, TCollection* l);
130  bool try_upper_and_lower_singleIDtelescope(TString uri, KVDetector* d, TCollection* l);
131  virtual void set_up_telescope(KVDetector* de, KVDetector* e, KVIDTelescope* idt, TCollection* l);
132  virtual void set_up_single_stage_telescope(KVDetector* det, KVIDTelescope* idt, TCollection* l);
133 
137  {
139  }
142 
143 #ifdef WITH_MFM
144  virtual Bool_t handle_raw_data_event_mfmfile(MFMBufferReader&);
145  virtual Bool_t handle_raw_data_event_mfmmergeframe(const MFMMergeFrameManager&);
146  virtual Bool_t handle_raw_data_event_mfmframe(const MFMCommonFrame&);
147  virtual Bool_t handle_raw_data_event_mfmframe_ebyedat(const MFMEbyedatFrame&);
148 #ifdef WITH_MESYTEC
149  virtual Bool_t handle_raw_data_event_mfmframe_mesytec_mdpp(const MFMMesytecMDPPFrame&);
150 #endif
151 #endif
152 #ifdef WITH_PROTOBUF
154 #endif
155 #ifdef WITH_BUILTIN_GRU
157 #endif
158  void add_and_set_detector_signal(KVDetector* det, KVString detname, Double_t sig_data, KVString sig_type);
159 
161 
163 
164  TString GetFileName(KVExpDB*, const Char_t* meth, const Char_t* keyw);
165  std::unique_ptr<KVFileReader> GetKVFileReader(KVExpDB* db, const Char_t* meth, const Char_t* keyw);
166  void ReadCalibrationFiles(KVExpDB* db);
167  void ReadCalibFile(const Char_t* filename, KVExpDB* db, KVDBTable* calib_table);
168  void ReadOoODetectors(KVExpDB* db);
169  void ReadAbsentDetectors(KVExpDB* db);
170 
171  virtual void set_detector_thicknesses(const TString&);
172 
173 public:
176  {
179  return fReconParameters;
180  }
182  {
185  return fReconParameters;
186  }
187  virtual void SetReconParametersInEvent(KVReconstructedEvent*) const;
188  void CreateGeoManager(Double_t dx = 500, Double_t dy = 500, Double_t dz = 500)
189  {
190  if (!gGeoManager) {
191 
192  new TGeoManager(GetName(), Form("%s geometry for dataset %s", GetName(), fDataSet.Data()));
193 
194  TGeoMaterial* matVacuum = gGeoManager->GetMaterial("Vacuum");
195  if (!matVacuum) {
196  matVacuum = new TGeoMaterial("Vacuum", 0, 0, 0);
197  matVacuum->SetTitle("Vacuum");
198  }
199  TGeoMedium* Vacuum = gGeoManager->GetMedium("Vacuum");
200  if (!Vacuum) Vacuum = new TGeoMedium("Vacuum", 1, matVacuum);
201  TGeoVolume* top = gGeoManager->MakeBox("WORLD", Vacuum, dx, dy, dz);
203  }
204 
205  }
206  void SetGeometry(TGeoManager*);
207  TGeoManager* GetGeometry() const;
208  KVGeoNavigator* GetNavigator() const;
209  void SetNavigator(KVGeoNavigator* geo);
210 
212  enum EFilterType {
216  };
217  KVMultiDetArray();
218  KVMultiDetArray(const Char_t* name, const Char_t* type = "");
219  virtual ~KVMultiDetArray();
220 
222  {
223  fFilterType = t;
224  }
225  void init();
226 
227  KVGroup* GetGroup(const Char_t* name) const
228  {
229  return (KVGroup*)GetStructure("GROUP", name);
230  }
231  KVGroup* GetGroup(Int_t number) const
232  {
233  return (KVGroup*)GetStructure("GROUP", number);
234  }
235  virtual void Build(Int_t run = -1);
236 
237  void Clear(Option_t* opt = "") override;
238 
241  {
242  return &fFiredDetectors;
243  }
244 
247  {
248  return &fFiredSignals;
249  }
250 
253  {
254  return &fExtraRawDataSignals;
255  }
256 
257  virtual void GetDetectorEvent(KVDetectorEvent* detev, const TSeqCollection* fired_params = 0);
258 
259  KVIDTelescope* GetIDTelescope(const Char_t* name) const;
261  {
262  return fIDTelescopes;
263  }
266  void SetDetectorThicknesses();
267 
268  virtual void SetTarget(KVTarget* target)
269  {
273 
274  fTarget = target;
275  }
277  {
279  return fTarget;
280  }
281 
283 
285  {
286  return TestBit(kIsRemoving);
287  }
288 
289  virtual Bool_t IsBuilt() const
290  {
291  return TestBit(kIsBuilt);
292  }
293  static KVMultiDetArray* MakeMultiDetector(const Char_t* dataset_name, Int_t run = -1, TString classname = "KVMultiDetArray");
294 
296  {
297  return TestBit(kIsBeingDeleted);
298  }
300  virtual void SetParameters(UInt_t n, Bool_t physics_parameters_only = kFALSE);
302  virtual void SetRunCalibrationParameters(UShort_t n);
303 
305  {
306  return TestBit(kParamsSet);
307  }
309  {
310  return (TestBit(kIDParamsSet) || ParamsSet());
311  }
313  {
314  return (TestBit(kCalParamsSet) || ParamsSet());
315  }
317  {
318  return fCurrentRun;
319  }
321  {
322  fCurrentRun = r;
323  }
324 
325  virtual void SetIdentifications();
326  virtual void InitializeIDTelescopes();
327  Bool_t ReadGridsFromAsciiFile(const Char_t*) const;
328 
329  virtual Double_t GetTotalSolidAngle(void) const
330  {
336 
337  Double_t SA = 0;
338  TIter it(GetDetectors());
339  KVDetector* d;
340  while ((d = (KVDetector*)it())) {
341  if (!d->GetNode()->GetNDetsInFront()) {
342  SA += d->GetSolidAngle();
343  }
344  }
345  return SA;
346  }
347 
352 
353 
354  virtual void SetSimMode(Bool_t on = kTRUE)
355  {
359  fSimMode = on;
360  GetDetectors()->R__FOR_EACH(KVDetector, SetSimMode)(on);
361  }
363  {
367  return fSimMode;
368  }
369 
370  static TGeoHMatrix* GetVolumePositioningMatrix(Double_t distance, Double_t theta, Double_t phi,
371  TGeoTranslation* postTrans = nullptr);
372  void SetGridsInTelescopes(UInt_t run);
373  void FillListOfIDTelescopes(KVIDGraph* gr) const;
374 
375  void Draw(Option_t* option = "") override;
377  {
379  return &fTrajectories;
380  }
381 
382  void MakeHistogramsForAllIDTelescopes(KVSeqCollection* list, Int_t dimension = 100);
385 
387  virtual void FillDetectorList(KVReconstructedNucleus* rnuc, KVHashList* DetList, const KVString& DetNames);
388 
391  {
392  return fAcceptIDCodes;
393  }
395  {
396  return fAcceptECodes;
397  }
398  void AcceptIDCodes(const KVNumberList& codelist)
399  {
421 
422  fAcceptIDCodes = codelist;
423  }
424  virtual void AcceptAllIDCodes()
425  {
430 
431  AcceptIDCodes("");
432  }
433  void AcceptECodes(const KVNumberList& codelist)
434  {
448 
456 
457  fAcceptECodes = codelist;
458  }
459  virtual void AcceptAllECodes()
460  {
465 
466  AcceptECodes("");
467  }
468 
469  virtual KVMultiDetArray* GetArray(const Char_t*) const
470  {
471  return const_cast<KVMultiDetArray*>(this);
472  }
473 
474  void RecursiveTrajectoryClustering(KVGeoDetectorNode* N, KVUniqueNameList& tried_trajectories, KVUniqueNameList& multitraj_nodes, KVUniqueNameList& detectors_of_group);
475  virtual const Char_t* GetPartSeedCond() const
476  {
478  return fPartSeedCond;
479  }
480  virtual void SetPartSeedCond(const Char_t* cond)
481  {
483  fPartSeedCond = cond;
484  }
487  {
488  std::unique_ptr<KVSeqCollection> glist(GetStructureTypeList("GROUP"));
489  return glist->GetEntries();
490  }
491 
494 #ifdef WITH_MFM
495  Bool_t HandleRawDataBuffer(MFMBufferReader&);
496 #endif
498  {
499  return fHandledRawData;
500  }
502 
504  {
505  return fDataSet;
506  }
507 
508  virtual void MakeCalibrationTables(KVExpDB*);
509  virtual void SetCalibratorParameters(KVDBRun*, const TString& = "");
510  void CheckStatusOfDetectors(KVDBRun*, const TString& = "");
511  virtual void SetDetectorParametersForRun(KVDBRun*, const TString& = "");
512 
514  {
516  return 5;
517  }
519  {
520  return "";
521  }
523  {
524  return "";
525  }
526  virtual UShort_t GetBadIDCode() const
527  {
531  return 14;
532  }
533  virtual UShort_t GetCoherencyIDCode() const
534  {
538  return 6;
539  }
541  {
545  return 8;
546  }
548  {
552  }
554  {
557  return 1;
558  }
560  {
563  return 0;
564  }
566  {
569  return 2;
570  }
572  {
576  }
577 
578  ClassDefOverride(KVMultiDetArray, 7) //Base class for multidetector arrays
579 };
580 
582 R__EXTERN KVMultiDetArray* gMultiDetArray;
583 
584 #endif
int Int_t
unsigned int UInt_t
#define R__EXTERN
ROOT::R::TRInterface & r
#define d(i)
bool Bool_t
unsigned short UShort_t
unsigned char UChar_t
char Char_t
double Double_t
const char Option_t
#define BIT(n)
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
char name[80]
R__EXTERN TGeoManager * gGeoManager
char * Form(const char *fmt,...)
Description of an experimental run in database ,,.
Definition: KVDBRun.h:40
Table in a database.
Definition: KVDBTable.h:34
List of hit groups in a multidetector array.
Base class to describe database of an experiment ,,.
Definition: KVExpDB.h:20
Describe an experimental set-up coupling two or more different detector arrays.
Definition: KVExpSetUp.h:25
Reads GANIL acquisition files (EBYEDAT)
Path taken by particles through multidetector geometry.
Information on relative positions of detectors & particle trajectories.
Import detector array described by ROOT geometry and set up corresponding KVMultiDetArray object.
Definition: KVGeoImport.h:69
Base class for propagation of particles through array geometry.
Base class describing elements of array geometry.
const KVSeqCollection * GetDetectors() const
KVSeqCollection * GetStructureTypeList(const Char_t *type) const
KVGeoStrucElement * GetStructure(const Char_t *name) const
Base class for particle reconstruction in one group of a detector array.
Group of detectors which can be treated independently of all others in array.
Definition: KVGroup.h:19
Extended version of ROOT THashList.
Definition: KVHashList.h:29
Base class for particle identification in a 2D map.
Definition: KVIDGraph.h:32
Base class for all detectors or associations of detectors in array which can identify charged particl...
Definition: KVIDTelescope.h:84
Extended TList class which owns its objects by default.
Definition: KVList.h:28
Read MFM format acquisition data.
Base class for describing the geometry of a detector array.
const KVSeqCollection * GetFiredSignals() const
KVNumberList fAcceptECodes
list of acceptable calibration codes for reconstructed nuclei
bool try_a_singleIDtelescope(TString uri, KVDetector *d, TCollection *l)
KVUniqueNameList fExtraRawDataSignals
any signals read from raw data not associated with a detector
const KVNumberList & GetAcceptedIDCodes() const
KVSeqCollection * GetListOfIDTelescopes() const
KVUniqueNameList * GetIDTelescopeTypes()
void FillListOfIDTelescopes(KVIDGraph *gr) const
virtual Bool_t handle_raw_data_event_mfmframe_ebyedat(const MFMEbyedatFrame &)
Read a raw data event from a EBYEDAT MFM Frame.
KVNumberList fAcceptIDCodes
list of acceptable identification codes for reconstructed nuclei
KVNameValueList & GetReconParameters()
virtual void GetDetectorEvent(KVDetectorEvent *detev, const TSeqCollection *fired_params=0)
virtual Bool_t handle_raw_data_event_protobuf(KVProtobufDataReader &)
void MakeHistogramsForAllIDTelescopes(KVSeqCollection *list, Int_t dimension=100)
TList * GetStatusOfIDTelescopes()
int try_all_singleID_telescopes(KVDetector *d, TCollection *l)
static Bool_t fCloseGeometryNow
void Draw(Option_t *option="") override
virtual void DeduceIdentificationTelescopesFromGeometry()
static void SetMakeMultiDetectorPhysicsParametersOnly(Bool_t on=kTRUE)
virtual void AcceptAllECodes()
virtual TString GetECodeMeaning(Int_t) const
std::unique_ptr< KVFileReader > GetKVFileReader(KVExpDB *db, const Char_t *meth, const Char_t *keyw)
virtual Double_t GetTargetEnergyLossCorrection(KVReconstructedNucleus *)
virtual Bool_t handle_raw_data_event_mfmmergeframe(const MFMMergeFrameManager &)
void CreateGeoManager(Double_t dx=500, Double_t dy=500, Double_t dz=500)
virtual Bool_t handle_raw_data_event_mfmfile(MFMBufferReader &)
Bool_t HandledRawData() const
void ReadOoODetectors(KVExpDB *db)
Bool_t fHandledRawData
set to true if multidetector handles data in last call to HandleRawData
KVSeqCollection * GetIDTelescopesWithType(const Char_t *type)
TList * fCalibStatusDets
used by GetStatusIDTelescopes
KVDetectorEvent * fHitGroups
list of hit groups in simulation
void ReadAbsentDetectors(KVExpDB *db)
KVTarget * GetTarget()
void RecursiveTrajectoryClustering(KVGeoDetectorNode *N, KVUniqueNameList &tried_trajectories, KVUniqueNameList &multitraj_nodes, KVUniqueNameList &detectors_of_group)
KVSeqCollection * fIDTelescopes
deltaE-E telescopes in groups
void AcceptECodes(const KVNumberList &codelist)
UInt_t fCurrentRun
Number of the current run used to call SetParameters.
static Bool_t fMakeMultiDetectorSetParameters
void Clear(Option_t *opt="") override
void CalculateIdentificationGrids()
For each IDtelescope in array, calculate an identification grid.
void prepare_to_handle_new_raw_data()
reset acquisition parameters etc. before reading new raw data event
int try_all_doubleID_telescopes(KVDetector *de, KVDetector *e, TCollection *l)
Bool_t IsSimMode() const
void AcceptIDCodes(const KVNumberList &codelist)
void FillHistogramsForAllIDTelescopes(KVSeqCollection *list)
Fill TH2F histograms for all IDTelescopes of the array.
virtual void set_detector_thicknesses(const TString &)
Bool_t ReadGridsFromAsciiFile(const Char_t *) const
Int_t GetNumberOfGroups() const
virtual void InitialiseRawDataReading(KVRawDataReader *)
virtual void SetExpectedDetectorSignalNames()
virtual void SetParameters(UInt_t n, Bool_t physics_parameters_only=kFALSE)
void SetCurrentRunNumber(UInt_t r)
virtual void SetDetectorParametersForRun(KVDBRun *, const TString &="")
void SetFilterType(Int_t t)
virtual TString GetIDCodeMeaning(Int_t) const
virtual void copy_fired_parameters_to_recon_param_list()
TString GetDataSet() const
void AddTrajectory(KVGeoDNTrajectory *d)
virtual UShort_t GetMultiHitFirstStageIDCode() const
const KVNumberList & GetAcceptedECodes() const
KVGroup * GetGroup(const Char_t *name) const
static TGeoHMatrix * GetVolumePositioningMatrix(Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr)
KVGeoNavigator * GetNavigator() const
KVUpDater * fUpDater
used to set parameters for multidetector
const KVSeqCollection * GetExtraRawDataSignals() const
void SetGeometry(TGeoManager *)
virtual void MakeCalibrationTables(KVExpDB *)
virtual ~KVMultiDetArray()
destroy (delete) the MDA and all the associated structure, detectors etc.
virtual void SetRunIdentificationParameters(UShort_t n)
Bool_t HandleRawDataBuffer(MFMBufferReader &)
TString GetFileName(KVExpDB *, const Char_t *meth, const Char_t *keyw)
void CheckStatusOfDetectors(KVDBRun *, const TString &="")
virtual void PerformClosedROOTGeometryOperations()
UInt_t GetCurrentRunNumber() const
void SetDetectorTransparency(Char_t)
Modify the transparency of detector volumes in OpenGL view.
virtual KVGroupReconstructor * GetReconstructorForGroup(const KVGroup *) const
virtual void SetIdentifications()
static Bool_t fMakeMultiDetectorPhysicsParametersOnly
TList * fStatusIDTelescopes
used by GetStatusIDTelescopes
Bool_t fSimMode
=kTRUE in "simulation mode" (use for calculating response to simulated events)
virtual void Build(Int_t run=-1)
virtual void FillDetectorList(KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames)
virtual Bool_t handle_raw_data_event_ebyedat(KVGANILDataReader &)
General method for reading raw data in old GANIL ebyedat format.
Bool_t IsBeingDeleted()
TString fPartSeedCond
condition for seeding new reconstructed particles
const TSeqCollection * GetTrajectories() const
static Bool_t fBuildTarget
UShort_t GetZminCode() const
KVTarget * fTarget
target used in experiment
virtual void set_up_telescope(KVDetector *de, KVDetector *e, KVIDTelescope *idt, TCollection *l)
Set up detectors in de-e identification telescope and add to fIDTelescopes and to l.
TList * GetCalibrationStatusOfDetectors()
bool try_upper_and_lower_singleIDtelescope(TString uri, KVDetector *d, TCollection *l)
virtual Bool_t handle_raw_data_event_mfmframe(const MFMCommonFrame &)
virtual Bool_t IsBuilt() const
const KVSeqCollection * GetFiredDetectors() const
TGeoManager * GetGeometry() const
Return pointer to the (ROOT) geometry of the array.
static KVMultiDetArray * MakeMultiDetector(const Char_t *dataset_name, Int_t run=-1, TString classname="KVMultiDetArray")
KVRawDataReader * fRawDataReader
last raw data reader object used in call to HandleRawData
virtual void SetRawDataFromReconEvent(KVNameValueList &)
virtual Int_t GetIDCodeForParticlesStoppingInFirstStageOfTelescopes() const
void add_and_set_detector_signal(KVDetector *det, KVString detname, Double_t sig_data, KVString sig_type)
static Int_t fMakeMultiDetectorRunNumber
virtual Bool_t HandleRawDataEvent(KVRawDataReader *)
virtual void InitializeIDTelescopes()
virtual UShort_t GetBadIDCode() const
KVUniqueNameList fFiredDetectors
list of fired detectors after reading raw data event
virtual void RenumberGroups()
virtual void SetRunCalibrationParameters(UShort_t n)
virtual const Char_t * GetPartSeedCond() const
void PrintStatusOfIDTelescopes()
bool try_upper_and_lower_doubleIDtelescope(TString uri, KVDetector *de, KVDetector *e, TCollection *l)
virtual UShort_t GetCoherencyIDCode() const
virtual void SetSimMode(Bool_t on=kTRUE)
void PrintCalibStatusOfDetectors()
virtual UChar_t GetCalculatedCalibrationCode() const
virtual Double_t GetTotalSolidAngle(void) const
virtual void SetTarget(KVTarget *target)
virtual void AcceptAllIDCodes()
void ReadCalibrationFiles(KVExpDB *db)
virtual void SetCalibratorParameters(KVDBRun *, const TString &="")
Int_t fFilterType
type of filtering (used by DetectEvent)
virtual void SetPartSeedCond(const Char_t *cond)
std::unique_ptr< KVGeoNavigator > fNavigator
for propagating particles through array geometry
void SetGridsInTelescopes(UInt_t run)
KVGroup * GetGroup(Int_t number) const
virtual UChar_t GetNormalCalibrationCode() const
KVIDTelescope * GetIDTelescope(const Char_t *name) const
Return pointer to DeltaE-E ID Telescope with "name".
void CalculateReconstructionTrajectories()
KVUniqueNameList fTrajectories
list of all possible trajectories through detectors of array
virtual void SetIDCodeForIDTelescope(KVIDTelescope *) const
virtual void SetReconParametersInEvent(KVReconstructedEvent *) const
Copy any parameters in fReconParameters in to the reconstructed event parameter list.
KVNameValueList fReconParameters
general purpose list of parameters for storing information on data reconstruction
const KVNameValueList & GetReconParameters() const
TString fDataSet
name of associated dataset, used with MakeMultiDetector()
void AssociateTrajectoriesAndNodes()
void ReadCalibFile(const Char_t *filename, KVExpDB *db, KVDBTable *calib_table)
virtual UChar_t GetNoCalibrationCode() const
virtual KVMultiDetArray * GetArray(const Char_t *) const
virtual void AcceptParticleForAnalysis(KVReconstructedNucleus *) const
Int_t GetIDTelescopes(KVGeoDetectorNode *, KVDetector *, TCollection *list)
void SetNavigator(KVGeoNavigator *geo)
EFilterType
filter types. values of fFilterType
KVMultiDetArray()
Default constructor.
KVUpDater * GetUpDater()
void DeduceGroupsFromTrajectories()
virtual void set_up_single_stage_telescope(KVDetector *det, KVIDTelescope *idt, TCollection *l)
Set up detector in single-stage identification telescope and add to fIDTelescopes and to l.
bool try_a_doubleIDtelescope(TString uri, KVDetector *de, KVDetector *e, TCollection *l)
virtual Bool_t handle_raw_data_event_mfmframe_mesytec_mdpp(const MFMMesytecMDPPFrame &)
Read a raw data event from a Mesytec MFM Frame.
KVUnownedList fFiredSignals
list of fired signals after reading raw data event
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Strings used to represent a set of ranges of values.
Definition: KVNumberList.h:85
Read Google Protobuf DAQ files.
Abstract base class for reading raw (DAQ) data.
Event containing KVReconstructedNucleus nuclei reconstructed from hits in detectors.
Nuclei reconstructed from data measured by a detector array .
KaliVeda extensions to ROOT collection classes.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Definition: KVString.h:73
Calculation/correction of energy losses of particles through an experimental target.
Definition: KVTarget.h:128
Optimised list in which named objects can only be placed once.
void Add(TObject *obj) override
Extended TList class which does not own its objects by default.
Definition: KVUnownedList.h:17
Abstract class implementing necessary methods for setting multidetector parameters for each run of th...
Definition: KVUpDater.h:25
TGeoVolume * MakeBox(const char *name, TGeoMedium *medium, Double_t dx, Double_t dy, Double_t dz)
void SetTopVolume(TGeoVolume *vol)
TGeoMedium * GetMedium(const char *medium) const
TGeoMaterial * GetMaterial(const char *matname) const
virtual void SetTitle(const char *title="")
const char * GetName() const override
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
const char * Data() const