Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 // Random generator includes
18 
19 //Geant4
20 #include "G4ParticleTable.hh"
21 #include "G4FastStep.hh"
22 #include "G4FastTrack.hh"
23 
34 class PunchThroughSimWrapper : public extends<AthAlgTool, IPunchThroughSimWrapper>
35 {
36  public:
38  PunchThroughSimWrapper(const std::string&,const std::string&,const IInterface*);
39 
41  virtual ~PunchThroughSimWrapper() = default;
42 
44  virtual StatusCode initialize();
46  virtual StatusCode finalize();
47 
48  // public function exposed to interface
49  virtual void DoPunchThroughSim(G4ParticleTable &ptable, ATHRNG::RNGWrapper* rngWrapper, const double simE, std::vector<double> simEfrac, const G4FastTrack& fastTrack, G4FastStep& fastStep);
50 
51  private:
52  /*---------------------------------------------------------------------
53  * Private member functions
54  *---------------------------------------------------------------------*/
55  PublicToolHandle<IPunchThroughG4Tool> m_PunchThroughG4Tool{this, "PunchThroughG4Tool", "PunchThroughG4Tool", ""};
56  PublicToolHandle<IPunchThroughG4Classifier> m_PunchThroughG4Classifier{this, "PunchThroughG4Classifier", "PunchThroughG4Classifier", ""};
57 };
58 
59 #endif
PunchThroughSimWrapper::m_PunchThroughG4Tool
PublicToolHandle< IPunchThroughG4Tool > m_PunchThroughG4Tool
Definition: PunchThroughSimWrapper.h:55
IPunchThroughG4Classifier.h
PunchThroughSimWrapper::PunchThroughSimWrapper
PunchThroughSimWrapper(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition: PunchThroughSimWrapper.cxx:14
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:56
IPunchThroughG4Tool.h
PunchThroughSimWrapper::initialize
virtual StatusCode initialize()
AlgTool initialize method.
Definition: PunchThroughSimWrapper.cxx:19
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition: RNGWrapper.h:56
PunchThroughSimWrapper
Class to wrap PunchThrough simulation inside FastCaloSim; Runs both PunchThroughG4Classifier and Punc...
Definition: PunchThroughSimWrapper.h:35
RNGWrapper.h
PunchThroughSimWrapper::DoPunchThroughSim
virtual void DoPunchThroughSim(G4ParticleTable &ptable, ATHRNG::RNGWrapper *rngWrapper, const double simE, std::vector< double > simEfrac, const G4FastTrack &fastTrack, G4FastStep &fastStep)
Definition: PunchThroughSimWrapper.cxx:29
PunchThroughSimWrapper::~PunchThroughSimWrapper
virtual ~PunchThroughSimWrapper()=default
Destructor.
PunchThroughSimWrapper::finalize
virtual StatusCode finalize()
AlgTool finalize method.
Definition: PunchThroughSimWrapper.cxx:24