BmnRoot
Loading...
Searching...
No Matches
BmnFHCalGeoPar.h
Go to the documentation of this file.
1/*************************************************************************************
2 *
3 * Class BmnFHCalGeoPar
4 *
5 ************************************************************************************/
6
7#ifndef BMNGEOFHCALPAR_H
8#define BMNGEOFHCALPAR_H
9
10#include "FairParGenericSet.h"
11#include "TObjArray.h"
12#include "regex"
13
14class BmnFHCalGeoPar : public FairParGenericSet
15{
16 public:
17 TObjArray* fGeoSensNodes;
18 TObjArray* fGeoPassNodes;
20 BmnFHCalGeoPar(const char* name = "BmnFHCalGeoPar",
21 const char* title = "FHCal Geometry Parameters",
22 const char* context = "FHCalDefaultContext");
24 void clear(void);
25 void putParams(FairParamList*);
26 Bool_t getParams(FairParamList*);
27 TObjArray* GetGeoSensitiveNodes() { return fGeoSensNodes; }
28 TObjArray* GetGeoPassiveNodes() { return fGeoPassNodes; }
29
30 static bool CheckIfSensitive(std::string name);
31
32 static inline const TString fTopVolumeName = "TOP";
33 static inline const TString fCommonVolumeName = "FHCAL_common";
34 static inline const TString fDetectorVolumeName = "fhcal01";
35 static inline const TString fhcalMod_name_large = "fhcal01m";
36 static inline const TString fhcalMod_name_small = "fhcal01m_NICA";
37 static inline const TString Fe_name = "Fe";
38 static inline const TString slot_Fe_name = "Fe_slot";
39 static inline const TString Pb_name = "fhcal01a";
40 static inline const TString slot_Pb_name = "Pb_slot";
41 static inline const TString SensitiveVolume_name = "fhcal01s";
42 static inline const TString slot_Sc_name = "Sc_slot";
43 static inline const TString Tyvec_name = "Tyvec";
44 static inline const TString slot_Tyvec_Y_name = "Tyvec_slot_Y";
45 static inline const TString slot_Tyvec_A_name = "Tyvec_slot_A";
46 static inline const TString Fe_name_NICA = "Fe_NICA";
47 static inline const TString Pb_name_NICA = "fhcal01a_NICA";
48 static inline const TString SensitiveVolume_name_NICA = "fhcal01s_NICA";
49 static inline const TString Tyvec_name_NICA = "Tyvec_NICA";
50
51 static inline const TString fPathBeforeLocalSystem = "/FHCAL_common_0/fhcal01_1/";
52 // pattern to retrieve information about element indexes from its node path in geo file
53 static inline const std::regex fElementPattern{R"(/fhcal01m(?:_NICA_|_)(\d+)/Tyvec(?:_NICA_|_)(\d+))"};
54 static inline const TString NICA_pattern = "_NICA_"; // 7 sections in module
55
56 ClassDef(BmnFHCalGeoPar, 1)
57};
58
59#endif
static const TString fhcalMod_name_small
static const std::regex fElementPattern
static const TString Fe_name_NICA
static const TString slot_Fe_name
static const TString slot_Sc_name
TObjArray * fGeoSensNodes
static bool CheckIfSensitive(std::string name)
void clear(void)
BmnFHCalGeoPar(const char *name="BmnFHCalGeoPar", const char *title="FHCal Geometry Parameters", const char *context="FHCalDefaultContext")
TObjArray * GetGeoSensitiveNodes()
static const TString fPathBeforeLocalSystem
static const TString fTopVolumeName
static const TString SensitiveVolume_name
TObjArray * fGeoPassNodes
static const TString Tyvec_name_NICA
static const TString fCommonVolumeName
static const TString slot_Pb_name
static const TString fDetectorVolumeName
Bool_t getParams(FairParamList *)
static const TString Tyvec_name
static const TString fhcalMod_name_large
static const TString Pb_name
static const TString SensitiveVolume_name_NICA
void putParams(FairParamList *)
static const TString Pb_name_NICA
static const TString slot_Tyvec_Y_name
static const TString NICA_pattern
TObjArray * GetGeoPassiveNodes()
static const TString slot_Tyvec_A_name
static const TString Fe_name
~BmnFHCalGeoPar(void)