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

Constructor & Destructor Documentation

◆ G4QAOLowEnergyLoss()

G4QAOLowEnergyLoss::G4QAOLowEnergyLoss ( const G4String name)

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 80 of file G4QAOLowEnergyLoss.cc.

81{;}

Member Function Documentation

◆ HighEnergyLimit() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 99 of file G4QAOLowEnergyLoss.cc.

100{
101 return 2.0*MeV ;
102}

◆ HighEnergyLimit() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 84 of file G4QAOLowEnergyLoss.cc.

86{
87 return 2.0*MeV ;
88}

◆ IsInCharge() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 111 of file G4QAOLowEnergyLoss.cc.

113{
114 G4bool isInCharge = false;
115
116 G4bool hasMaterial = false;
117
118 if (material->GetNumberOfElements() == 1) hasMaterial = true;
119
121 && hasMaterial) isInCharge = true;
122
123 return isInCharge;
124
125}
bool G4bool
Definition: G4Types.hh:86
static G4AntiProton * AntiProtonDefinition()
Definition: G4AntiProton.cc:87
G4ParticleDefinition * GetDefinition() const
size_t GetNumberOfElements() const
Definition: G4Material.hh:184

◆ IsInCharge() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 127 of file G4QAOLowEnergyLoss.cc.

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

◆ LowEnergyLimit() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 104 of file G4QAOLowEnergyLoss.cc.

105{
106 // return 50.0*keV ;
107 return 5.0*keV ;
108}

◆ LowEnergyLimit() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 91 of file G4QAOLowEnergyLoss.cc.

93{
94 // return 50.0*keV ;
95 return 5.0*keV ;
96}

◆ TheValue() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 146 of file G4QAOLowEnergyLoss.cc.

148{
149 G4double zParticle = (G4int)(particle->GetCharge())/eplus;
150
151 G4double energy = particle->GetKineticEnergy() ;
152 G4double eloss = EnergyLoss(material,energy,zParticle) ;
153
154 return eloss ;
155}
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 
)
virtual

Implements G4VLowEnergyModel.

Definition at line 158 of file G4QAOLowEnergyLoss.cc.

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

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