Geant4_10
|
A process which handles screened Coulomb collisions between nuclei. More...
#include <G4ScreenedNuclearRecoil.hh>
Public Member Functions | |
G4ScreenedNuclearRecoil (const G4String &processName="ScreenedElastic", const G4String &ScreeningKey="zbl", G4bool GenerateRecoils=1, G4double RecoilCutoff=100.0 *CLHEP::eV, G4double PhysicsCutoff=10.0 *CLHEP::eV) | |
Construct the process and set some physics parameters for it. More... | |
virtual | ~G4ScreenedNuclearRecoil () |
destructor More... | |
virtual G4double | GetMeanFreePath (const G4Track &, G4double, G4ForceCondition *) |
used internally by Geant4 machinery More... | |
virtual G4VParticleChange * | PostStepDoIt (const G4Track &aTrack, const G4Step &aStep) |
used internally by Geant4 machinery More... | |
virtual G4bool | IsApplicable (const G4ParticleDefinition &aParticleType) |
test if a prticle of type aParticleType can use this process More... | |
virtual void | BuildPhysicsTable (const G4ParticleDefinition &aParticleType) |
Build physics tables in advance. Not Implemented. More... | |
virtual void | DumpPhysicsTable (const G4ParticleDefinition &aParticleType) |
Export physics tables for persistency. Not Implemented. More... | |
virtual G4bool | CheckNuclearCollision (G4double A, G4double A1, G4double apsis) |
deterine if the moving particle is within the strong force range of the selected nucleus More... | |
virtual G4ScreenedCoulombCrossSection * | GetNewCrossSectionHandler (void) |
G4double | GetNIEL () const |
Get non-ionizing energy loss for last step. More... | |
void | ResetTables () |
clear precomputed screening tables More... | |
void | SetMaxEnergyForScattering (G4double energy) |
set the upper energy beyond which this process has no cross section More... | |
std::string | GetScreeningKey () const |
find out what screening funciton we are using More... | |
void | AllowEnergyDeposition (G4bool flag) |
enable or disable all energy deposition by this process More... | |
G4bool | GetAllowEnergyDeposition () const |
get flag indicating whether deposition is enabled More... | |
void | EnableRecoils (G4bool flag) |
enable or disable the generation of recoils. If recoils are disabled, the energy they would have received is just deposited. More... | |
G4bool | GetEnableRecoils () const |
find out if generation of recoils is enabled. More... | |
void | SetMFPScaling (G4double scale) |
set the mean free path scaling as specified More... | |
G4double | GetMFPScaling () const |
get the MFPScaling parameter More... | |
void | AvoidNuclearReactions (G4bool flag) |
enable or disable whether this process will skip collisions which are close enough they need hadronic phsyics. Default is true (skip close collisions). Disabling this results in excess nuclear stopping power. More... | |
G4bool | GetAvoidNuclearReactions () const |
get the flag indicating whether hadronic collisions are ignored. More... | |
void | SetRecoilCutoff (G4double energy) |
set the minimum energy (per nucleon) at which recoils can be generated, and the energy (per nucleon) below which all ions are stopped. More... | |
G4double | GetRecoilCutoff () const |
get the recoil cutoff More... | |
void | SetPhysicsCutoff (G4double energy) |
set the energy to which screening tables are computed. Typically, this is 10 eV or so, and not often changed. More... | |
G4double | GetPhysicsCutoff () const |
get the physics cutoff energy. More... | |
void | SetNIELPartitionFunction (const G4VNIELPartition *part) |
set the pointer to a class for paritioning energy into NIEL More... | |
void | SetCrossSectionHardening (G4double fraction, G4double HardeningFactor) |
set the cross section boost to provide faster computation of backscattering More... | |
G4double | GetHardeningFraction () const |
get the fraction of particles which will have boosted scattering More... | |
G4double | GetHardeningFactor () const |
get the boost factor in use. More... | |
G4double | GetCurrentInteractionLength () const |
the the interaciton length used in the last scattering. More... | |
void | SetExternalCrossSectionHandler (G4ScreenedCoulombCrossSection *cs) |
set a function to compute screening tables, if the user needs non-standard behavior. More... | |
G4int | GetVerboseLevel () const |
get the verbosity. More... | |
std::map< G4int, G4ScreenedCoulombCrossSection * > & | GetCrossSectionHandlers () |
void | ClearStages (void) |
void | AddStage (G4ScreenedCollisionStage *stage) |
G4CoulombKinematicsInfo & | GetKinematics () |
void | SetValidCollision (G4bool flag) |
G4bool | GetValidCollision () const |
class G4ParticleChange & | GetParticleChange () |
get the pointer to our ParticleChange object. for internal use, primarily. More... | |
void | DepositEnergy (G4int z1, G4double a1, const G4Material *material, G4double energy) |
take the given energy, and use the material information to partition it into NIEL and ionizing energy. More... | |
![]() | |
G4ScreenedCoulombCrossSectionInfo () | |
~G4ScreenedCoulombCrossSectionInfo () | |
![]() | |
G4VDiscreteProcess (const G4String &, G4ProcessType aType=fNotDefined) | |
G4VDiscreteProcess (G4VDiscreteProcess &) | |
virtual | ~G4VDiscreteProcess () |
virtual G4double | PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) |
virtual G4double | AlongStepGetPhysicalInteractionLength (const G4Track &, G4double, G4double, G4double &, G4GPILSelection *) |
virtual G4double | AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *) |
virtual G4VParticleChange * | AtRestDoIt (const G4Track &, const G4Step &) |
virtual G4VParticleChange * | AlongStepDoIt (const G4Track &, const G4Step &) |
![]() | |
G4VProcess (const G4String &aName="NoName", G4ProcessType aType=fNotDefined) | |
G4VProcess (const G4VProcess &right) | |
virtual | ~G4VProcess () |
G4int | operator== (const G4VProcess &right) const |
G4int | operator!= (const G4VProcess &right) const |
G4double | GetCurrentInteractionLength () const |
void | SetPILfactor (G4double value) |
G4double | GetPILfactor () const |
G4double | AlongStepGPIL (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection) |
G4double | AtRestGPIL (const G4Track &track, G4ForceCondition *condition) |
G4double | PostStepGPIL (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) |
virtual void | PreparePhysicsTable (const G4ParticleDefinition &) |
virtual G4bool | StorePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool) |
virtual G4bool | RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool) |
const G4String & | GetPhysicsTableFileName (const G4ParticleDefinition *, const G4String &directory, const G4String &tableName, G4bool ascii=false) |
const G4String & | GetProcessName () const |
G4ProcessType | GetProcessType () const |
void | SetProcessType (G4ProcessType) |
G4int | GetProcessSubType () const |
void | SetProcessSubType (G4int) |
virtual void | StartTracking (G4Track *) |
virtual void | EndTracking () |
virtual void | SetProcessManager (const G4ProcessManager *) |
virtual const G4ProcessManager * | GetProcessManager () |
virtual void | ResetNumberOfInteractionLengthLeft () |
G4double | GetNumberOfInteractionLengthLeft () const |
G4double | GetTotalNumberOfInteractionLengthTraversed () const |
G4bool | isAtRestDoItIsEnabled () const |
G4bool | isAlongStepDoItIsEnabled () const |
G4bool | isPostStepDoItIsEnabled () const |
virtual void | DumpInfo () const |
void | SetVerboseLevel (G4int value) |
G4int | GetVerboseLevel () const |
virtual void | SetMasterProcess (G4VProcess *masterP) |
const G4VProcess * | GetMasterProcess () const |
virtual void | BuildWorkerPhysicsTable (const G4ParticleDefinition &part) |
virtual void | PrepareWorkerPhysicsTable (const G4ParticleDefinition &) |
Friends | |
class | G4ScreenedCollisionStage |
Additional Inherited Members | |
![]() | |
static const char * | CVSHeaderVers () |
static const char * | CVSFileVers () |
![]() | |
static const G4String & | GetProcessTypeName (G4ProcessType) |
![]() | |
void | SubtractNumberOfInteractionLengthLeft (G4double previousStepSize) |
void | ClearNumberOfInteractionLengthLeft () |
A process which handles screened Coulomb collisions between nuclei.
Definition at line 192 of file G4ScreenedNuclearRecoil.hh.
G4ScreenedNuclearRecoil::G4ScreenedNuclearRecoil | ( | const G4String & | processName = "ScreenedElastic" , |
const G4String & | ScreeningKey = "zbl" , |
||
G4bool | GenerateRecoils = 1 , |
||
G4double | RecoilCutoff = 100.0*CLHEP::eV , |
||
G4double | PhysicsCutoff = 10.0*CLHEP::eV |
||
) |
Construct the process and set some physics parameters for it.
processName | the name to assign the process |
ScreeningKey | the name of a screening function to use. The default functions are "zbl" (recommended for soft scattering), "lj" (recommended for backscattering) and "mol" (Moliere potential) |
GenerateRecoils | if frue, ions struck by primary are converted into new moving particles. If false, energy is deposited, but no new moving ions are created. |
RecoilCutoff | energy below which no new moving particles will be created, even if GenerateRecoils is true. Also, a moving primary particle will be stopped if its energy falls below this limit. |
PhysicsCutoff | the energy transfer to which screening tables are calucalted. There is no really compelling reason to change it from the 10.0 eV default. However, see the paper on running this in thin targets for further discussion, and its interaction with SetMFPScaling() |
Definition at line 289 of file G4ScreenedNuclearRecoil.cc.
|
virtual |
destructor
Definition at line 353 of file G4ScreenedNuclearRecoil.cc.
|
inline |
Definition at line 317 of file G4ScreenedNuclearRecoil.hh.
enable or disable all energy deposition by this process
flag | if true, enable deposition of energy (the default). If false, disable deposition. |
Definition at line 255 of file G4ScreenedNuclearRecoil.hh.
enable or disable whether this process will skip collisions which are close enough they need hadronic phsyics. Default is true (skip close collisions). Disabling this results in excess nuclear stopping power.
flag | true results in hard collisions being skipped. false allows hard collisions. |
Definition at line 276 of file G4ScreenedNuclearRecoil.hh.
|
virtual |
Build physics tables in advance. Not Implemented.
aParticleType | the type of particle to build tables for |
Reimplemented from G4VProcess.
Definition at line 707 of file G4ScreenedNuclearRecoil.cc.
|
virtual |
deterine if the moving particle is within the strong force range of the selected nucleus
A | the nucleon number of the beam |
A1 | the nucleon number of the target |
apsis | the distance of closest approach |
Definition at line 359 of file G4ScreenedNuclearRecoil.cc.
Definition at line 326 of file G4ScreenedNuclearRecoil.cc.
void G4ScreenedNuclearRecoil::DepositEnergy | ( | G4int | z1, |
G4double | a1, | ||
const G4Material * | material, | ||
G4double | energy | ||
) |
take the given energy, and use the material information to partition it into NIEL and ionizing energy.
Definition at line 342 of file G4ScreenedNuclearRecoil.cc.
|
virtual |
Export physics tables for persistency. Not Implemented.
aParticleType | the type of particle to build tables for |
Definition at line 720 of file G4ScreenedNuclearRecoil.cc.
enable or disable the generation of recoils. If recoils are disabled, the energy they would have received is just deposited.
flag | if true, create recoil ions in cases in which the energy is above the recoilCutoff. If false, just deposit the energy. |
Definition at line 262 of file G4ScreenedNuclearRecoil.hh.
|
inline |
get flag indicating whether deposition is enabled
Definition at line 257 of file G4ScreenedNuclearRecoil.hh.
|
inline |
get the flag indicating whether hadronic collisions are ignored.
Definition at line 278 of file G4ScreenedNuclearRecoil.hh.
|
inline |
Definition at line 314 of file G4ScreenedNuclearRecoil.hh.
|
inline |
the the interaciton length used in the last scattering.
Definition at line 305 of file G4ScreenedNuclearRecoil.hh.
|
inline |
find out if generation of recoils is enabled.
Definition at line 264 of file G4ScreenedNuclearRecoil.hh.
|
inline |
get the boost factor in use.
Definition at line 303 of file G4ScreenedNuclearRecoil.hh.
|
inline |
get the fraction of particles which will have boosted scattering
Definition at line 301 of file G4ScreenedNuclearRecoil.hh.
|
inline |
Definition at line 318 of file G4ScreenedNuclearRecoil.hh.
|
virtual |
used internally by Geant4 machinery
Implements G4VDiscreteProcess.
Definition at line 374 of file G4ScreenedNuclearRecoil.cc.
|
inline |
get the MFPScaling parameter
Definition at line 271 of file G4ScreenedNuclearRecoil.hh.
|
virtual |
Definition at line 366 of file G4ScreenedNuclearRecoil.cc.
|
inline |
Get non-ionizing energy loss for last step.
Definition at line 239 of file G4ScreenedNuclearRecoil.hh.
|
inline |
get the pointer to our ParticleChange object. for internal use, primarily.
Definition at line 323 of file G4ScreenedNuclearRecoil.hh.
|
inline |
get the physics cutoff energy.
Definition at line 289 of file G4ScreenedNuclearRecoil.hh.
|
inline |
get the recoil cutoff
Definition at line 284 of file G4ScreenedNuclearRecoil.hh.
|
inline |
find out what screening funciton we are using
Definition at line 252 of file G4ScreenedNuclearRecoil.hh.
|
inline |
Definition at line 320 of file G4ScreenedNuclearRecoil.hh.
|
inline |
get the verbosity.
Definition at line 312 of file G4ScreenedNuclearRecoil.hh.
|
virtual |
test if a prticle of type aParticleType can use this process
aParticleType | the particle to test |
Reimplemented from G4VProcess.
Definition at line 698 of file G4ScreenedNuclearRecoil.cc.
|
virtual |
used internally by Geant4 machinery
Reimplemented from G4VDiscreteProcess.
Definition at line 418 of file G4ScreenedNuclearRecoil.cc.
void G4ScreenedNuclearRecoil::ResetTables | ( | ) |
clear precomputed screening tables
Definition at line 316 of file G4ScreenedNuclearRecoil.cc.
|
inline |
set the cross section boost to provide faster computation of backscattering
fraction | the fraction of particles to have their cross section boosted. |
HardeningFactor | the factor by which to boost the scattering cross section. |
Definition at line 296 of file G4ScreenedNuclearRecoil.hh.
|
inline |
set a function to compute screening tables, if the user needs non-standard behavior.
cs | a class which constructs the screening tables. |
Definition at line 308 of file G4ScreenedNuclearRecoil.hh.
set the upper energy beyond which this process has no cross section
This funciton is used to coordinate this process with G4MSC. Typically, G4MSC should not be allowed to operate in a range which overlaps that of this process. The criterion which is most reasonable is that the transition should be somewhere in the modestly relativistic regime (500 MeV/u for example).
energy | energy per nucleon for the cutoff |
Definition at line 250 of file G4ScreenedNuclearRecoil.hh.
set the mean free path scaling as specified
scale | the factor by which the default MFP will be scaled. Set to less than 1 for very thin films, typically, to sample multiple scattering, or to greater than 1 for quick simulaitons with a very long flight path. |
Definition at line 269 of file G4ScreenedNuclearRecoil.hh.
void G4ScreenedNuclearRecoil::SetNIELPartitionFunction | ( | const G4VNIELPartition * | part | ) |
set the pointer to a class for paritioning energy into NIEL
part the pointer to the class.
Definition at line 336 of file G4ScreenedNuclearRecoil.cc.
set the energy to which screening tables are computed. Typically, this is 10 eV or so, and not often changed.
energy | the cutoff energy |
Definition at line 287 of file G4ScreenedNuclearRecoil.hh.
set the minimum energy (per nucleon) at which recoils can be generated, and the energy (per nucleon) below which all ions are stopped.
energy | energy per nucleon |
Definition at line 282 of file G4ScreenedNuclearRecoil.hh.
Definition at line 319 of file G4ScreenedNuclearRecoil.hh.
|
friend |
Definition at line 196 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 335 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 343 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 345 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 342 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 335 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 340 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 340 of file G4ScreenedNuclearRecoil.hh.
|
protected |
the energy per nucleon above which the MFP is constant
Definition at line 329 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 338 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 348 of file G4ScreenedNuclearRecoil.hh.
|
protected |
the energy per nucleon below which the MFP is zero
Definition at line 331 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 339 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 338 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 349 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 336 of file G4ScreenedNuclearRecoil.hh.
|
protected |
the energy per nucleon beyond which the cross section is zero, to cross over to G4MSC
Definition at line 333 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 336 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 337 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 334 of file G4ScreenedNuclearRecoil.hh.
|
protected |
Definition at line 347 of file G4ScreenedNuclearRecoil.hh.