Geant4 10.7.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 69 of file G4hNuclearStoppingModel.cc.

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

◆ ~G4hNuclearStoppingModel()

G4hNuclearStoppingModel::~G4hNuclearStoppingModel ( )

Definition at line 111 of file G4hNuclearStoppingModel.cc.

112{
113 delete nStopingPowerTable;
114}

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 118 of file G4hNuclearStoppingModel.cc.

121{
122 // Projectile nucleus
123 G4double energy = particle->GetKineticEnergy() ;
124 G4double z1 = std::abs((particle->GetCharge())/eplus) ;
125 G4double m1 = (particle->GetMass())*factorPDG2AMU ;
126
127 G4double nloss = StoppingPower(material, energy, z1, m1) * theZieglerFactor;
128
129 return nloss;
130}
double G4double
Definition: G4Types.hh:83
G4double GetMass() const
G4double GetCharge() const
G4double GetKineticEnergy() const
G4double energy(const ThreeVector &p, const G4double m)

◆ TheValue() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 134 of file G4hNuclearStoppingModel.cc.

138{
139 // Projectile nucleus
140 G4double z1 = std::abs((aParticle->GetPDGCharge())/eplus) ;
141 G4double m1 = (aParticle->GetPDGMass())*factorPDG2AMU ;
142
143 G4double nloss = StoppingPower(material, kineticEnergy, z1, m1)
144 * theZieglerFactor;
145
146 return nloss;
147}
G4double GetPDGCharge() const

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