ATLAS Offline Software
Loading...
Searching...
No Matches
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// forward declarations
15class G4FastTrack;
16class G4FastStep;
17class G4ParticleTable;
18namespace CLHEP{
19 class HepRandomEngine;
20}
21
30
31class IPunchThroughSimWrapper : virtual public IAlgTool
32{
33 public:
36
38 virtual void DoPunchThroughSim(G4ParticleTable &ptable, CLHEP::HepRandomEngine* rng, const double simE, std::vector<double> simEfrac, const G4FastTrack& fastTrack, G4FastStep& fastStep) = 0;
39};
40
41#endif // IPunchThroughSimWrapper_H
Interface for wrapper to run punch through simulation.
virtual void DoPunchThroughSim(G4ParticleTable &ptable, CLHEP::HepRandomEngine *rng, const double simE, std::vector< double > simEfrac, const G4FastTrack &fastTrack, G4FastStep &fastStep)=0
Runs both PunchThroughG4Classifier and PunchThroughG4Tool for PunchThrough simulation.
DeclareInterfaceID(IPunchThroughSimWrapper, 1, 0)
AlgTool interface method, handles constructor/destructor.