ATLAS Offline Software
Simulation
G4Atlas
G4AtlasTools
src
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
9
#include "
AthenaBaseComps/AthAlgTool.h
"
10
#include "
G4AtlasInterfaces/IPunchThroughSimWrapper.h
"
11
12
// Geant4 Punchthrough G4 Tool
13
#include "
G4AtlasInterfaces/IPunchThroughG4Tool.h
"
14
#include "
G4AtlasInterfaces/IPunchThroughG4Classifier.h
"
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
Generated on Fri Oct 31 2025 21:17:07 for ATLAS Offline Software by
1.8.18