Geant4 11.2.2
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) override
 
G4double TheValue (const G4ParticleDefinition *aParticle, const G4Material *material, G4double kineticEnergy) override
 
G4double HighEnergyLimit (const G4ParticleDefinition *aParticle, const G4Material *material) const override
 
G4double LowEnergyLimit (const G4ParticleDefinition *aParticle, const G4Material *material) const override
 
G4double HighEnergyLimit (const G4ParticleDefinition *aParticle) const override
 
G4double LowEnergyLimit (const G4ParticleDefinition *aParticle) const override
 
G4bool IsInCharge (const G4DynamicParticle *particle, const G4Material *material) const override
 
G4bool IsInCharge (const G4ParticleDefinition *aParticle, const G4Material *material) const override
 
G4String ModelName () const
 
 G4hParametrisedLossModel (G4hParametrisedLossModel &)=delete
 
G4hParametrisedLossModeloperator= (const G4hParametrisedLossModel &right)=delete
 
- Public Member Functions inherited from G4VLowEnergyModel
 G4VLowEnergyModel (const G4String &name)
 
virtual ~G4VLowEnergyModel ()
 
G4VLowEnergyModeloperator= (const G4VLowEnergyModel &right)=delete
 
 G4VLowEnergyModel (const G4VLowEnergyModel &)=delete
 

Detailed Description

Definition at line 60 of file G4hParametrisedLossModel.hh.

Constructor & Destructor Documentation

◆ G4hParametrisedLossModel() [1/2]

G4hParametrisedLossModel::G4hParametrisedLossModel ( const G4String & name)
explicit

Definition at line 74 of file G4hParametrisedLossModel.cc.

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

◆ ~G4hParametrisedLossModel()

G4hParametrisedLossModel::~G4hParametrisedLossModel ( )

Definition at line 127 of file G4hParametrisedLossModel.cc.

128{
129 delete eStopingPowerTable;
130}

◆ G4hParametrisedLossModel() [2/2]

G4hParametrisedLossModel::G4hParametrisedLossModel ( G4hParametrisedLossModel & )
delete

Member Function Documentation

◆ HighEnergyLimit() [1/2]

G4double G4hParametrisedLossModel::HighEnergyLimit ( const G4ParticleDefinition * aParticle) const
overridevirtual

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
overridevirtual

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
overridevirtual

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
overridevirtual

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
overridevirtual

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
overridevirtual

Implements G4VLowEnergyModel.

Definition at line 170 of file G4hParametrisedLossModel.cc.

172{
173 return lowEnergyLimit;
174}

◆ ModelName()

G4String G4hParametrisedLossModel::ModelName ( ) const
inline

Definition at line 90 of file G4hParametrisedLossModel.hh.

90{return modelName;};

◆ operator=()

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

◆ TheValue() [1/2]

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

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

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: