BmnRoot
Loading...
Searching...
No Matches
BmnScWallGeoPar.h
Go to the documentation of this file.
1/*************************************************************************************
2 *
3 * Class BmnScWallGeoPar
4 *
5 ************************************************************************************/
6
7#ifndef BMNGEOSCWALLPAR_H
8#define BMNGEOSCWALLPAR_H
9
10#include "FairParGenericSet.h"
11#include "TObjArray.h"
12#include "regex"
13
14class BmnScWallGeoPar : public FairParGenericSet
15{
16 public:
17 TObjArray* fGeoSensNodes;
18 TObjArray* fGeoPassNodes;
20 BmnScWallGeoPar(const char* name = "BmnScWallGeoPar",
21 const char* title = "ScWall Geometry Parameters",
22 const char* context = "ScWallDefaultContext");
23 ~BmnScWallGeoPar(void);
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 inline const int fTotalCells = 216; // inclusive
31 static inline const int fSmallCells = 40; // inclusive
32
33 static bool CheckIfSensitive(std::string name);
34
35 static inline const TString fTopVolumeName = "TOP";
36 static inline const TString fCommonVolumeName = "ScWAll_common";
37 static inline const TString fDetectorVolumeName = "scwall01";
38 static inline const TString scwallCell_name_large = "scwall01large";
39
40 static inline const TString scwallCell_name_small = "scwall01small";
41 static inline const TString scwallCell_name_small_10mm = "scwall01small_10mm";
42 static inline const TString scwallCell_name_small_20mm = "scwall01small_20mm";
43
44 static inline const TString scwall_name_box = "scwall01_box"; // Scint+box
45 static inline const TString scwall_name_Al_plate_left = "scwall01_Al_plate_left";
46 static inline const TString scwall_name_Al_plate_right = "scwall01_Al_plate_right";
47 static inline const TString scwall_name_Al_plate_top = "scwall01_Al_plate_top";
48 static inline const TString scwall_name_Air_plate = "scwall01_Air_plate";
49
50 static inline const TString scwallSensitiveCell_name_small_cutted = "scwall_sens_small_cutted";
51 static inline const TString scwallSensitiveCell_name_small_cutted_10mm = "scwall_sens_small_cutted_10mm";
52 static inline const TString scwallSensitiveCell_name_small_cutted_20mm = "scwall_sens_small_cutted_20mm";
53
54 static inline const TString scwallSensitiveCell_name_small_trap = "scwall_sens_small_trap";
55 static inline const TString scwallSensitiveCell_name_small_trap_10mm = "scwall_sens_small_trap_10mm";
56 static inline const TString scwallSensitiveCell_name_small_trap_20mm = "scwall_sens_small_trap_20mm";
57
58 static inline const TString scwallSensitiveCell_name_large_cutted = "scwall_sens_large_cutted";
59 static inline const TString scwallSensitiveCell_name_large_trap = "scwall_sens_large_trap";
60
61 static inline const TString fPathBeforeLocalSystem = "/ScWAll_common_0/scwall01_box_1/scwall01_1/";
62 // pattern to retrieve information about element indexes from its node path in geo file
63 static inline const std::regex fElementPattern{R"(/scwall01(?:small|large)_(\d+))"};
64
65 ClassDef(BmnScWallGeoPar, 2)
66};
67
68#endif
TObjArray * GetGeoPassiveNodes()
static bool CheckIfSensitive(std::string name)
static const TString scwallSensitiveCell_name_small_trap_20mm
TObjArray * GetGeoSensitiveNodes()
static const TString scwallSensitiveCell_name_small_trap
TObjArray * fGeoPassNodes
static const TString scwallSensitiveCell_name_small_cutted_10mm
static const TString scwallSensitiveCell_name_small_cutted_20mm
static const TString scwallCell_name_large
static const TString fCommonVolumeName
Bool_t getParams(FairParamList *)
TObjArray * fGeoSensNodes
static const TString fDetectorVolumeName
static const TString scwallCell_name_small
static const TString scwall_name_box
void putParams(FairParamList *)
static const TString fTopVolumeName
static const TString scwall_name_Air_plate
static const int fTotalCells
static const int fSmallCells
static const TString scwallSensitiveCell_name_small_trap_10mm
static const TString scwallCell_name_small_10mm
static const TString scwallSensitiveCell_name_large_cutted
static const TString scwall_name_Al_plate_right
static const TString fPathBeforeLocalSystem
static const std::regex fElementPattern
static const TString scwallSensitiveCell_name_small_cutted
static const TString scwall_name_Al_plate_top
static const TString scwallCell_name_small_20mm
static const TString scwallSensitiveCell_name_large_trap
static const TString scwall_name_Al_plate_left