Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IPunchThroughSimWrapper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4AtlasInterfaces_IPunchThroughSimWrapper_H
6 #define G4AtlasInterfaces_IPunchThroughSimWrapper_H
7 
8 // C++
9 #include <vector>
10 
11 // Gaudi
12 #include "GaudiKernel/IAlgTool.h"
13 
14 // Random generator includes
16 
17 // forward declarations
18 class G4FastTrack;
19 class G4FastStep;
20 class G4ParticleTable;
21 
31 class IPunchThroughSimWrapper : virtual public IAlgTool
32 {
33  public:
36 
38  virtual void DoPunchThroughSim(G4ParticleTable &ptable, ATHRNG::RNGWrapper* rngWrapper, const double simE, std::vector<double> simEfrac, const G4FastTrack& fastTrack, G4FastStep& fastStep) = 0;
39 };
40 
41 #endif // IPunchThroughSimWrapper_H
IPunchThroughSimWrapper::DeclareInterfaceID
DeclareInterfaceID(IPunchThroughSimWrapper, 1, 0)
AlgTool interface method, handles constructor/destructor.
IPunchThroughSimWrapper
Definition: IPunchThroughSimWrapper.h:32
IPunchThroughSimWrapper::DoPunchThroughSim
virtual void DoPunchThroughSim(G4ParticleTable &ptable, ATHRNG::RNGWrapper *rngWrapper, const double simE, std::vector< double > simEfrac, const G4FastTrack &fastTrack, G4FastStep &fastStep)=0
Runs both PunchThroughG4Classifier and PunchThroughG4Tool for PunchThrough simulation.
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition: RNGWrapper.h:56
RNGWrapper.h