ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ScreenedNuclearRecoil Class Reference

A process which handles screened Coulomb collisions between nuclei. More...

#include <geant4/tree/geant4-10.6-release/examples/extended/electromagnetic/TestEm7/include/G4ScreenedNuclearRecoil.hh>

+ Inheritance diagram for G4ScreenedNuclearRecoil:
+ Collaboration diagram for G4ScreenedNuclearRecoil:

Public Member Functions

 G4ScreenedNuclearRecoil (const G4String &processName="ScreenedElastic", const G4String &ScreeningKey="zbl", G4bool GenerateRecoils=1, G4double RecoilCutoff=100.0 *eV, G4double PhysicsCutoff=10.0 *eV)
 Construct the process and set some physics parameters for it.
 
virtual ~G4ScreenedNuclearRecoil ()
 destructor
 
virtual G4double GetMeanFreePath (const G4Track &, G4double, G4ForceCondition *)
 used internally by Geant4 machinery
 
virtual G4VParticleChangePostStepDoIt (const G4Track &aTrack, const G4Step &aStep)
 used internally by Geant4 machinery
 
virtual G4bool IsApplicable (const G4ParticleDefinition &aParticleType)
 test if a prticle of type aParticleType can use this process
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &aParticleType)
 Build physics tables in advance. Not Implemented.
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &aParticleType)
 Export physics tables for persistency. Not Implemented.
 
virtual G4bool CheckNuclearCollision (G4double A, G4double A1, G4double apsis)
 deterine if the moving particle is within the strong force range of the selected nucleus
 
virtual
G4ScreenedCoulombCrossSection
GetNewCrossSectionHandler (void)
 
G4double GetNIEL () const
 Get non-ionizing energy loss for last step.
 
void ResetTables ()
 clear precomputed screening tables
 
void SetMaxEnergyForScattering (G4double energy)
 set the upper energy beyond which this process has no cross section
 
std::string GetScreeningKey () const
 find out what screening function we are using
 
void AllowEnergyDeposition (G4bool flag)
 enable or disable all energy deposition by this process
 
G4bool GetAllowEnergyDeposition () const
 get flag indicating whether deposition is enabled
 
void EnableRecoils (G4bool flag)
 enable or disable the generation of recoils. If recoils are disabled, the energy they would have received is just deposited. param flag if true, create recoil ions in cases in which the energy is above the recoilCutoff. If false, just deposit the energy.
 
G4bool GetEnableRecoils () const
 find out if generation of recoils is enabled.
 
void SetMFPScaling (G4double scale)
 set the mean free path scaling as specified
 
G4double GetMFPScaling () const
 get the MFPScaling parameter
 
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.
 
G4bool GetAvoidNuclearReactions () const
 get the flag indicating whether hadronic collisions are ignored.
 
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.
 
G4double GetRecoilCutoff () const
 get the recoil cutoff
 
void SetPhysicsCutoff (G4double energy)
 set the energy to which screening tables are computed. Typically, this is 10 eV or so, and not often changed.
 
G4double GetPhysicsCutoff () const
 get the physics cutoff energy.
 
void SetNIELPartitionFunction (const G4VNIELPartition *part)
 set the pointer to a class for paritioning energy into NIEL
 
void SetCrossSectionHardening (G4double fraction, G4double HardeningFactor)
 set the cross section boost to provide faster computation of backscattering
 
G4double GetHardeningFraction () const
 get the fraction of particles which will have boosted scattering
 
G4double GetHardeningFactor () const
 get the boost factor in use.
 
G4double GetCurrentInteractionLength () const
 the the interaciton length used in the last scattering.
 
void SetExternalCrossSectionHandler (G4ScreenedCoulombCrossSection *cs)
 set a function to compute screening tables, if the user needs non-standard behavior.
 
G4int GetVerboseLevel () const
 get the verbosity.
 
std::map< G4int,
G4ScreenedCoulombCrossSection * > & 
GetCrossSectionHandlers ()
 
void ClearStages (void)
 
void AddStage (G4ScreenedCollisionStage *stage)
 
G4CoulombKinematicsInfoGetKinematics ()
 
void SetValidCollision (G4bool flag)
 
