Geant4 9.6.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 69 of file G4QAOLowEnergyLoss.cc.

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

◆ ~G4QAOLowEnergyLoss()

G4QAOLowEnergyLoss::~G4QAOLowEnergyLoss ( )

Definition at line 79 of file G4QAOLowEnergyLoss.cc.

80{;}

Member Function Documentation

◆ HighEnergyLimit() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 98 of file G4QAOLowEnergyLoss.cc.

99{
100 return 2.0*MeV ;
101}

◆ HighEnergyLimit() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 83 of file G4QAOLowEnergyLoss.cc.

85{
86 return 2.0*MeV ;
87}

◆ IsInCharge() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 110 of file G4QAOLowEnergyLoss.cc.

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

◆ IsInCharge() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 126 of file G4QAOLowEnergyLoss.cc.

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

◆ LowEnergyLimit() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 103 of file G4QAOLowEnergyLoss.cc.

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

◆ LowEnergyLimit() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 90 of file G4QAOLowEnergyLoss.cc.

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

◆ TheValue() [1/2]

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

Implements G4VLowEnergyModel.

Definition at line 145 of file G4QAOLowEnergyLoss.cc.

147{
148 G4double zParticle = (G4int)(particle->GetCharge())/eplus;
149
150 G4double energy = particle->GetKineticEnergy() ;
151 G4double eloss = EnergyLoss(material,energy,zParticle) ;
152
153 return eloss ;
154}
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
G4double GetCharge() const
G4double GetKineticEnergy() const

◆ TheValue() [2/2]

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

Implements G4VLowEnergyModel.

Definition at line 157 of file G4QAOLowEnergyLoss.cc.

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

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