ATLAS Offline Software
|
#include <TransportTool.h>
Public Member Functions | |
G4TransportTool (const std::string &, const std::string &, const IInterface *) | |
Constructor. More... | |
virtual | ~G4TransportTool ()=default |
Destructor. More... | |
virtual StatusCode | initialize () override final |
AlgTool initialize method. More... | |
void initializeOnce | ATLAS_NOT_THREAD_SAFE () |
G4 initialization called only by the first tool instance. More... | |
virtual StatusCode | finalize () override final |
AlgTool finalize method. More... | |
void | finalizeOnce () |
G4 finalization called only by the first tool instance. More... | |
virtual StatusCode | simulate (const EventContext &ctx, ISF::ISFParticle &isp, ISF::ISFParticleContainer &secondaries, McEventCollection *mcEventCollection) override |
virtual StatusCode | simulateVector (const EventContext &ctx, const ISF::ISFParticleVector &particles, ISF::ISFParticleContainer &secondaries, McEventCollection *mcEventCollection, McEventCollection *shadowTruth=nullptr) override |
Simulation call for vectors of particles. More... | |
virtual StatusCode | setupEvent (const EventContext &) override |
Setup Event chain - in case of a begin-of event action is needed. More... | |
virtual StatusCode | releaseEvent (const EventContext &) override |
Release Event chain - in case of an end-of event action is needed. More... | |
virtual ISF::SimulationFlavor | simFlavor () const override |
virtual StatusCode | sysInitialize () override |
Gaudi sysInitialize() methods. More... | |
virtual StatusCode | setupEventST () override |
Setup Event chain - in case of a begin-of event action is needed (called by ISimulationSvc) More... | |
virtual StatusCode | releaseEventST () override |
Release Event chain - in case of an end-of event action is needed (called by ISimulationSvc) More... | |
const ChronoEntity * | chronoStart (const IChronoSvc::ChronoTag &tag) |
wrapper call to start chrono with given tag More... | |
const ChronoEntity * | chronoStop (const IChronoSvc::ChronoTag &tag) |
wrapper call to stop chrono with given tag More... | |
Protected Attributes | |
ServiceHandle< IChronoStatSvc > | m_chrono {this, "ChronoStatService", "ChronoStatSvc"} |
The timing service for general usage. More... | |
Private Member Functions | |
void | commandLog (int returnCode, const std::string &commandString) const |
This command prints a message about a G4Command depending on its returnCode. More... | |
HepMC::GenEvent * | genEvent (McEventCollection *mcEventCollection) const |
Configurable Properties | |
using | passbackAction_t = G4UA::iGeant4::TrackProcessorUserActionBase |
using | passbackActionMap_t = tbb::concurrent_unordered_map< std::thread::id, std::vector< passbackAction_t * >, std::hash< std::thread::id > > |
Gaudi::Property< bool > | m_doTiming {this, "PrintTimingInfo", true, ""} |
float | m_accumulatedEventTime {0.} |
float | m_accumulatedEventTimeSq {0.} |
unsigned int | m_nrOfEntries {0} |
G4Timer * | m_runTimer {nullptr} |
G4Timer * | m_eventTimer {nullptr} |
passbackActionMap_t m_secondaryActions | ATLAS_THREAD_SAFE |
Gaudi::Property< std::string > | m_mcEventCollectionName {this, "McEventCollection", "TruthEvent", ""} |
Gaudi::Property< std::string > | m_libList {this, "Dll", "", ""} |
Helper Tool to provide G4RunManager. More... | |
Gaudi::Property< std::string > | m_physList {this, "Physics", "", ""} |
Gaudi::Property< std::string > | m_fieldMap {this, "FieldMap", "", ""} |
Gaudi::Property< bool > | m_releaseGeoModel {this, "ReleaseGeoModel", true, ""} |
Gaudi::Property< bool > | m_recordFlux {this, "RecordFlux", false, ""} |
Gaudi::Property< bool > | m_quietMode {this, "QuietMode", false, ""} |
Gaudi::Property< std::vector< std::string > > | m_g4commands {this, "G4Commands", {}, "Commands to send to the G4UI"} |
Commands to send to the G4 UI. More... | |
Gaudi::Property< bool > | m_useMT {this,"MultiThreading", false, "Multi-threading specific settings"} |
Activate multi-threading configuration. More... | |
Gaudi::Property< bool > | m_activateParallelGeometries {this, "ActivateParallelWorlds", false, "Toggle on/off the G4 parallel geometry system"} |
ServiceHandle< IAthRNGSvc > | m_rndmGenSvc {this, "RandomNumberService", "AthRNGSvc", ""} |
Gaudi::Property< std::string > | m_randomStreamName {this, "RandomStreamName", "Geant4", ""} |
Random Stream Name. More... | |
ServiceHandle< IUserLimitsSvc > | m_userLimitsSvc {this, "UserLimitsSvc", "UserLimitsSvc", ""} |
ServiceHandle< G4UA::IUserActionSvc > | m_userActionSvc {this, "UserActionSvc", "", ""} |
user action service More... | |
ServiceHandle< IDetectorGeometrySvc > | m_detGeoSvc {this, "DetGeoSvc", "DetectorGeometrySvc", ""} |
Detector Geometry Service (builds G4 Geometry) More... | |
ServiceHandle< ISF::IInputConverter > | m_inputConverter {this, "InputConverter", "ISF_InputConverter", ""} |
Service to convert ISF_Particles into a G4Event. More... | |
ServiceHandle< IPhysicsListSvc > | m_physListSvc {this, "PhysicsListSvc", "PhysicsListSvc", ""} |
Physics List Service. More... | |
PublicToolHandle< ISensitiveDetectorMasterTool > | m_senDetTool {this, "SenDetMasterTool", "SensitiveDetectorMasterTool", ""} |
Sensitive Detector Master Tool. More... | |
PublicToolHandle< IFastSimulationMasterTool > | m_fastSimTool {this, "FastSimMasterTool", "FastSimulationMasterTool", ""} |
Fast Simulation Master Tool. More... | |
Geant4 AlgTool to create a ISFParticle at a volume entry/exit
Definition at line 66 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 121 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 122 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
iGeant4::G4TransportTool::G4TransportTool | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
|
virtualdefault |
Destructor.
void initializeOnce iGeant4::G4TransportTool::ATLAS_NOT_THREAD_SAFE | ( | ) |
G4 initialization called only by the first tool instance.
This is done (for now) because we get multiple tool instances in hive.
|
inlineinherited |
wrapper call to start chrono with given tag
Definition at line 98 of file BaseSimulatorTool.h.
|
inlineinherited |
wrapper call to stop chrono with given tag
Definition at line 104 of file BaseSimulatorTool.h.
|
private |
This command prints a message about a G4Command depending on its returnCode.
Definition at line 474 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
|
finaloverridevirtual |
AlgTool finalize method.
Definition at line 218 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
void iGeant4::G4TransportTool::finalizeOnce | ( | ) |
G4 finalization called only by the first tool instance.
This is done (for now) because we get multiple tool instances in hive.
Definition at line 252 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
|
private |
Definition at line 452 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
|
finaloverridevirtual |
AlgTool initialize method.
Reimplemented from ISF::BaseSimulatorTool.
Definition at line 68 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
|
overridevirtual |
Release Event chain - in case of an end-of event action is needed.
Reimplemented from ISF::BaseSimulatorTool.
Definition at line 406 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
|
inlineoverridevirtualinherited |
Release Event chain - in case of an end-of event action is needed (called by ISimulationSvc)
Reimplemented in ISF::FastCaloSimV2Tool.
Definition at line 94 of file BaseSimulatorTool.h.
|
overridevirtual |
Setup Event chain - in case of a begin-of event action is needed.
Reimplemented from ISF::BaseSimulatorTool.
Definition at line 370 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
|
inlineoverridevirtualinherited |
Setup Event chain - in case of a begin-of event action is needed (called by ISimulationSvc)
Reimplemented in ISF::FastCaloSimV2Tool.
Definition at line 67 of file BaseSimulatorTool.h.
|
inlineoverridevirtual |
Definition at line 97 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
overridevirtual |
Process ParticleState from particle stack
Reimplemented from ISF::BaseSimulatorTool.
Definition at line 261 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
|
overridevirtual |
Simulation call for vectors of particles.
Process ParticleState from particle stack
Reimplemented from ISF::BaseSimulatorTool.
Definition at line 279 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx.
|
inlineoverridevirtualinherited |
|
mutableprivate |
Definition at line 123 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 112 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 113 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 140 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
protectedinherited |
The timing service for general usage.
Definition at line 115 of file BaseSimulatorTool.h.
|
private |
Detector Geometry Service (builds G4 Geometry)
Definition at line 150 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 110 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 117 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Fast Simulation Master Tool.
Definition at line 158 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 132 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Commands to send to the G4 UI.
Definition at line 137 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Service to convert ISF_Particles into a G4Event.
Definition at line 152 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Helper Tool to provide G4RunManager.
Definition at line 130 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 125 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 114 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 131 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Physics List Service.
Definition at line 154 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 135 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Random Stream Name.
Definition at line 144 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 134 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 133 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 142 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 116 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Sensitive Detector Master Tool.
Definition at line 156 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Activate multi-threading configuration.
Definition at line 139 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
user action service
Definition at line 148 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.
|
private |
Definition at line 146 of file ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h.