Warning, file /include/Geant4/G4QAOLowEnergyLoss.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 #ifndef G4QAOLowEnergyLoss_hh
0048 #define G4QAOLowEnergyLoss_hh 1
0049
0050 #include "G4VLowEnergyModel.hh"
0051 #include "globals.hh"
0052
0053 class G4QAOLowEnergyLoss : public G4VLowEnergyModel
0054 {
0055 public:
0056 explicit G4QAOLowEnergyLoss(const G4String& name);
0057 ~G4QAOLowEnergyLoss();
0058
0059 G4double HighEnergyLimit(const G4ParticleDefinition* aParticle,
0060 const G4Material* material) const override;
0061
0062
0063 G4double LowEnergyLimit(const G4ParticleDefinition* aParticle,
0064 const G4Material* material) const override;
0065
0066
0067 G4double HighEnergyLimit(const G4ParticleDefinition* aParticle) const override;
0068
0069
0070 G4double LowEnergyLimit(const G4ParticleDefinition* aParticle) const override;
0071
0072
0073 G4bool IsInCharge(const G4DynamicParticle* particle,
0074 const G4Material* material) const override;
0075
0076
0077
0078 G4bool IsInCharge(const G4ParticleDefinition* aParticle,
0079 const G4Material* material) const override;
0080
0081
0082
0083 G4double TheValue(const G4DynamicParticle* particle,
0084 const G4Material* material) override;
0085
0086
0087 G4double TheValue(const G4ParticleDefinition* aParticle,
0088 const G4Material* material,
0089 G4double kineticEnergy) override;
0090
0091
0092 private:
0093 G4double EnergyLoss(const G4Material* material,
0094 G4double kineticEnergy,
0095 G4double zParticle) const;
0096
0097
0098
0099 G4int GetNumberOfShell(const G4Material* material) const;
0100
0101 G4double GetShellEnergy(const G4Material* material,G4int nbOfTheShell) const;
0102 G4double GetOscillatorEnergy(const G4Material* material,G4int nbOfTheShell) const;
0103 G4double GetShellStrength(const G4Material* material,G4int nbOfTheShell) const;
0104 G4double GetOccupationNumber(G4int Z, G4int ShellNb) const;
0105
0106
0107 G4double GetL0(G4double normEnergy) const;
0108
0109 G4double GetL1(G4double normEnergy) const;
0110
0111 G4double GetL2(G4double normEnergy) const;
0112
0113
0114
0115
0116 static const G4int nbofShellForMaterial[6];
0117 static const G4double alShellEnergy[3];
0118 static const G4double alShellStrength[3];
0119 static const G4double siShellEnergy[3];
0120 static const G4double siShellStrength[3];
0121 static const G4double cuShellEnergy[4];
0122 static const G4double cuShellStrength[4];
0123 static const G4double taShellEnergy[6];
0124 static const G4double taShellStrength[6];
0125 static const G4double auShellEnergy[6];
0126 static const G4double auShellStrength[6];
0127 static const G4double ptShellEnergy[6];
0128 static const G4double ptShellStrength[6];
0129
0130 static const G4double L0[67][2];
0131 static const G4double L1[22][2];
0132 static const G4double L2[14][2];
0133 static const G4int nbOfElectronPerSubShell[1540];
0134 static const G4int fNumberOfShells[101];
0135
0136
0137 static const G4int materialAvailable[6];
0138
0139 G4int numberOfMaterials;
0140 G4int sizeL0;
0141 G4int sizeL1;
0142 G4int sizeL2;
0143
0144 };
0145
0146 #endif