Geant4 11.1.1
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) override
 
G4double TheValue (const G4ParticleDefinition *aParticle, const G4Material *material, G4double kineticEnergy) override
 
G4double HighEnergyLimit (const G4ParticleDefinition *, const G4Material *) const override
 
G4double LowEnergyLimit (const G4ParticleDefinition *, const G4Material *) const override
 
G4double HighEnergyLimit (const G4ParticleDefinition *) const override
 
G4double LowEnergyLimit (const G4ParticleDefinition *) const override
 
G4bool IsInCharge (const G4DynamicParticle *, const G4Material *) const override
 
G4bool IsInCharge (const G4ParticleDefinition *, const G4Material *) const override
 
void SetNuclearStoppingFluctuationsOn ()
 
void SetNuclearStoppingFluctuationsOff ()
 
 G4hNuclearStoppingModel (G4hNuclearStoppingModel &)=delete
 
G4hNuclearStoppingModeloperator= (const G4hNuclearStoppingModel &right)=delete
 
- 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
 
G4VLowEnergyModeloperator= (const G4VLowEnergyModel &right)=delete
 
 G4VLowEnergyModel (const G4VLowEnergyModel &)=delete
 

Detailed Description

Definition at line 60 of file G4hNuclearStoppingModel.hh.

Constructor & Destructor Documentation

◆ G4hNuclearStoppingModel() [1/2]

G4hNuclearStoppingModel::G4hNuclearStoppingModel ( const G4String name)
explicit

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}

◆ G4hNuclearStoppingModel() [2/2]

G4hNuclearStoppingModel::G4hNuclearStoppingModel ( G4hNuclearStoppingModel )
delete

Member Function Documentation

◆ HighEnergyLimit() [1/2]

G4double G4hNuclearStoppingModel::HighEnergyLimit ( const G4ParticleDefinition ) const
inlineoverridevirtual

Implements G4VLowEnergyModel.

Definition at line 83 of file G4hNuclearStoppingModel.hh.

84 {return highEnergyLimit;};

◆ HighEnergyLimit() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 75 of file G4hNuclearStoppingModel.hh.

77 {return highEnergyLimit;};

◆ IsInCharge() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 89 of file G4hNuclearStoppingModel.hh.

91 {return true;};

◆ IsInCharge() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 93 of file G4hNuclearStoppingModel.hh.

95 {return true;};

◆ LowEnergyLimit() [1/2]

G4double G4hNuclearStoppingModel::LowEnergyLimit ( const G4ParticleDefinition ) const
inlineoverridevirtual

Implements G4VLowEnergyModel.

Definition at line 86 of file G4hNuclearStoppingModel.hh.

87 {return lowEnergyLimit;};

◆ LowEnergyLimit() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 79 of file G4hNuclearStoppingModel.hh.

81 {return lowEnergyLimit;};

◆ operator=()

G4hNuclearStoppingModel & G4hNuclearStoppingModel::operator= ( const G4hNuclearStoppingModel right)
delete

◆ SetNuclearStoppingFluctuationsOff()

void G4hNuclearStoppingModel::SetNuclearStoppingFluctuationsOff ( )
inline

Definition at line 100 of file G4hNuclearStoppingModel.hh.

101 {nStopingPowerTable->SetNuclearStoppingFluctuationsOff();};

◆ SetNuclearStoppingFluctuationsOn()

void G4hNuclearStoppingModel::SetNuclearStoppingFluctuationsOn ( )
inline

Definition at line 97 of file G4hNuclearStoppingModel.hh.

98 {nStopingPowerTable->SetNuclearStoppingFluctuationsOn();};

◆ TheValue() [1/2]

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

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 
)
overridevirtual

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: