#include <NeutronFastSim.h>
|
| | NeutronFastSim (const std::string &name, G4Region *region, const std::string &fsSDname, const double etaCut, const double timeCut) |
| | ~NeutronFastSim () |
| G4bool | IsApplicable (const G4ParticleDefinition &) override final |
| virtual G4bool | ModelTrigger (const G4FastTrack &) override final |
| void | DoIt (const G4FastTrack &, G4FastStep &) override final |
Definition at line 17 of file NeutronFastSim.h.
◆ NeutronFastSim()
| NeutronFastSim::NeutronFastSim |
( |
const std::string & | name, |
|
|
G4Region * | region, |
|
|
const std::string & | fsSDname, |
|
|
const double | etaCut, |
|
|
const double | timeCut ) |
◆ ~NeutronFastSim()
| NeutronFastSim::~NeutronFastSim |
( |
| ) |
|
|
inline |
◆ DoIt()
| void NeutronFastSim::DoIt |
( |
const G4FastTrack & | fastTrack, |
|
|
G4FastStep & | fastStep ) |
|
finaloverride |
Definition at line 64 of file NeutronFastSim.cxx.
65{
66 if (
m_fsSD)
m_fsSD->WriteTrack( fastTrack.GetPrimaryTrack() ,
false ,
false );
67 fastStep.KillPrimaryTrack();
68}
◆ IsApplicable()
| G4bool NeutronFastSim::IsApplicable |
( |
const G4ParticleDefinition & | | ) |
|
|
finaloverride |
Definition at line 28 of file NeutronFastSim.cxx.
29{
32
33 G4SDManager *sdm = G4SDManager::GetSDMpointer();
34 G4VSensitiveDetector * vsd = sdm->FindSensitiveDetector(
m_fsSDname );
35 if (!vsd) {
36 G4cout << "NeutronFastSim::IsApplicable WARNING Could not get TrackFastSimSD sensitive detector. If you are not writing track records this is expected." << G4endl;
37 } else {
38 m_fsSD =
dynamic_cast<TrackFastSimSD*
>(vsd);
40 G4cout << "NeutronFastSim::IsApplicable WARNING Could not cast the SD. If you are not writing track records this is expected." << G4endl;
41 }
42 }
43 }
44 return true;
45}
◆ ModelTrigger()
| G4bool NeutronFastSim::ModelTrigger |
( |
const G4FastTrack & | fastTrack | ) |
|
|
finaloverridevirtual |
Definition at line 47 of file NeutronFastSim.cxx.
48{
49
50 if (fastTrack.GetPrimaryTrack()->GetDefinition() == G4Neutron::NeutronDefinition() ){
51 return (
m_Energy<0?
true:fastTrack.GetPrimaryTrack()->GetKineticEnergy()<
m_Energy) || fastTrack.GetPrimaryTrack()->GetGlobalTime()>
m_timeCut;
52 }
53
54
55 AtlasG4EventUserInfo *atlasG4EvtUserInfo=static_cast<AtlasG4EventUserInfo*>(G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetUserInformation());
58 return true;
59 } else {
60 return false;
61 }
62}
HepMC::ConstGenParticlePtr GetCurrentPrimaryGenParticle() const
return a pointer to the HepMC::GenParticle used to create the current G4PrimaryParticle.
bool is_simulation_particle(const T &p)
Method to establish if a particle (or barcode) was created during the simulation (TODO update to be s...
const GenParticle * ConstGenParticlePtr
◆ m_Energy
| G4double NeutronFastSim::m_Energy |
|
protected |
◆ m_etaCut
| double NeutronFastSim::m_etaCut |
|
protected |
◆ m_fsSD
◆ m_fsSDname
| std::string NeutronFastSim::m_fsSDname |
|
protected |
◆ m_init
| bool NeutronFastSim::m_init |
|
protected |
◆ m_timeCut
| double NeutronFastSim::m_timeCut |
|
protected |
The documentation for this class was generated from the following files: