15 #ifndef DD4HEP_DDG4_GEANT4GEOMETRYINFO_H
16 #define DD4HEP_DDG4_GEANT4GEOMETRYINFO_H
37 class G4LogicalVolume;
40 class G4VisAttributes;
41 class G4VPhysicalVolume;
49 namespace Simulation {
53 class Geant4AssemblyVolume;
61 namespace Geant4GeometryMaps {
74 typedef std::map<LimitSet, G4UserLimits*>
LimitMap;
77 typedef std::map<Volume, G4LogicalVolume*>
VolumeMap;
78 typedef std::map<PlacedVolume, Geant4AssemblyVolume*>
AssemblyMap;
81 typedef std::pair<VolumeChain,const G4VPhysicalVolume*>
ImprintEntry;
84 typedef std::map<const TGeoShape*, G4VSolid*>
SolidMap;
85 typedef std::map<VisAttr, G4VisAttributes*>
VisMap;
127 G4VPhysicalVolume*
world()
const;
129 void setWorld(
const TGeoNode* node);
135 #endif // DD4HEP_DDG4_GEANT4GEOMETRYINFO_H
Geant4GeometryMaps::LimitMap g4Limits
std::map< Region, G4Region * > RegionMap
void setWorld(const TGeoNode *node)
Set the world volume.
std::vector< const TGeoNode * > VolumeChain
Handle class holding a placed volume (also called physical volume)
std::map< VisAttr, G4VisAttributes * > VisMap
Handle class describing a material.
Handle class describing an element in the periodic table.
std::map< Geant4PlacementPath, VolumeID > Geant4PathMap
Class of the Geant4 toolkit. See http://www-geant4.kek.jp/Reference.
Geant4GeometryMaps::AssemblyMap g4AssemblyVolumes
std::vector< const G4VPhysicalVolume * > Geant4PlacementPath
std::vector< ImprintEntry > Imprints
Geometry::GeoHandlerTypes::SensitiveVolumes SensitiveVolumes
std::map< Region, ConstVolumeSet > RegionVolumes
Geant4GeometryInfo()
Default constructor.
Geant4GeometryMaps::RegionVolumes regions
Handle class holding a placed volume (also called physical volume)
std::map< PlacedVolume, G4VPhysicalVolume * > PlacementMap
virtual ~Geant4GeometryInfo()
Default destructor.
std::map< const TGeoShape *, G4VSolid * > SolidMap
std::map< Material, G4Material * > MaterialMap
std::map< Volume, G4LogicalVolume * > VolumeMap
std::map< Volume, Imprints > VolumeImprintMap
std::map< SensitiveDetector, ConstVolumeSet > SensitiveVolumes
Class of the ROOT toolkit. See http://root.cern.ch/root/htmldoc/ClassIndex.html.
Geant4GeometryMaps::VolumeMap g4Volumes
Geant4GeometryMaps::MaterialMap g4Materials
Geant4GeometryMaps::VolumeImprintMap g4VolumeImprints
std::map< LimitSet, ConstVolumeSet > LimitVolumes
DD4hep::Geometry::SensitiveDetector SensitiveDetector
Geant4GeometryMaps::VisMap g4Vis
Geant4GeometryMaps::LimitVolumes limits
std::map< PlacedVolume, Geant4AssemblyVolume * > AssemblyMap
Geant4GeometryMaps::SensitiveVolumes sensitives
Geant4GeometryMaps::RegionMap g4Regions
Handle class describing visualization attributes.
G4VPhysicalVolume * world() const
The world placement.
Geometry::GeoHandlerTypes::LimitVolumes LimitVolumes
Geant4GeometryMaps::ElementMap g4Elements
Geant4GeometryMaps::PlacementMap g4Placements
Geometry::GeoHandlerTypes::RegionVolumes RegionVolumes
Handle class describing a set of limits as they are used for simulation.
Handle class describing a region as used in simulation.
Concreate class holding the relation information between geant4 objects and dd4hep objects...
Geometry mapping from DD4hep to Geant 4.
Class of the Geant4 toolkit. See http://www-geant4.kek.jp/Reference.
Geant4GeometryMaps::SolidMap g4Solids
std::map< Atom, G4Element * > ElementMap
std::map< LimitSet, G4UserLimits * > LimitMap
Geant4GeometryMaps::Geant4PathMap g4Paths
std::pair< VolumeChain, const G4VPhysicalVolume * > ImprintEntry
std::string placementPath(const Geant4PlacementPath &path, bool reverse=true)
Assemble Geant4 volume path.
G4VPhysicalVolume * m_world