G4bool GetValidCollision () const
 
class G4ParticleChangeGetParticleChange ()
 get the pointer to our ParticleChange object. for internal use, primarily.
 
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.
 
- Public Member Functions inherited from G4ScreenedCoulombCrossSectionInfo
 G4ScreenedCoulombCrossSectionInfo ()
 
 ~G4ScreenedCoulombCrossSectionInfo ()
 
- Public Member Functions inherited from G4VDiscreteProcess
 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 G4VParticleChangeAtRestDoIt (const G4Track &, const G4Step &)
 
virtual G4VParticleChangeAlongStepDoIt (const G4Track &, const G4Step &)
 
- Public Member Functions inherited from G4VProcess
 G4VProcess (const G4String &aName="NoName", G4ProcessType aType=fNotDefined)
 
 G4VProcess (const G4VProcess &right)
 
virtual ~G4VProcess ()
 
G4bool operator== (const G4VProcess &right) const
 
G4bool 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 G4StringGetPhysicsTableFileName (const G4ParticleDefinition *, const G4String &directory, const G4String &tableName, G4bool ascii=false)
 
const G4StringGetProcessName () 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 G4ProcessManagerGetProcessManager ()
 
virtual void ResetNumberOfInteractionLengthLeft ()
 
G4double GetNumberOfInteractionLengthLeft () const
 
G4double GetTotalNumberOfInteractionLengthTraversed () const
 
G4bool isAtRestDoItIsEnabled () const
 
G4bool isAlongStepDoItIsEnabled () const
 
G4bool isPostStepDoItIsEnabled () const
 
virtual void DumpInfo () const
 
virtual void ProcessDescription (std::ostream &outfile) const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
virtual void SetMasterProcess (G4VProcess *masterP)
 
const G4VProcessGetMasterProcess () const
 
virtual void BuildWorkerPhysicsTable (const G4ParticleDefinition &part)
 
virtual void PrepareWorkerPhysicsTable (const G4ParticleDefinition &)
 

Protected Attributes

G4double highEnergyLimit
 the energy per nucleon above which the MFP is constant
 
G4double lowEnergyLimit
 the energy per nucleon below which the MFP is zero
 
G4double processMaxEnergy
 the energy per nucleon beyond which the cross section is zero, to cross over to G4MSC
 
G4String screeningKey
 
G4bool generateRecoils
 
G4bool avoidReactions
 
G4double recoilCutoff
 
G4double physicsCutoff
 
G4bool registerDepositedEnergy
 
G4double IonizingLoss
 
G4double NIEL
 
G4double MFPScale
 
G4double hardeningFraction
 
G4double hardeningFactor
 
G4ScreenedCoulombCrossSectionexternalCrossSectionConstructor
 
std::vector
< G4ScreenedCollisionStage * > 
collisionStages
 
std::map< G4int,
G4ScreenedCoulombCrossSection * > 
crossSectionHandlers
 
G4bool validCollision
 
G4CoulombKinematicsInfo kinematics
 
const G4VNIELPartitionNIELPartitionFunction
 

Friends

class G4ScreenedCollisionStage
 

Additional Inherited Members

- Static Public Member Functions inherited from G4ScreenedCoulombCrossSectionInfo
static const char * CVSHeaderVers ()
 
static const char * CVSFileVers ()
 
- Static Public Member Functions inherited from G4VProcess
static const G4StringGetProcessTypeName (G4ProcessType)
 
- Protected Member Functions inherited from G4VProcess
void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
void ClearNumberOfInteractionLengthLeft ()
 

Detailed Description

A process which handles screened Coulomb collisions between nuclei.

Definition at line 207 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 207 of file G4ScreenedNuclearRecoil.hh

Constructor & Destructor Documentation

G4ScreenedNuclearRecoil::G4ScreenedNuclearRecoil ( const G4String processName = "ScreenedElastic",
const G4String ScreeningKey = "zbl",
G4bool  GenerateRecoils = 1,
G4double  RecoilCutoff = 100.0*eV,
G4double  PhysicsCutoff = 10.0*eV 
)

Construct the process and set some physics parameters for it.

