EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4GDMLDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4GDMLDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 // $Id: $
4 
13 #ifndef G4DETECTORS_PHG4GDMLDETECTOR_H
14 #define G4DETECTORS_PHG4GDMLDETECTOR_H
15 
16 #include <g4main/PHG4Detector.h>
17 
18 #include <Geant4/G4Types.hh>
19 
20 #include <string>
21 
22 class G4AssemblyVolume;
23 class G4LogicalVolume;
24 class G4UserSteppingAction;
25 class PHCompositeNode;
26 class PHG4Subsystem;
27 class PHParameters;
28 class PHG4GDMLConfig;
29 
34 {
35  public:
36  PHG4GDMLDetector(PHG4Subsystem* subsys, PHCompositeNode* Node, const std::string& dnam, PHParameters* parameters);
37 
38  ~PHG4GDMLDetector() override;
39 
41  void ConstructMe(G4LogicalVolume* world) override;
42 
43  G4UserSteppingAction* GetSteppingAction() override
44  {
45  return nullptr;
46  }
47 
48  void Print(const std::string& what = "ALL") const override;
49 
50  private:
51  void SetDisplayProperty(G4AssemblyVolume* av);
52  void SetDisplayProperty(G4LogicalVolume* lv);
53 
54  std::string m_GDMPath;
55  std::string m_TopVolName;
56 
57  G4double m_placeX;
58  G4double m_placeY;
59  G4double m_placeZ;
60 
61  G4double m_rotationX;
62  G4double m_rotationY;
63  G4double m_rotationZ;
64 
66 
69 };
70 
71 #endif /* PHG4GDMLDetector_H_ */