#include <G4NeutronKiller.hh>
Inheritance diagram for G4NeutronKiller:
Public Member Functions | |
G4NeutronKiller (const G4String &processName="nKiller", G4ProcessType aType=fGeneral) | |
virtual | ~G4NeutronKiller () |
G4bool | IsApplicable (const G4ParticleDefinition &) |
void | SetTimeLimit (G4double) |
void | SetKinEnergyLimit (G4double) |
G4double | PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) |
G4VParticleChange * | PostStepDoIt (const G4Track &, const G4Step &) |
G4double | GetMeanFreePath (const G4Track &, G4double, G4ForceCondition *) |
Definition at line 69 of file G4NeutronKiller.hh.
G4NeutronKiller::G4NeutronKiller | ( | const G4String & | processName = "nKiller" , |
|
G4ProcessType | aType = fGeneral | |||
) |
Definition at line 49 of file G4NeutronKiller.cc.
References DBL_MAX, NEUTRON_KILLER, and G4VProcess::SetProcessSubType().
00050 : G4VDiscreteProcess(processName, aType) 00051 { 00052 // set Process Sub Type 00053 SetProcessSubType(static_cast<int>(NEUTRON_KILLER)); 00054 00055 kinEnergyThreshold = 0.0; 00056 timeThreshold = DBL_MAX; 00057 pMess = new G4NeutronKillerMessenger(this); 00058 }
G4NeutronKiller::~G4NeutronKiller | ( | ) | [virtual] |
G4double G4NeutronKiller::GetMeanFreePath | ( | const G4Track & | , | |
G4double | , | |||
G4ForceCondition * | ||||
) | [inline, virtual] |
Implements G4VDiscreteProcess.
Definition at line 121 of file G4NeutronKiller.hh.
References DBL_MAX.
00123 { 00124 return DBL_MAX; 00125 }
G4bool G4NeutronKiller::IsApplicable | ( | const G4ParticleDefinition & | ) | [virtual] |
Reimplemented from G4VProcess.
Definition at line 69 of file G4NeutronKiller.cc.
References G4ParticleDefinition::GetParticleName().
00070 { 00071 return (particle.GetParticleName() == "neutron"); 00072 }
G4VParticleChange * G4NeutronKiller::PostStepDoIt | ( | const G4Track & | , | |
const G4Step & | ||||
) | [inline, virtual] |
Reimplemented from G4VDiscreteProcess.
Definition at line 129 of file G4NeutronKiller.hh.
References fStopAndKill, G4VParticleChange::Initialize(), G4VProcess::pParticleChange, and G4VParticleChange::ProposeTrackStatus().
00131 { 00132 pParticleChange->Initialize(aTrack); 00133 pParticleChange->ProposeTrackStatus(fStopAndKill); 00134 return pParticleChange; 00135 }
G4double G4NeutronKiller::PostStepGetPhysicalInteractionLength | ( | const G4Track & | track, | |
G4double | previousStepSize, | |||
G4ForceCondition * | condition | |||
) | [inline, virtual] |
Reimplemented from G4VDiscreteProcess.
Definition at line 106 of file G4NeutronKiller.hh.
References DBL_MAX, G4Track::GetGlobalTime(), G4Track::GetKineticEnergy(), and NotForced.
00109 { 00110 // condition is set to "Not Forced" 00111 *condition = NotForced; 00112 00113 G4double limit = DBL_MAX; 00114 if(aTrack.GetGlobalTime() > timeThreshold || 00115 aTrack.GetKineticEnergy() < kinEnergyThreshold) limit = 0.0; 00116 return limit; 00117 }
void G4NeutronKiller::SetKinEnergyLimit | ( | G4double | ) |
Definition at line 86 of file G4NeutronKiller.cc.
References G4cout, G4endl, and G4VProcess::verboseLevel.
Referenced by G4NeutronTrackingCut::ConstructProcess(), and G4NeutronKillerMessenger::SetNewValue().
00087 { 00088 kinEnergyThreshold = val; 00089 if(verboseLevel > 0) 00090 G4cout << "### G4NeutronKiller: Tracking cut E(MeV) = " 00091 << kinEnergyThreshold/MeV << G4endl; 00092 }
void G4NeutronKiller::SetTimeLimit | ( | G4double | ) |
Definition at line 76 of file G4NeutronKiller.cc.
References G4cout, G4endl, ns, and G4VProcess::verboseLevel.
Referenced by G4NeutronTrackingCut::ConstructProcess(), and G4NeutronKillerMessenger::SetNewValue().
00077 { 00078 timeThreshold = val; 00079 if(verboseLevel > 0) 00080 G4cout << "### G4NeutronKiller: timeLimit(ns) = " 00081 << timeThreshold/ns << G4endl; 00082 }