Parameters
processNamethe name to assign the process
ScreeningKeythe name of a screening function to use. The default functions are "zbl" (recommended for soft scattering), "lj" (recommended for backscattering) and "mol" (Moliere potential)
GenerateRecoilsif frue, ions struck by primary are converted into new moving particles. If false, energy is deposited, but no new moving ions are created.
RecoilCutoffenergy below which no new moving particles will be created, even if a GenerateRecoils is true. Also, a moving primary particle will be stopped if its energy falls below this limit.
PhysicsCutoffthe 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 319 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 319 of file G4ScreenedNuclearRecoil.cc

References AddStage(), fCoulombScattering, highEnergyLimit, lowEnergyLimit, MeV, MFPScale, physicsCutoff, processMaxEnergy, registerDepositedEnergy, and G4VProcess::SetProcessSubType().

+ Here is the call graph for this function:

G4ScreenedNuclearRecoil::~G4ScreenedNuclearRecoil ( )
virtual

destructor

Definition at line 390 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 390 of file G4ScreenedNuclearRecoil.cc

References ResetTables().

+ Here is the call graph for this function:

Member Function Documentation

void G4ScreenedNuclearRecoil::AddStage ( G4ScreenedCollisionStage stage)
inline

Definition at line 398 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 398 of file G4ScreenedNuclearRecoil.hh

References collisionStages.

Referenced by G4ScreenedNuclearRecoil().

+ Here is the caller graph for this function:

void G4ScreenedNuclearRecoil::AllowEnergyDeposition ( G4bool  flag)
inline

enable or disable all energy deposition by this process

Parameters
flagif true, enable deposition of energy (the default). If false, disable deposition.

Definition at line 295 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 295 of file G4ScreenedNuclearRecoil.hh

References registerDepositedEnergy.

void G4ScreenedNuclearRecoil::AvoidNuclearReactions ( G4bool  flag)
inline

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.

Parameters
flagtrue results in hard collisions being skipped. false allows hard collisions.

Definition at line 330 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 330 of file G4ScreenedNuclearRecoil.hh

References avoidReactions.

void G4ScreenedNuclearRecoil::BuildPhysicsTable ( const G4ParticleDefinition aParticleType)
virtual

Build physics tables in advance. Not Implemented.

Parameters
aParticleTypethe type of particle to build tables for

Reimplemented from G4VProcess.

Definition at line 804 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 804 of file G4ScreenedNuclearRecoil.cc

References G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4VProcess::GetProcessSubType(), MeV, and processMaxEnergy.

+ Here is the call graph for this function:

G4bool G4ScreenedNuclearRecoil::CheckNuclearCollision ( G4double  A,
G4double  A1,
G4double  apsis 
)
virtual

deterine if the moving particle is within the strong force range of the selected nucleus

Parameters
Athe nucleon number of the beam
A1the nucleon number of the target
apsisthe distance of closest approach

Definition at line 397 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 397 of file G4ScreenedNuclearRecoil.cc

References avoidReactions, and fermi.

Referenced by G4ScreenedCoulombClassicalKinematics::DoScreeningComputation().

+ Here is the caller graph for this function:

void G4ScreenedNuclearRecoil::ClearStages ( void  )

Definition at line 358 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 358 of file G4ScreenedNuclearRecoil.cc

References collisionStages.

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 377 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 377 of file G4ScreenedNuclearRecoil.cc

References energy, IonizingLoss, NIEL, NIELPartitionFunction, part, and G4VNIELPartition::PartitionNIEL().

Referenced by G4ScreenedCoulombClassicalKinematics::DoCollisionStep(), and PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ScreenedNuclearRecoil::DumpPhysicsTable ( const G4ParticleDefinition aParticleType)
virtual

Export physics tables for persistency. Not Implemented.

Parameters
aParticleTypethe type of particle to build tables for

Definition at line 818 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 818 of file G4ScreenedNuclearRecoil.cc

void G4ScreenedNuclearRecoil::EnableRecoils ( G4bool  flag)
inline

enable or disable the generation of recoils. If recoils are disabled, the energy they would have received is just deposited. param 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 307 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 307 of file G4ScreenedNuclearRecoil.hh

References generateRecoils.

