ATLAS Offline Software
PunchThroughSimWrapper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4FASTSIMULATION_PUNCHTHROUGHSIMWRAPPER_H
6 #define G4FASTSIMULATION_PUNCHTHROUGHSIMWRAPPER_H
7 
8 // Base classes
11 
12 // Geant4 Punchthrough G4 Tool
15 
16 //Geant4
17 #include "G4ParticleTable.hh"
18 #include "G4FastStep.hh"
19 #include "G4FastTrack.hh"
20 
31 class PunchThroughSimWrapper : public extends<AthAlgTool, IPunchThroughSimWrapper>
32 {
33  public:
35  PunchThroughSimWrapper(const std::string&,const std::string&,const IInterface*);
36 
38  virtual ~PunchThroughSimWrapper() = default;
39 
41  virtual StatusCode initialize();
43  virtual StatusCode finalize();
44 
45  // public function exposed to interface
46  virtual void DoPunchThroughSim(G4ParticleTable &ptable, CLHEP::HepRandomEngine* rng, const double simE, std::vector<double> simEfrac, const G4FastTrack& fastTrack, G4FastStep& fastStep);
47 
48  private:
49  /*---------------------------------------------------------------------
50  * Private member functions
51  *---------------------------------------------------------------------*/
52  PublicToolHandle<IPunchThroughG4Tool> m_PunchThroughG4Tool{this, "PunchThroughG4Tool", "PunchThroughG4Tool", ""};
53  PublicToolHandle<IPunchThroughG4Classifier> m_PunchThroughG4Classifier{this, "PunchThroughG4Classifier", "PunchThroughG4Classifier", ""};
54 };
55 
56 #endif
PunchThroughSimWrapper::m_PunchThroughG4Tool
PublicToolHandle< IPunchThroughG4Tool > m_PunchThroughG4Tool
Definition: PunchThroughSimWrapper.h:52
PunchThroughSimWrapper::DoPunchThroughSim
virtual void DoPunchThroughSim(G4ParticleTable &ptable, CLHEP::HepRandomEngine *rng, const double simE, std::vector< double > simEfrac, const G4FastTrack &fastTrack, G4FastStep &fastStep)
Definition: PunchThroughSimWrapper.cxx:30
IPunchThroughG4Classifier.h
D3PDTest::rng
uint32_t rng()
Definition: FillerAlg.cxx:40
PunchThroughSimWrapper::PunchThroughSimWrapper
PunchThroughSimWrapper(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition: PunchThroughSimWrapper.cxx:15
IPunchThroughSimWrapper.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
PunchThroughSimWrapper::m_PunchThroughG4Classifier
PublicToolHandle< IPunchThroughG4Classifier > m_PunchThroughG4Classifier
Definition: PunchThroughSimWrapper.h:53
IPunchThroughG4Tool.h
PunchThroughSimWrapper::initialize
virtual StatusCode initialize()
AlgTool initialize method.
Definition: PunchThroughSimWrapper.cxx:20
PunchThroughSimWrapper
Class to wrap PunchThrough simulation inside FastCaloSim; Runs both PunchThroughG4Classifier and Punc...
Definition: PunchThroughSimWrapper.h:32
PunchThroughSimWrapper::~PunchThroughSimWrapper
virtual ~PunchThroughSimWrapper()=default
Destructor.
PunchThroughSimWrapper::finalize
virtual StatusCode finalize()
AlgTool finalize method.
Definition: PunchThroughSimWrapper.cxx:25