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

#include <G4QAOLowEnergyLoss.hh>

+ Inheritance diagram for G4QAOLowEnergyLoss:

Public Member Functions

 G4QAOLowEnergyLoss (const G4String &name)
 
 ~G4QAOLowEnergyLoss ()
 
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
 
G4double TheValue (const G4DynamicParticle *particle, const G4Material *material) override
 
G4double TheValue (const G4ParticleDefinition *aParticle, const G4Material *material, G4double kineticEnergy) override
 
- 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 53 of file G4QAOLowEnergyLoss.hh.

Constructor & Destructor Documentation

◆ G4QAOLowEnergyLoss()

G4QAOLowEnergyLoss::G4QAOLowEnergyLoss ( const G4String name)
explicit

Definition at line 70 of file G4QAOLowEnergyLoss.cc.

71 : G4VLowEnergyModel(name)
72{
73 numberOfMaterials = 6;
74 sizeL0 = 67;
75 sizeL1 = 22;
76 sizeL2 = 14;
77}

◆ ~G4QAOLowEnergyLoss()

G4QAOLowEnergyLoss::~G4QAOLowEnergyLoss ( )

Definition at line 81 of file G4QAOLowEnergyLoss.cc.

82{;}

Member Function Documentation

◆ HighEnergyLimit() [1/2]

G4double G4QAOLowEnergyLoss::HighEnergyLimit ( const G4ParticleDefinition aParticle) const
overridevirtual

Implements G4VLowEnergyModel.

Definition at line 102 of file G4QAOLowEnergyLoss.cc.

103{
104 return 2.0*MeV ;
105}

◆ HighEnergyLimit() [2/2]

G4double G4QAOLowEnergyLoss::HighEnergyLimit ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
overridevirtual

Implements G4VLowEnergyModel.

Definition at line 86 of file G4QAOLowEnergyLoss.cc.

88{
89 return 2.0*MeV ;
90}

◆ IsInCharge() [1/2]

G4bool G4QAOLowEnergyLoss::IsInCharge ( const G4DynamicParticle particle,
const G4Material material 
) const
overridevirtual

Implements G4VLowEnergyModel.

Definition at line 116 of file G4QAOLowEnergyLoss.cc.

118{
119 G4bool isInCharge = false;
120 G4bool hasMaterial = false;
121
122 if (material->GetNumberOfElements() == 1) hasMaterial = true;
123
125 && hasMaterial) isInCharge = true;
126
127 return isInCharge;
128}
bool G4bool
Definition: G4Types.hh:86
static G4AntiProton * AntiProtonDefinition()
Definition: G4AntiProton.cc:87
G4ParticleDefinition * GetDefinition() const
size_t GetNumberOfElements() const
Definition: G4Material.hh:181

◆ IsInCharge() [2/2]

G4bool G4QAOLowEnergyLoss::IsInCharge ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
overridevirtual

Implements G4VLowEnergyModel.

Definition at line 132 of file G4QAOLowEnergyLoss.cc.

134{
135
136 G4bool isInCharge = false;
137 G4bool hasMaterial = false;
138
139 if (material->GetNumberOfElements() == 1) hasMaterial = true;
140
141 if (aParticle == (G4AntiProton::AntiProtonDefinition())
142 && hasMaterial) isInCharge = true;
143 return isInCharge;
144}

◆ LowEnergyLimit() [1/2]

G4double G4QAOLowEnergyLoss::LowEnergyLimit ( const G4ParticleDefinition aParticle) const
overridevirtual

Implements G4VLowEnergyModel.

Definition at line 109 of file G4QAOLowEnergyLoss.cc.

110{
111 return 5.0*keV ;
112}

◆ LowEnergyLimit() [2/2]

G4double G4QAOLowEnergyLoss::LowEnergyLimit ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
overridevirtual

Implements G4VLowEnergyModel.

Definition at line 94 of file G4QAOLowEnergyLoss.cc.

96{
97 return 5.0*keV ;
98}

◆ TheValue() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 148 of file G4QAOLowEnergyLoss.cc.

150{
151 G4double zParticle = (G4int)(particle->GetCharge())/eplus;
152
153 G4double energy = particle->GetKineticEnergy() ;
154 G4double eloss = EnergyLoss(material,energy,zParticle) ;
155
156 return eloss ;
157}
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
G4double GetCharge() const
G4double GetKineticEnergy() const
G4double energy(const ThreeVector &p, const G4double m)

◆ TheValue() [2/2]

G4double G4QAOLowEnergyLoss::TheValue ( const G4ParticleDefinition aParticle,
const G4Material material,
G4double  kineticEnergy 
)
overridevirtual

Implements G4VLowEnergyModel.

Definition at line 161 of file G4QAOLowEnergyLoss.cc.

164{
165 G4double zParticle = (aParticle->GetPDGCharge())/eplus;
166
167 G4double eloss = EnergyLoss(material,kineticEnergy,zParticle) ;
168
169 return eloss ;
170}
G4double GetPDGCharge() const

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