G4bool G4ScreenedNuclearRecoil::GetAllowEnergyDeposition ( ) const
inline

get flag indicating whether deposition is enabled

Definition at line 298 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 298 of file G4ScreenedNuclearRecoil.hh

References registerDepositedEnergy.

G4bool G4ScreenedNuclearRecoil::GetAvoidNuclearReactions ( ) const
inline

get the flag indicating whether hadronic collisions are ignored.

Definition at line 333 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 333 of file G4ScreenedNuclearRecoil.hh

References avoidReactions.

std::map<G4int, G4ScreenedCoulombCrossSection*>& G4ScreenedNuclearRecoil::GetCrossSectionHandlers ( )
inline

Definition at line 393 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 393 of file G4ScreenedNuclearRecoil.hh

References crossSectionHandlers.

Referenced by PostStepDoIt().

+ Here is the caller graph for this function:

G4double G4ScreenedNuclearRecoil::GetCurrentInteractionLength ( ) const
inline

the the interaciton length used in the last scattering.

Definition at line 379 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 379 of file G4ScreenedNuclearRecoil.hh

References G4VProcess::currentInteractionLength.

Referenced by PostStepDoIt().

+ Here is the caller graph for this function:

G4bool G4ScreenedNuclearRecoil::GetEnableRecoils ( ) const
inline

find out if generation of recoils is enabled.

Definition at line 310 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 310 of file G4ScreenedNuclearRecoil.hh

References generateRecoils.

Referenced by G4ScreenedCoulombClassicalKinematics::DoCollisionStep().

+ Here is the caller graph for this function:

G4double G4ScreenedNuclearRecoil::GetHardeningFactor ( ) const
inline

get the boost factor in use.

Definition at line 376 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 376 of file G4ScreenedNuclearRecoil.hh

References hardeningFactor.

Referenced by PostStepDoIt().

+ Here is the caller graph for this function:

G4double G4ScreenedNuclearRecoil::GetHardeningFraction ( ) const
inline

get the fraction of particles which will have boosted scattering

Definition at line 373 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 373 of file G4ScreenedNuclearRecoil.hh

References hardeningFraction.

Referenced by PostStepDoIt().

+ Here is the caller graph for this function:

G4CoulombKinematicsInfo& G4ScreenedNuclearRecoil::GetKinematics ( )
inline

Definition at line 401 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 401 of file G4ScreenedNuclearRecoil.hh

References kinematics.

Referenced by G4ScreenedCoulombClassicalKinematics::DoCollisionStep(), G4SingleScatter::DoCollisionStep(), and G4ScreenedCoulombClassicalKinematics::DoScreeningComputation().

+ Here is the caller graph for this function:

G4double G4ScreenedNuclearRecoil::GetMFPScaling ( ) const
inline

get the MFPScaling parameter

Definition at line 321 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 321 of file G4ScreenedNuclearRecoil.hh

References MFPScale.

G4ScreenedCoulombCrossSection * G4ScreenedNuclearRecoil::GetNewCrossSectionHandler ( void  )
virtual

Definition at line 407 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 407 of file G4ScreenedNuclearRecoil.cc

References G4ScreenedCoulombCrossSection::create(), externalCrossSectionConstructor, G4ScreenedCoulombCrossSection::SetVerbosity(), and G4VProcess::verboseLevel.

Referenced by GetMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ScreenedNuclearRecoil::GetNIEL ( ) const
inline

Get non-ionizing energy loss for last step.

Definition at line 269 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 269 of file G4ScreenedNuclearRecoil.hh

References NIEL.

class G4ParticleChange& G4ScreenedNuclearRecoil::GetParticleChange ( )
inline

get the pointer to our ParticleChange object. for internal use, primarily.

Definition at line 409 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 409 of file G4ScreenedNuclearRecoil.hh

Referenced by G4ScreenedCoulombClassicalKinematics::DoCollisionStep(), G4SingleScatter::DoCollisionStep(), and PostStepDoIt().

+ Here is the caller graph for this function:

G4double G4ScreenedNuclearRecoil::GetPhysicsCutoff ( ) const
inline

get the physics cutoff energy.

