Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4hParametrisedLossModel Class Reference

#include <G4hParametrisedLossModel.hh>

Inheritance diagram for G4hParametrisedLossModel:
G4VLowEnergyModel

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

Detailed Description

Definition at line 60 of file G4hParametrisedLossModel.hh.

Constructor & Destructor Documentation

G4hParametrisedLossModel::G4hParametrisedLossModel ( const G4String name)

Definition at line 73 of file G4hParametrisedLossModel.cc.

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

Definition at line 126 of file G4hParametrisedLossModel.cc.

127 {
128  delete eStopingPowerTable;
129 }

Member Function Documentation

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

Implements G4VLowEnergyModel.

Definition at line 177 of file G4hParametrisedLossModel.cc.

179 {
180  return highEnergyLimit;
181 }
G4double G4hParametrisedLossModel::HighEnergyLimit ( const G4ParticleDefinition aParticle) const
virtual

Implements G4VLowEnergyModel.

Definition at line 191 of file G4hParametrisedLossModel.cc.

192 {
193  return highEnergyLimit;
194 }
G4bool G4hParametrisedLossModel::IsInCharge ( const G4DynamicParticle particle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 198 of file G4hParametrisedLossModel.cc.

200 {
201  return true;
202 }
G4bool G4hParametrisedLossModel::IsInCharge ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 206 of file G4hParametrisedLossModel.cc.

208 {
209  return true;
210 }
G4double G4hParametrisedLossModel::LowEnergyLimit ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 169 of file G4hParametrisedLossModel.cc.

171 {
172  return lowEnergyLimit;
173 }
G4double G4hParametrisedLossModel::LowEnergyLimit ( const G4ParticleDefinition aParticle) const
virtual

Implements G4VLowEnergyModel.

Definition at line 184 of file G4hParametrisedLossModel.cc.

185 {
186  return lowEnergyLimit;
187 }
G4String G4hParametrisedLossModel::ModelName ( ) const
inline

Definition at line 92 of file G4hParametrisedLossModel.hh.

92 {return modelName;};
G4double G4hParametrisedLossModel::TheValue ( const G4DynamicParticle particle,
const G4Material material 
)
virtual

Implements G4VLowEnergyModel.

Definition at line 133 of file G4hParametrisedLossModel.cc.

References G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMass(), and python.hepunit::proton_mass_c2.

135 {
136  G4double scaledEnergy = (particle->GetKineticEnergy())
137  * proton_mass_c2/(particle->GetMass());
138  G4double factor = theZieglerFactor;
139  if (scaledEnergy < lowEnergyLimit) {
140  if (modelName != "QAO") factor *= std::sqrt(scaledEnergy/lowEnergyLimit);
141  scaledEnergy = lowEnergyLimit;
142  }
143  G4double eloss = StoppingPower(material,scaledEnergy) * factor;
144 
145  return eloss;
146 }
G4double GetKineticEnergy() const
G4double GetMass() const
float proton_mass_c2
Definition: hepunit.py:275
double G4double
Definition: G4Types.hh:76
G4double G4hParametrisedLossModel::TheValue ( const G4ParticleDefinition aParticle,
const G4Material material,
G4double  kineticEnergy 
)
virtual

Implements G4VLowEnergyModel.

Definition at line 150 of file G4hParametrisedLossModel.cc.

References G4ParticleDefinition::GetPDGMass(), and python.hepunit::proton_mass_c2.

153 {
154  G4double scaledEnergy = kineticEnergy
155  * proton_mass_c2/(aParticle->GetPDGMass());
156 
157  G4double factor = theZieglerFactor;
158  if (scaledEnergy < lowEnergyLimit) {
159  if (modelName != "QAO") factor *= std::sqrt(scaledEnergy/lowEnergyLimit);
160  scaledEnergy = lowEnergyLimit;
161  }
162  G4double eloss = StoppingPower(material,scaledEnergy) * factor;
163 
164  return eloss;
165 }
float proton_mass_c2
Definition: hepunit.py:275
G4double GetPDGMass() const
double G4double
Definition: G4Types.hh:76

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