ATLAS Offline Software
Geant4SimSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ISF_GEANT4SIMSVC_H
6 #define ISF_GEANT4SIMSVC_H 1
7 
8 // STL includes
9 #include <string>
10 
11 // Gaudi
12 #include "GaudiKernel/ServiceHandle.h"
13 #include "GaudiKernel/ToolHandle.h"
14 
15 // ISF includes
21 
22 namespace iGeant4 {
23 
28 
29  public:
30  //** Constructor with parameters */
31  Geant4SimSvc(const std::string& name, ISvcLocator* pSvcLocator);
32 
34  virtual ~Geant4SimSvc();
35 
37  virtual StatusCode initialize() override;
38  virtual StatusCode finalize() override;
39 
44 
46  virtual StatusCode simulate(ISF::ISFParticle& isp,
47  McEventCollection* mcEventCollection,
48  std::shared_ptr<HitCollectionMap>) override;
49 
51  virtual StatusCode simulateVector(
53  McEventCollection* mcEventCollection, std::shared_ptr<HitCollectionMap> hitCollections,
54  McEventCollection* shadowTruth = nullptr) override;
55 
57  virtual StatusCode setupEvent(HitCollectionMap&) override;
58 
60  virtual StatusCode releaseEvent(HitCollectionMap&) override;
61 
62  private:
65 
66  PublicToolHandle<ISF::ISimulatorTool> m_simulatorTool{this, "SimulatorTool",
67  "", ""};
68 
70  m_simulatorG4Tool{};
71 };
72 }
73 
74 
75 #endif //> !ISF_Geant4SimSvc_H
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:50
ISF::BaseSimulationG4Svc::simulate
virtual StatusCode simulate(ISFParticle &, McEventCollection *, std::shared_ptr< HitCollectionMap >)=0
Simulation call for individual particles.
HitCollectionMap
Small wrapper around hit collection map to facilitate accessing the hit collection.
Definition: HitCollectionMap.h:21
ISF::BaseSimulationG4Svc
Definition: BaseSimulationG4Svc.h:33
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
initialize
void initialize()
Definition: run_EoverP.cxx:894
iGeant4::Geant4SimSvc::Geant4SimSvc
Geant4SimSvc()
Default constructor.
ISF::ISFParticle
Definition: ISFParticle.h:42
ISF::BaseSimulationG4Svc::simulateVector
virtual StatusCode simulateVector(const ISFParticleVector &particles, McEventCollection *mcEventCollection, std::shared_ptr< HitCollectionMap > hitCollections, McEventCollection *)
Simulation call for vectors of particles.
Definition: BaseSimulationG4Svc.h:52
ISimulatorTool.h
ISF::BaseSimulationG4Svc::releaseEvent
virtual StatusCode releaseEvent() override
Release Event chain - in case of an end-of event action is needed.
Definition: BaseSimulationG4Svc.h:85
iGeant4::Geant4SimSvc
Definition: Geant4SimSvc.h:27
ISFParticleContainer.h
ISF::BaseSimulationG4Svc::setupEvent
virtual StatusCode setupEvent() override
Setup Event chain - in case of a begin-of event action is needed.
Definition: BaseSimulationG4Svc.h:82
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ISF::ISFParticleVector
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Definition: ISFParticleContainer.h:26
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
Definition: McEventCollection.h:32
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
BaseSimulatorG4Tool.h
LArG4FSStartPointFilter.particles
list particles
Definition: LArG4FSStartPointFilter.py:84
ISF::BaseSimulatorG4Tool
Definition: BaseSimulatorG4Tool.h:28
checker_macros.h
Define macros for attributes used to control the static checker.
BaseSimulationG4Svc.h
iGeant4
Definition: Geant4TruthIncident.h:35