Definition at line 353 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 353 of file G4ScreenedNuclearRecoil.hh

References physicsCutoff.

G4double G4ScreenedNuclearRecoil::GetRecoilCutoff ( ) const
inline

get the recoil cutoff

Definition at line 343 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 343 of file G4ScreenedNuclearRecoil.hh

References recoilCutoff.

Referenced by G4ScreenedCoulombClassicalKinematics::DoCollisionStep(), and PostStepDoIt().

+ Here is the caller graph for this function:

std::string G4ScreenedNuclearRecoil::GetScreeningKey ( ) const
inline

find out what screening function we are using

Definition at line 289 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 289 of file G4ScreenedNuclearRecoil.hh

References screeningKey.

G4bool G4ScreenedNuclearRecoil::GetValidCollision ( ) const
inline

Definition at line 405 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 405 of file G4ScreenedNuclearRecoil.hh

References validCollision.

Referenced by G4ScreenedCoulombClassicalKinematics::DoCollisionStep(), and G4SingleScatter::DoCollisionStep().

+ Here is the caller graph for this function:

G4int G4ScreenedNuclearRecoil::GetVerboseLevel ( ) const
inline

get the verbosity.

Definition at line 391 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 391 of file G4ScreenedNuclearRecoil.hh

References G4VProcess::verboseLevel.

Referenced by PostStepDoIt().

+ Here is the caller graph for this function:

G4bool G4ScreenedNuclearRecoil::IsApplicable ( const G4ParticleDefinition aParticleType)
virtual

test if a prticle of type aParticleType can use this process

Parameters
aParticleTypethe particle to test

Reimplemented from G4VProcess.

Definition at line 795 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 795 of file G4ScreenedNuclearRecoil.cc

References G4ParticleDefinition::GetParticleType(), and G4Proton::Proton().

+ Here is the call graph for this function:

G4VParticleChange * G4ScreenedNuclearRecoil::PostStepDoIt ( const G4Track aTrack,
const G4Step aStep 
)
virtual

used internally by Geant4 machinery

Reimplemented from G4VDiscreteProcess.

Definition at line 464 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 464 of file G4ScreenedNuclearRecoil.cc

References G4CoulombKinematicsInfo::a1, G4CoulombKinematicsInfo::a2, source.hepunit::amu_c2, angstrom, collisionStages, G4CoulombKinematicsInfo::crossSection, DepositEnergy(), eplus, G4UniformRand, GetCrossSectionHandlers(), GetCurrentInteractionLength(), G4Track::GetDefinition(), G4Track::GetDynamicParticle(), GetHardeningFactor(), GetHardeningFraction(), G4DynamicParticle::GetKineticEnergy(), G4MaterialCutsCouple::GetMaterial(), G4Track::GetMaterialCutsCouple(), GetParticleChange(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), GetRecoilCutoff(), G4Material::GetTotNbOfAtomsPerVolume(), GetVerboseLevel(), G4CoulombKinematicsInfo::impactParameter, G4VParticleChange::Initialize(), IonizingLoss, kinematics, BTOF::length, mat, NIEL, P, pi, G4VDiscreteProcess::PostStepDoIt(), G4VProcess::pParticleChange, printf(), G4ParticleChange::ProposeEnergy(), G4VParticleChange::ProposeLocalEnergyDeposit(), G4VParticleChange::ProposeNonIonizingEnergyDeposit(), G4CoulombKinematicsInfo::recoilIon, registerDepositedEnergy, G4ScreenedCoulombCrossSection::SelectRandomUnweightedTarget(), G4CoulombKinematicsInfo::targetMaterial, validCollision, and z1.

+ Here is the call graph for this function:

void G4ScreenedNuclearRecoil::ResetTables ( )

clear precomputed screening tables

Definition at line 347 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 347 of file G4ScreenedNuclearRecoil.cc

References crossSectionHandlers.

Referenced by SetPhysicsCutoff(), and ~G4ScreenedNuclearRecoil().

+ Here is the caller graph for this function:

void G4ScreenedNuclearRecoil::SetCrossSectionHardening ( G4double  fraction,
G4double  HardeningFactor 
)
inline

set the cross section boost to provide faster computation of backscattering

