EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
eASTRegionInformation.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file eASTRegionInformation.hh
1 // ********************************************************************
2 //
3 // eASTRegionInformation.hh
4 // Header file of Region Information class to hold parameters of
5 // detector region
6 //
7 // History
8 // May 8th, 2021 : first implementation - Makoto Asai (SLAC)
9 //
10 // ********************************************************************
11 
12 #ifndef eASTRegionInformation_h
13 #define eASTRegionInformation_h 1
14 
15 #include "G4VUserRegionInformation.hh"
16 #include "globals.hh"
17 
18 class eASTRegionInformation : public G4VUserRegionInformation
19 {
20  public:
22  { regionName = name; }
24  {;}
25 
26  public:
27  virtual void Print() const
28  { G4cout << "eASTRegionInformation : " << regionName << G4endl; }
29 
30  private:
31  G4String regionName;
32 
33  G4bool isExperimentalHall = false;
34  G4bool isBeamPipe = false;
35  G4bool isMagnet = false;
36  G4bool isSupportStructure = false;
37 
38  G4bool isDetectorComponentGDML = false;
39 
40  G4bool isVertexDetector = false;
41  G4bool isTracker = false;
42  G4bool isEMCalorimeter = false;
43  G4bool isHadronicCalorimeter = false;
44  G4bool isCherenkovDetector = false;
45 
46  public:
47  void SetExperimentalHall(G4bool val = true) { isExperimentalHall = val; }
48  void SetBeamPipe(G4bool val = true) { isBeamPipe = val; }
49  void SetMagnet(G4bool val = true) { isMagnet = val; }
50  void SetSupportStructure(G4bool val = true) { isSupportStructure = val; }
51 
52  void SetDetectorComponentGDML(G4bool val = true) { isDetectorComponentGDML = val; }
53  void SetVertexDetector(G4bool val = true) { isVertexDetector = val; }
54  void SetTracker(G4bool val = true) { isTracker = val; }
55  void SetEMCalorimeter(G4bool val = true) { isEMCalorimeter = val; }
56  void SetHadronicCalorimeter(G4bool val = true) { isHadronicCalorimeter = val; }
57  void SetCherenkovDetector(G4bool val = true) { isCherenkovDetector = val; }
58 
59  G4bool IsExperimentalHall() const { return isExperimentalHall; }
60  G4bool IsBeamPipe() const { return isBeamPipe; }
61  G4bool IsMagnet() const { return isMagnet; }
62  G4bool IsSupportStructure() const { return isSupportStructure; }
63 
65  G4bool IsVertexDetector() const { return isVertexDetector; }
66  G4bool IsTracker() const { return isTracker; }
67  G4bool IsEMCalorimeter() const { return isEMCalorimeter; }
68  G4bool IsHadronicCalorimeter() const { return isHadronicCalorimeter; }
69  G4bool IsCherenkovDetector() const { return isCherenkovDetector; }
70 };
71 
72 #endif
73