Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4hNuclearStoppingModel Class Reference

#include <G4hNuclearStoppingModel.hh>

+ Inheritance diagram for G4hNuclearStoppingModel:

Public Member Functions

 G4hNuclearStoppingModel (const G4String &name)
 
 ~G4hNuclearStoppingModel ()
 
G4double TheValue (const G4DynamicParticle *particle, const G4Material *material)
 
G4double TheValue (const G4ParticleDefinition *aParticle, const G4Material *material, G4double kineticEnergy)
 
G4double HighEnergyLimit (const G4ParticleDefinition *, const G4Material *) const
 
G4double LowEnergyLimit (const G4ParticleDefinition *, const G4Material *) const
 
G4double HighEnergyLimit (const G4ParticleDefinition *) const
 
G4double LowEnergyLimit (const G4ParticleDefinition *) const
 
G4bool IsInCharge (const G4DynamicParticle *, const G4Material *) const
 
G4bool IsInCharge (const G4ParticleDefinition *, const G4Material *) const
 
void SetNuclearStoppingFluctuationsOn ()
 
void SetNuclearStoppingFluctuationsOff ()
 
- Public Member Functions inherited from G4VLowEnergyModel
 G4VLowEnergyModel (const G4String &name)
 
virtual ~G4VLowEnergyModel ()
 
virtual G4double TheValue (const G4DynamicParticle *particle, const G4Material *material)=0
 
virtual G4double TheValue (const G4ParticleDefinition *aParticle, const G4Material *material, G4double kineticEnergy)=0
 
virtual G4double HighEnergyLimit (const G4ParticleDefinition *aParticle, const G4Material *material) const =0
 
virtual G4double LowEnergyLimit (const G4ParticleDefinition *aParticle, const G4Material *material) const =0
 
virtual G4double HighEnergyLimit (const G4ParticleDefinition *aParticle) const =0
 
virtual G4double LowEnergyLimit (const G4ParticleDefinition *aParticle) const =0
 
virtual G4bool IsInCharge (const G4DynamicParticle *particle, const G4Material *material) const =0
 
virtual G4bool IsInCharge (const G4ParticleDefinition *aParticle, const G4Material *material) const =0
 

Detailed Description

Definition at line 60 of file G4hNuclearStoppingModel.hh.

Constructor & Destructor Documentation

◆ G4hNuclearStoppingModel()

G4hNuclearStoppingModel::G4hNuclearStoppingModel ( const G4String name)

Definition at line 70 of file G4hNuclearStoppingModel.cc.

71 :G4VLowEnergyModel(name), modelName(name)
72{
73 InitializeMe() ;
74}

◆ ~G4hNuclearStoppingModel()

G4hNuclearStoppingModel::~G4hNuclearStoppingModel ( )

Definition at line 116 of file G4hNuclearStoppingModel.cc.

117{
118 delete nStopingPowerTable;
119}

Member Function Documentation

◆ HighEnergyLimit() [1/2]

G4double G4hNuclearStoppingModel::HighEnergyLimit ( const G4ParticleDefinition ) const
inlinevirtual

Implements G4VLowEnergyModel.

Definition at line 84 of file G4hNuclearStoppingModel.hh.

85 {return highEnergyLimit;};

◆ HighEnergyLimit() [2/2]

G4double G4hNuclearStoppingModel::HighEnergyLimit ( const G4ParticleDefinition ,
const G4Material  
) const
inlinevirtual

Implements G4VLowEnergyModel.

Definition at line 76 of file G4hNuclearStoppingModel.hh.

78 {return highEnergyLimit;};

◆ IsInCharge() [1/2]

G4bool G4hNuclearStoppingModel::IsInCharge ( const G4DynamicParticle ,
const G4Material  
) const
inlinevirtual

Implements G4VLowEnergyModel.

Definition at line 90 of file G4hNuclearStoppingModel.hh.

92 {return true;};

◆ IsInCharge() [2/2]

G4bool G4hNuclearStoppingModel::IsInCharge ( const G4ParticleDefinition ,
const G4Material  
) const
inlinevirtual

Implements G4VLowEnergyModel.

Definition at line 94 of file G4hNuclearStoppingModel.hh.

96 {return true;};

◆ LowEnergyLimit() [1/2]

G4double G4hNuclearStoppingModel::LowEnergyLimit ( const G4ParticleDefinition ) const
inlinevirtual

Implements G4VLowEnergyModel.

Definition at line 87 of file G4hNuclearStoppingModel.hh.

88 {return lowEnergyLimit;};

◆ LowEnergyLimit() [2/2]

G4double G4hNuclearStoppingModel::LowEnergyLimit ( const G4ParticleDefinition ,
const G4Material  
) const
inlinevirtual

Implements G4VLowEnergyModel.

Definition at line 80 of file G4hNuclearStoppingModel.hh.

82 {return lowEnergyLimit;};

◆ SetNuclearStoppingFluctuationsOff()

void G4hNuclearStoppingModel::SetNuclearStoppingFluctuationsOff ( )
inline

Definition at line 101 of file G4hNuclearStoppingModel.hh.

102 {nStopingPowerTable->SetNuclearStoppingFluctuationsOff();};

◆ SetNuclearStoppingFluctuationsOn()

void G4hNuclearStoppingModel::SetNuclearStoppingFluctuationsOn ( )
inline

Definition at line 98 of file G4hNuclearStoppingModel.hh.

99 {nStopingPowerTable->SetNuclearStoppingFluctuationsOn();};

◆ TheValue() [1/2]

G4double G4hNuclearStoppingModel::TheValue ( const G4DynamicParticle particle,
const G4Material material 
)
virtual

Implements G4VLowEnergyModel.

Definition at line 123 of file G4hNuclearStoppingModel.cc.

126{
127 // Projectile nucleus
128 G4double energy = particle->GetKineticEnergy() ;
129 G4double z1 = std::abs((particle->GetCharge())/eplus) ;
130 G4double m1 = (particle->GetMass())*factorPDG2AMU ;
131
132 G4double nloss = StoppingPower(material, energy, z1, m1) * theZieglerFactor;
133
134 return nloss;
135}
double G4double
Definition: G4Types.hh:64
G4double GetMass() const
G4double GetCharge() const
G4double GetKineticEnergy() const

◆ TheValue() [2/2]

G4double G4hNuclearStoppingModel::TheValue ( const G4ParticleDefinition aParticle,
const G4Material material,
G4double  kineticEnergy 
)
virtual

Implements G4VLowEnergyModel.

Definition at line 139 of file G4hNuclearStoppingModel.cc.

143{
144 // Projectile nucleus
145 G4double z1 = std::abs((aParticle->GetPDGCharge())/eplus) ;
146 G4double m1 = (aParticle->GetPDGMass())*factorPDG2AMU ;
147
148 G4double nloss = StoppingPower(material, kineticEnergy, z1, m1)
149 * theZieglerFactor;
150
151 return nloss;
152}
G4double GetPDGCharge() const

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