Parameters
fractionthe fraction of particles to have their cross section boosted.
HardeningFactorthe factor by which to boost the scattering cross section.

Definition at line 367 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 367 of file G4ScreenedNuclearRecoil.hh

References hardeningFactor, and hardeningFraction.

void G4ScreenedNuclearRecoil::SetExternalCrossSectionHandler ( G4ScreenedCoulombCrossSection cs)
inline

set a function to compute screening tables, if the user needs non-standard behavior.

Parameters
csa class which constructs the screening tables.

Definition at line 386 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 386 of file G4ScreenedNuclearRecoil.hh

References externalCrossSectionConstructor.

void G4ScreenedNuclearRecoil::SetMaxEnergyForScattering ( G4double  energy)
inline

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). param energy energy per nucleon for the cutoff

Definition at line 286 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 286 of file G4ScreenedNuclearRecoil.hh

References energy, and processMaxEnergy.

Referenced by PhysListEmStandardNR::ConstructProcess().

+ Here is the caller graph for this function:

void G4ScreenedNuclearRecoil::SetMFPScaling ( G4double  scale)
inline

set the mean free path scaling as specified

Parameters
scalethe 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 simulations with a very long flight path

Definition at line 318 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 318 of file G4ScreenedNuclearRecoil.hh

References MFPScale, and scale.

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 370 of file G4ScreenedNuclearRecoil.cc.

View newest version in sPHENIX GitHub at line 370 of file G4ScreenedNuclearRecoil.cc

References NIELPartitionFunction, and part.

void G4ScreenedNuclearRecoil::SetPhysicsCutoff ( G4double  energy)
inline

set the energy to which screening tables are computed. Typically, this is 10 eV or so, and not often changed.

Parameters
energythe cutoff energy

Definition at line 349 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 349 of file G4ScreenedNuclearRecoil.hh

References energy, physicsCutoff, and ResetTables().

+ Here is the call graph for this function:

void G4ScreenedNuclearRecoil::SetRecoilCutoff ( G4double  energy)
inline

set the minimum energy (per nucleon) at which recoils can be generated, and the energy (per nucleon) below which all ions are stopped.

Parameters
energyenergy per nucleon

Definition at line 340 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 340 of file G4ScreenedNuclearRecoil.hh

References energy, and recoilCutoff.

void G4ScreenedNuclearRecoil::SetValidCollision ( G4bool  flag)
inline

Definition at line 403 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 403 of file G4ScreenedNuclearRecoil.hh

References validCollision.

Referenced by G4ScreenedCoulombClassicalKinematics::DoCollisionStep().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class G4ScreenedCollisionStage
friend

Definition at line 212 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 212 of file G4ScreenedNuclearRecoil.hh

Member Data Documentation

G4bool G4ScreenedNuclearRecoil::avoidReactions
protected

Definition at line 429 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 429 of file G4ScreenedNuclearRecoil.hh

Referenced by AvoidNuclearReactions(), CheckNuclearCollision(), and GetAvoidNuclearReactions().

std::vector<G4ScreenedCollisionStage *> G4ScreenedNuclearRecoil::collisionStages
protected

Definition at line 437 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 437 of file G4ScreenedNuclearRecoil.hh

Referenced by AddStage(), ClearStages(), and PostStepDoIt().

std::map<G4int, G4ScreenedCoulombCrossSection*> G4ScreenedNuclearRecoil::crossSectionHandlers
protected

Definition at line 439 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 439 of file G4ScreenedNuclearRecoil.hh

Referenced by GetCrossSectionHandlers(), GetMeanFreePath(), and ResetTables().

G4ScreenedCoulombCrossSection* G4ScreenedNuclearRecoil::externalCrossSectionConstructor
protected

Definition at line 436 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 436 of file G4ScreenedNuclearRecoil.hh

Referenced by GetNewCrossSectionHandler(), and SetExternalCrossSectionHandler().

G4bool G4ScreenedNuclearRecoil::generateRecoils
protected

Definition at line 429 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 429 of file G4ScreenedNuclearRecoil.hh

Referenced by EnableRecoils(), and GetEnableRecoils().

