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);
31 virtual G4VUserDetectorConstruction*
getGeant4Geo()
override;
37 std::shared_ptr<G4VUserDetectorConstruction>
m_geant4geo{
nullptr};
39 Gaudi::Property<std::vector<std::string>>
m_xmlFileNames{
this,
"detectors", {},
"Detector descriptions XML-files"};
41 this,
"sensitiveTypes", {{
"tracker",
"SimpleTrackerSD"}, {
"calorimeter",
"SimpleCalorimeterSD"}}};
43 "If True the DD4hep geometry is converted for Geant4 Simulations"};
Gaudi::Property< std::map< std::string, std::string > > m_sensitive_types
Definition GeoSvc.h:40
GeoSvc(const std::string &name, ISvcLocator *svc)
Definition GeoSvc.cpp:12
StatusCode buildGeant4Geo()
Definition GeoSvc.cpp:82
virtual std::string constantAsString(std::string const &name) override
Definition GeoSvc.cpp:96
virtual StatusCode finalize() final
Definition GeoSvc.cpp:55
virtual dd4hep::DetElement getDD4HepGeo() override
Definition GeoSvc.cpp:80
Gaudi::Property< std::vector< std::string > > m_xmlFileNames
Definition GeoSvc.h:39
StatusCode buildDD4HepGeo()
Definition GeoSvc.cpp:57
virtual dd4hep::Detector * getDetector() override
Definition GeoSvc.cpp:78
dd4hep::Detector * m_dd4hepgeo
Definition GeoSvc.h:35
virtual StatusCode initialize() final
Definition GeoSvc.cpp:14
Gaudi::Property< bool > m_buildGeant4Geo
Definition GeoSvc.h:42
virtual G4VUserDetectorConstruction * getGeant4Geo() override
Definition GeoSvc.cpp:94
std::shared_ptr< G4VUserDetectorConstruction > m_geant4geo
Definition GeoSvc.h:37
Definition GeoConstruction.h:10