1#ifndef K4SIMGEANT4_GEOSVC_H
2#define K4SIMGEANT4_GEOSVC_H
4#include <Gaudi/Property.h>
5#include <GaudiKernel/Service.h>
7#include "k4Interface/IGeoSvc.h"
12class G4VUserDetectorConstruction;
14class GeoSvc :
public extends<Service, IGeoSvc> {
17 GeoSvc(
const std::string& name, ISvcLocator* svc);
29 virtual const dd4hep::Detector*
getDetector()
const;
39 std::shared_ptr<G4VUserDetectorConstruction>
m_geant4geo{
nullptr};
41 Gaudi::Property<std::vector<std::string>>
m_xmlFileNames{
this,
"detectors", {},
"Detector descriptions XML-files"};
45 {{
"tracker",
"Geant4tracker"},
46 {
"SimpleTrackerSD",
"Geant4tracker"},
47 {
"calorimeter",
"Geant4calorimeter"},
48 {
"SimpleCalorimeterSD",
"Geant4calorimeter"}}};
50 "If True the DD4hep geometry is converted for Geant4 Simulations"};
Gaudi::Property< std::map< std::string, std::string > > m_sensitive_types
Definition GeoSvc.h:42
virtual G4VUserDetectorConstruction * getGeant4Geo()
Definition GeoSvc.cpp:95
virtual std::string constantAsString(std::string const &name)
Definition GeoSvc.cpp:97
GeoSvc(const std::string &name, ISvcLocator *svc)
Definition GeoSvc.cpp:12
StatusCode buildGeant4Geo()
Definition GeoSvc.cpp:83
virtual StatusCode finalize() final
Definition GeoSvc.cpp:55
virtual dd4hep::DetElement getDD4HepGeo()
Definition GeoSvc.cpp:81
virtual dd4hep::Detector * getDetector()
Definition GeoSvc.cpp:78
Gaudi::Property< std::vector< std::string > > m_xmlFileNames
Definition GeoSvc.h:41
StatusCode buildDD4HepGeo()
Definition GeoSvc.cpp:57
dd4hep::Detector * m_dd4hepgeo
Definition GeoSvc.h:37
virtual StatusCode initialize() final
Definition GeoSvc.cpp:14
Gaudi::Property< bool > m_buildGeant4Geo
Definition GeoSvc.h:49
std::shared_ptr< G4VUserDetectorConstruction > m_geant4geo
Definition GeoSvc.h:39
Definition GeoConstruction.h:10