ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4EicDircDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4EicDircDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4EICDIRCDETECTOR_H
4 #define G4EICDIRCDETECTOR_H
5 
6 #include <g4main/PHG4Detector.h>
7 #include <Geant4/G4LogicalVolume.hh>
8 #include <Geant4/G4Material.hh>
9 #include <Geant4/G4ThreeVector.hh>
10 #include <Geant4/G4Types.hh>
11 
12 #include <map>
13 #include <set>
14 #include <string> // for string
15 
17 class G4LogicalVolume;
18 class G4VPhysicalVolume;
19 class PHCompositeNode;
20 class PHG4Subsystem;
21 class PHParameters;
22 
24 {
25  public:
27  G4EicDircDetector(PHG4Subsystem* subsys, PHCompositeNode* Node, PHParameters* parameters, const std::string& dnam);
28 
30  virtual ~G4EicDircDetector() {}
31 
33  virtual void ConstructMe(G4LogicalVolume* world) override;
34 
35  void SetVisualization();
36  void SetQuantumEfficiency(G4int id);
37 
38  virtual void Print(const std::string& what = "ALL") const override;
39 
41 
42  int IsInDetector(G4VPhysicalVolume*) const;
44 
45  void SuperDetector(const std::string& name) { m_SuperDetector = name; }
46  const std::string SuperDetector() const { return m_SuperDetector; }
47  std::string name_base = "test";
48 
49  private:
50  //G4LogicalVolume* DetectorLog_Det;
51  //G4LogicalVolume* log_module_envelope;
52  //G4LogicalVolume* Log_End_Support;
53  //G4LogicalVolume* Log_Longitudinal_Support;
54  //G4LogicalVolume* log_module_envelope_inner;
55  //G4LogicalVolume* Log_End_Support_inner;
56  //G4LogicalVolume* Log_Longitudinal_Support_inner;
57 
58  //G4LogicalVolume* lDirc;
69  //G4VPhysicalVolume* pDirc[100];
70  //G4VPhysicalVolume* wGlue;
71  //G4VPhysicalVolume* wMirror;
72 
73  G4Material* defaultMaterial; // material for bars
74  G4Material* BarMaterial; // material for bars
76  G4Material* MirrorMaterial; // material of mirror
82 
105 
106  //G4double fRotAngle;
109 
110  protected:
111  void DefineMaterials();
113 
115 
116  // active volumes
117  //std::map<G4VPhysicalVolume *, int> m_PhysicalVolumes_active;
118  std::map<G4LogicalVolume*, int> m_LogicalVolumes_active;
119 
120  std::string m_SuperDetector;
121 };
122 
123 #endif // G4EICDIRCDETECTOR_H