Geant4 9.6.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 76 of file G4hParametrisedLossModel.cc.

77 :G4VLowEnergyModel(name), modelName(name)
78{
79 InitializeMe();
80}

◆ ~G4hParametrisedLossModel()

G4hParametrisedLossModel::~G4hParametrisedLossModel ( )

Definition at line 153 of file G4hParametrisedLossModel.cc.

154{
155 delete eStopingPowerTable;
156}

Member Function Documentation

◆ HighEnergyLimit() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 218 of file G4hParametrisedLossModel.cc.

219{
220 return highEnergyLimit;
221}

◆ HighEnergyLimit() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 204 of file G4hParametrisedLossModel.cc.

206{
207 return highEnergyLimit;
208}

◆ IsInCharge() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 225 of file G4hParametrisedLossModel.cc.

227{
228 return true;
229}

◆ IsInCharge() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 233 of file G4hParametrisedLossModel.cc.

235{
236 return true;
237}

◆ LowEnergyLimit() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 211 of file G4hParametrisedLossModel.cc.

212{
213 return lowEnergyLimit;
214}

◆ LowEnergyLimit() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 196 of file G4hParametrisedLossModel.cc.

198{
199 return lowEnergyLimit;
200}

◆ 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 160 of file G4hParametrisedLossModel.cc.

162{
163 G4double scaledEnergy = (particle->GetKineticEnergy())
164 * proton_mass_c2/(particle->GetMass());
165 G4double factor = theZieglerFactor;
166 if (scaledEnergy < lowEnergyLimit) {
167 if (modelName != "QAO") factor *= std::sqrt(scaledEnergy/lowEnergyLimit);
168 scaledEnergy = lowEnergyLimit;
169 }
170 G4double eloss = StoppingPower(material,scaledEnergy) * factor;
171
172 return eloss;
173}
double G4double
Definition: G4Types.hh:64
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 177 of file G4hParametrisedLossModel.cc.

180{
181 G4double scaledEnergy = kineticEnergy
182 * proton_mass_c2/(aParticle->GetPDGMass());
183
184 G4double factor = theZieglerFactor;
185 if (scaledEnergy < lowEnergyLimit) {
186 if (modelName != "QAO") factor *= std::sqrt(scaledEnergy/lowEnergyLimit);
187 scaledEnergy = lowEnergyLimit;
188 }
189 G4double eloss = StoppingPower(material,scaledEnergy) * factor;
190
191 return eloss;
192}

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