5 #ifndef ISF_GEANT4TOOLS_G4LEGACYTRANSPORTTOOL_H
6 #define ISF_GEANT4TOOLS_G4LEGACYTRANSPORTTOOL_H
11 #include "GaudiKernel/ToolHandle.h"
12 #include "GaudiKernel/ServiceHandle.h"
35 #include <unordered_map>
94 void commandLog(
int returnCode,
const std::string& commandString)
const;
102 Gaudi::Property<bool> m_doTiming{
this,
"PrintTimingInfo",
true,
""};
104 float m_accumulatedEventTime{0.};
105 float m_accumulatedEventTimeSq{0.};
106 unsigned int m_nrOfEntries{0};
108 G4Timer* m_runTimer{
nullptr};
109 G4Timer* m_eventTimer{
nullptr};
120 Gaudi::Property<std::string> m_mcEventCollectionName{
this,
"McEventCollection",
"TruthEvent",
""};
122 PublicToolHandle<ISF::IG4RunManagerHelper> m_g4RunManagerHelper{
this,
"G4RunManagerHelper",
"iGeant4::G4RunManagerHelper/G4RunManagerHelper",
""};
125 Gaudi::Property<std::string> m_libList{
this,
"Dll",
"",
""};
126 Gaudi::Property<std::string> m_physList{
this,
"Physics",
"",
""};
127 Gaudi::Property<std::string> m_fieldMap{
this,
"FieldMap",
"",
""};
128 Gaudi::Property<bool> m_releaseGeoModel{
this,
"ReleaseGeoModel",
true,
""};
129 Gaudi::Property<bool> m_recordFlux{
this,
"RecordFlux",
false,
""};
130 Gaudi::Property<bool> m_quietMode{
this,
"QuietMode",
false,
""};
132 Gaudi::Property<std::vector<std::string> > m_g4commands{
this,
"G4Commands", {},
"Commands to send to the G4UI"};
134 Gaudi::Property<bool> m_useMT{
this,
"MultiThreading",
false,
"Multi-threading specific settings"};
135 Gaudi::Property<bool> m_activateParallelGeometries{
this,
"ActivateParallelWorlds",
false,
"Toggle on/off the G4 parallel geometry system"};
139 Gaudi::Property<std::string> m_randomStreamName{
this,
"RandomStreamName",
"Geant4",
""};
151 PublicToolHandle<ISensitiveDetectorMasterTool> m_senDetTool{
this,
"SenDetMasterTool",
"SensitiveDetectorMasterTool",
""};
153 PublicToolHandle<IFastSimulationMasterTool> m_fastSimTool{
this,
"FastSimMasterTool",
"FastSimulationMasterTool",
""};
162 #endif // ISF_GEANT4TOOLS_G4LEGACYTRANSPORTTOOL_H