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, |
|
|
CLHEP::HepRandomEngine * |
rng, |
|
|
const double |
simE, |
|
|
std::vector< double > |
simEfrac, |
|
|
const G4FastTrack & |
fastTrack, |
|
|
G4FastStep & |
fastStep |
|
) |
| |
|
virtual |
Definition at line 30 of file PunchThroughSimWrapper.cxx.
33 const G4Track* G4PrimaryTrack = fastTrack.GetPrimaryTrack();
39 std::vector<std::map<std::string, double>> secKinematicsMapVect;
42 auto secTrackCont = std::make_unique<G4TrackVector>();
45 double punchThroughClassifierRand = CLHEP::RandFlat::shoot(
rng);
51 if( punchThroughProbability > punchThroughClassifierRand){
52 secKinematicsMapVect =
m_PunchThroughG4Tool->computePunchThroughParticles(fastTrack,
rng, punchThroughProbability, punchThroughClassifierRand);
55 if(secKinematicsMapVect.size()!=0){
57 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: