OMSim
Geant4 for IceCube optical module studies
OMSimDetectorConstruction.hh
1 
7 #pragma once
8 #include "OMSimOpticalModule.hh"
9 
10 #include <G4Orb.hh>
11 #include <G4VUserDetectorConstruction.hh>
12 
18 class OMSimDetectorConstruction : public G4VUserDetectorConstruction
19 {
20 public:
23  G4VPhysicalVolume *Construct();
24  void ConstructSDandField() override;
25  void registerSensitiveDetector(G4LogicalVolume* logVol, G4VSensitiveDetector* aSD);
26 
27  G4VPhysicalVolume *m_worldPhysical;
28 
29 protected:
30  virtual void constructWorld() = 0;
31  virtual void constructDetector() = 0;
32 
33  G4VSolid *m_worldSolid;
34  G4LogicalVolume *m_worldLogical;
35  OMSimInputData *m_data;
36  struct SDInfo {
37  G4LogicalVolume* logicalVolume;
38  G4VSensitiveDetector* sensitiveDetector;
39  };
40  std::vector<SDInfo> m_sensitiveDetectors;
41 };
Class for detector construction in the effective area simulation.
Definition: OMSimDetectorConstruction.hh:19
G4VPhysicalVolume * Construct()
Constructs the selected detector from the command line argument and returns the physical world volume...
Definition: OMSimDetectorConstruction.cc:33
Manages the input data, including parsing and storing material properties.
Definition: OMSimInputData.hh:189
Definition: OMSimDetectorConstruction.hh:36