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