G4double G4ScreenedNuclearRecoil::hardeningFactor
protected

Definition at line 434 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 434 of file G4ScreenedNuclearRecoil.hh

Referenced by GetHardeningFactor(), and SetCrossSectionHardening().

G4double G4ScreenedNuclearRecoil::hardeningFraction
protected

Definition at line 434 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 434 of file G4ScreenedNuclearRecoil.hh

Referenced by GetHardeningFraction(), and SetCrossSectionHardening().

G4double G4ScreenedNuclearRecoil::highEnergyLimit
protected

the energy per nucleon above which the MFP is constant

Definition at line 420 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 420 of file G4ScreenedNuclearRecoil.hh

Referenced by G4ScreenedNuclearRecoil(), and GetMeanFreePath().

G4double G4ScreenedNuclearRecoil::IonizingLoss
protected

Definition at line 432 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 432 of file G4ScreenedNuclearRecoil.hh

Referenced by DepositEnergy(), and PostStepDoIt().

G4CoulombKinematicsInfo G4ScreenedNuclearRecoil::kinematics
protected

Definition at line 442 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 442 of file G4ScreenedNuclearRecoil.hh

Referenced by GetKinematics(), and PostStepDoIt().

G4double G4ScreenedNuclearRecoil::lowEnergyLimit
protected

the energy per nucleon below which the MFP is zero

Definition at line 423 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 423 of file G4ScreenedNuclearRecoil.hh

Referenced by G4ScreenedNuclearRecoil(), and GetMeanFreePath().

G4double G4ScreenedNuclearRecoil::MFPScale
protected

Definition at line 433 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 433 of file G4ScreenedNuclearRecoil.hh

Referenced by G4ScreenedNuclearRecoil(), GetMeanFreePath(), GetMFPScaling(), and SetMFPScaling().

G4double G4ScreenedNuclearRecoil::NIEL
protected

Definition at line 432 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 432 of file G4ScreenedNuclearRecoil.hh

Referenced by DepositEnergy(), GetNIEL(), and PostStepDoIt().

const G4VNIELPartition* G4ScreenedNuclearRecoil::NIELPartitionFunction
protected

Definition at line 443 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 443 of file G4ScreenedNuclearRecoil.hh

Referenced by DepositEnergy(), and SetNIELPartitionFunction().

G4double G4ScreenedNuclearRecoil::physicsCutoff
protected

Definition at line 430 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 430 of file G4ScreenedNuclearRecoil.hh

Referenced by G4ScreenedNuclearRecoil(), GetMeanFreePath(), GetPhysicsCutoff(), and SetPhysicsCutoff().

G4double G4ScreenedNuclearRecoil::processMaxEnergy
protected

the energy per nucleon beyond which the cross section is zero, to cross over to G4MSC

Definition at line 427 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 427 of file G4ScreenedNuclearRecoil.hh

Referenced by BuildPhysicsTable(), G4ScreenedNuclearRecoil(), GetMeanFreePath(), and SetMaxEnergyForScattering().

G4double G4ScreenedNuclearRecoil::recoilCutoff
protected

Definition at line 430 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 430 of file G4ScreenedNuclearRecoil.hh

Referenced by GetMeanFreePath(), GetRecoilCutoff(), and SetRecoilCutoff().

G4bool G4ScreenedNuclearRecoil::registerDepositedEnergy
protected

Definition at line 431 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 431 of file G4ScreenedNuclearRecoil.hh

Referenced by AllowEnergyDeposition(), G4ScreenedNuclearRecoil(), GetAllowEnergyDeposition(), and PostStepDoIt().

G4String G4ScreenedNuclearRecoil::screeningKey
protected

Definition at line 428 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 428 of file G4ScreenedNuclearRecoil.hh

Referenced by GetMeanFreePath(), and GetScreeningKey().

G4bool G4ScreenedNuclearRecoil::validCollision
protected

Definition at line 441 of file G4ScreenedNuclearRecoil.hh.

View newest version in sPHENIX GitHub at line 441 of file G4ScreenedNuclearRecoil.hh

Referenced by GetValidCollision(), PostStepDoIt(), and SetValidCollision().


The documentation for this class was generated from the following files: