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

#include <G4QAOLowEnergyLoss.hh>

Inheritance diagram for G4QAOLowEnergyLoss:
G4VLowEnergyModel

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

Detailed Description

Definition at line 53 of file G4QAOLowEnergyLoss.hh.

Constructor & Destructor Documentation

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 }
G4VLowEnergyModel(const G4String &name)
G4QAOLowEnergyLoss::~G4QAOLowEnergyLoss ( )

Definition at line 79 of file G4QAOLowEnergyLoss.cc.

80 {;}

Member Function Documentation

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

Implements G4VLowEnergyModel.

Definition at line 83 of file G4QAOLowEnergyLoss.cc.

References python.hepunit::MeV.

85 {
86  return 2.0*MeV ;
87 }
G4double G4QAOLowEnergyLoss::HighEnergyLimit ( const G4ParticleDefinition aParticle) const
virtual

Implements G4VLowEnergyModel.

Definition at line 98 of file G4QAOLowEnergyLoss.cc.

References python.hepunit::MeV.

99 {
100  return 2.0*MeV ;
101 }
G4bool G4QAOLowEnergyLoss::IsInCharge ( const G4DynamicParticle particle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 110 of file G4QAOLowEnergyLoss.cc.

References G4AntiProton::AntiProtonDefinition(), G4DynamicParticle::GetDefinition(), and G4Material::GetNumberOfElements().

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

Implements G4VLowEnergyModel.

Definition at line 126 of file G4QAOLowEnergyLoss.cc.

References G4AntiProton::AntiProtonDefinition(), and G4Material::GetNumberOfElements().

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 }
static G4AntiProton * AntiProtonDefinition()
Definition: G4AntiProton.cc:88
bool G4bool
Definition: G4Types.hh:79
size_t GetNumberOfElements() const
Definition: G4Material.hh:184
G4double G4QAOLowEnergyLoss::LowEnergyLimit ( const G4ParticleDefinition aParticle,
const G4Material material 
) const
virtual

Implements G4VLowEnergyModel.

Definition at line 90 of file G4QAOLowEnergyLoss.cc.

References python.hepunit::keV.

92 {
93  // return 50.0*keV ;
94  return 5.0*keV ;
95 }
G4double G4QAOLowEnergyLoss::LowEnergyLimit ( const G4ParticleDefinition aParticle) const
virtual

Implements G4VLowEnergyModel.

Definition at line 103 of file G4QAOLowEnergyLoss.cc.

References python.hepunit::keV.

104 {
105  // return 50.0*keV ;
106  return 5.0*keV ;
107 }
G4double G4QAOLowEnergyLoss::TheValue ( const G4DynamicParticle particle,
const G4Material material 
)
virtual

Implements G4VLowEnergyModel.

Definition at line 145 of file G4QAOLowEnergyLoss.cc.

References energy(), python.hepunit::eplus, G4DynamicParticle::GetCharge(), and G4DynamicParticle::GetKineticEnergy().

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 }
G4double GetKineticEnergy() const
int G4int
Definition: G4Types.hh:78
double precision function energy(A, Z)
Definition: dpm25nuc6.f:4106
G4double GetCharge() const
double G4double
Definition: G4Types.hh:76
G4double G4QAOLowEnergyLoss::TheValue ( const G4ParticleDefinition aParticle,
const G4Material material,
G4double  kineticEnergy 
)
virtual

Implements G4VLowEnergyModel.

Definition at line 157 of file G4QAOLowEnergyLoss.cc.

References python.hepunit::eplus, and G4ParticleDefinition::GetPDGCharge().

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

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