ATLAS Offline Software
Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEO2G4_VolumeBuilder_H
6 #define GEO2G4_VolumeBuilder_H
7 
8 #include "G4LogicalVolume.hh"
9 #include "G4VPhysicalVolume.hh"
10 
12 
13 #include <string>
14 #include <map>
15 #include <functional> //std::less
16 
17 typedef std::map< const GeoOpticalPhysVol*, G4VPhysicalVolume*,std::less< const GeoOpticalPhysVol*> > OpticalVolumesMap;
18 
20 {
21  public:
22  VolumeBuilder(const std::string& k): m_paramOn(false), m_key(k)
23  {}
24 
25  virtual ~VolumeBuilder()
26  {}
27 
28  const std::string & GetKey() const {return m_key;}
29 
30  // flag controlling Parameterization to Parameterization translation
31  void SetParam(bool flag){m_paramOn = flag;}
32  bool GetParam() const {return m_paramOn;}
33 
34  virtual G4LogicalVolume* Build(PVConstLink pv, OpticalVolumesMap* optical_volumes = 0) = 0;
35 
36  protected:
37  bool m_paramOn;
38 
39  private:
40  std::string m_key;
41 };
42 #endif
VolumeBuilder::GetKey
const std::string & GetKey() const
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:28
VolumeBuilder::Build
virtual G4LogicalVolume * Build(PVConstLink pv, OpticalVolumesMap *optical_volumes=0)=0
VolumeBuilder
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:20
GeoOpticalPhysVol.h
OpticalVolumesMap
std::map< const GeoOpticalPhysVol *, G4VPhysicalVolume *, std::less< const GeoOpticalPhysVol * > > OpticalVolumesMap
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:17
VolumeBuilder::GetParam
bool GetParam() const
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:32
VolumeBuilder::VolumeBuilder
VolumeBuilder(const std::string &k)
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:22
master.flag
bool flag
Definition: master.py:29
VolumeBuilder::m_key
std::string m_key
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:40
VolumeBuilder::m_paramOn
bool m_paramOn
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:37
python.changerun.pv
pv
Definition: changerun.py:81
VolumeBuilder::~VolumeBuilder
virtual ~VolumeBuilder()
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:25
VolumeBuilder::SetParam
void SetParam(bool flag)
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:31
fitman.k
k
Definition: fitman.py:528