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

#include <G4hParametrisedLossModel.hh>

+ Inheritance diagram for G4hParametrisedLossModel:

Public Member Functions

 G4hParametrisedLossModel (const G4String &name)
 
 ~G4hParametrisedLossModel ()
 
G4double TheValue (const G4DynamicParticle *particle, const G4Material *material)
 
G4double TheValue (const G4ParticleDefinition *aParticle, const G4Material *material, G4double kineticEnergy)
 
G4double HighEnergyLimit (const G4ParticleDefinition *aParticle, const G4Material *material) const
 
G4double LowEnergyLimit (const G4ParticleDefinition *aParticle, const G4Material *material) const
 
G4double HighEnergyLimit (const G4ParticleDefinition *aParticle) const
 
G4double LowEnergyLimit (const G4ParticleDefinition *aParticle) const
 
G4bool IsInCharge (const G4DynamicParticle *particle, const G4Material *material) const
 
G4bool IsInCharge (const G4ParticleDefinition *aParticle, const G4Material *material) const
 
G4String ModelName () const
 
- 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 G4hParametrisedLossModel.hh.

Constructor & Destructor Documentation

◆ G4hParametrisedLossModel()

G4hParametrisedLossModel::G4hParametrisedLossModel ( const G4String name)

Definition at line 74 of file G4hParametrisedLossModel.cc.

75 :G4VLowEnergyModel(name), modelName(name)
76{
77 InitializeMe();
78}

◆ ~G4hParametrisedLossModel()

G4hParametrisedLossModel::~G4hParametrisedLossModel ( )

Definition at line 127 of file G4hParametrisedLossModel.cc.

128{
129 delete eStopingPowerTable;
130}

Member Function Documentation

◆ HighEnergyLimit() [1/2]

G4double G4hParametrisedLossModel::HighEnergyLimit ( const G4ParticleDefinition aParticle) const
virtual

Implements G4VLowEnergyModel.

Definition at line 192 of file G4hParametrisedLossModel.cc.

193{
194 return highEnergyLimit;
195}

◆ HighEnergyLimit() [2/2]

G4double G4hParametrisedLossModel::HighEnergyLimit ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 178 of file G4hParametrisedLossModel.cc.

180{
181 return highEnergyLimit;
182}

◆ IsInCharge() [1/2]

G4bool G4hParametrisedLossModel::IsInCharge ( const G4DynamicParticle particle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 199 of file G4hParametrisedLossModel.cc.

201{
202 return true;
203}

◆ IsInCharge() [2/2]

G4bool G4hParametrisedLossModel::IsInCharge ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 207 of file G4hParametrisedLossModel.cc.

209{
210 return true;
211}

◆ LowEnergyLimit() [1/2]

G4double G4hParametrisedLossModel::LowEnergyLimit ( const G4ParticleDefinition aParticle) const
virtual

Implements G4VLowEnergyModel.

Definition at line 185 of file G4hParametrisedLossModel.cc.

186{
187 return lowEnergyLimit;
188}

◆ LowEnergyLimit() [2/2]

G4double G4hParametrisedLossModel::LowEnergyLimit ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 170 of file G4hParametrisedLossModel.cc.

172{
173 return lowEnergyLimit;
174}

◆ ModelName()

G4String G4hParametrisedLossModel::ModelName ( ) const
inline

Definition at line 92 of file G4hParametrisedLossModel.hh.

92{return modelName;};

◆ TheValue() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 134 of file G4hParametrisedLossModel.cc.

136{
137 G4double scaledEnergy = (particle->GetKineticEnergy())
138 * proton_mass_c2/(particle->GetMass());
139 G4double factor = theZieglerFactor;
140 if (scaledEnergy < lowEnergyLimit) {
141 if (modelName != "QAO") factor *= std::sqrt(scaledEnergy/lowEnergyLimit);
142 scaledEnergy = lowEnergyLimit;
143 }
144 G4double eloss = StoppingPower(material,scaledEnergy) * factor;
145
146 return eloss;
147}
double G4double
Definition: G4Types.hh:83
G4double GetMass() const
G4double GetKineticEnergy() const

◆ TheValue() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 151 of file G4hParametrisedLossModel.cc.

154{
155 G4double scaledEnergy = kineticEnergy
156 * proton_mass_c2/(aParticle->GetPDGMass());
157
158 G4double factor = theZieglerFactor;
159 if (scaledEnergy < lowEnergyLimit) {
160 if (modelName != "QAO") factor *= std::sqrt(scaledEnergy/lowEnergyLimit);
161 scaledEnergy = lowEnergyLimit;
162 }
163 G4double eloss = StoppingPower(material,scaledEnergy) * factor;
164
165 return eloss;
166}

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