Class to wrap PunchThrough simulation inside FastCaloSim; Runs both PunchThroughG4Classifier and PunchThroughG4Tool methods.
More...
#include <PunchThroughSimWrapper.h>
◆ PunchThroughSimWrapper()
PunchThroughSimWrapper::PunchThroughSimWrapper |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~PunchThroughSimWrapper()
virtual PunchThroughSimWrapper::~PunchThroughSimWrapper |
( |
| ) |
|
|
virtualdefault |
◆ DoPunchThroughSim()
void PunchThroughSimWrapper::DoPunchThroughSim |
( |
G4ParticleTable & |
ptable, |
|
|
ATHRNG::RNGWrapper * |
rngWrapper, |
|
|
const double |
simE, |
|
|
std::vector< double > |
simEfrac, |
|
|
const G4FastTrack & |
fastTrack, |
|
|
G4FastStep & |
fastStep |
|
) |
| |
|
virtual |
Definition at line 29 of file PunchThroughSimWrapper.cxx.
32 const G4Track* G4PrimaryTrack = fastTrack.GetPrimaryTrack();
38 std::vector<std::map<std::string, double>> secKinematicsMapVect;
41 auto secTrackCont = std::make_unique<G4TrackVector>();
44 double punchThroughClassifierRand = CLHEP::RandFlat::shoot(*rngWrapper);
50 if( punchThroughProbability > punchThroughClassifierRand){
51 secKinematicsMapVect =
m_PunchThroughG4Tool->computePunchThroughParticles(fastTrack, *rngWrapper, punchThroughProbability, punchThroughClassifierRand);
54 if(secKinematicsMapVect.size()!=0){
56 m_PunchThroughG4Tool->createAllSecondaryTracks(ptable, fastStep, *G4PrimaryTrack, secKinematicsMapVect, *secTrackCont, caloMSVars);
◆ finalize()
StatusCode PunchThroughSimWrapper::finalize |
( |
| ) |
|
|
virtual |
◆ initialize()
StatusCode PunchThroughSimWrapper::initialize |
( |
| ) |
|
|
virtual |
◆ m_PunchThroughG4Classifier
◆ m_PunchThroughG4Tool
The documentation for this class was generated from the following files: