Changeset 1005 for trunk/source/processes/electromagnetic/muons/include
- Timestamp:
- Apr 20, 2009, 4:53:50 PM (17 years ago)
- Location:
- trunk/source/processes/electromagnetic/muons/include
- Files:
-
- 6 edited
-
G4MuBetheBlochModel.hh (modified) (4 diffs)
-
G4MuBremsstrahlung.hh (modified) (3 diffs)
-
G4MuBremsstrahlungModel.hh (modified) (5 diffs)
-
G4MuIonisation.hh (modified) (3 diffs)
-
G4MuPairProduction.hh (modified) (3 diffs)
-
G4MuPairProductionModel.hh (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuBetheBlochModel.hh,v 1.1 7 2007/05/22 17:35:58vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4MuBetheBlochModel.hh,v 1.18 2009/02/20 14:48:16 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 76 76 virtual ~G4MuBetheBlochModel(); 77 77 78 v oid Initialise(const G4ParticleDefinition*, const G4DataVector&);78 virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); 79 79 80 G4double MinEnergyCut(const G4ParticleDefinition*,81 const G4MaterialCutsCouple*);80 virtual G4double MinEnergyCut(const G4ParticleDefinition*, 81 const G4MaterialCutsCouple*); 82 82 83 83 virtual G4double ComputeCrossSectionPerElectron( … … 113 113 protected: 114 114 115 G4double MaxSecondaryEnergy(const G4ParticleDefinition*,116 G4double kinEnergy);115 virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, 116 G4double kinEnergy); 117 117 118 118 private: 119 119 120 void SetParticle(const G4ParticleDefinition* p);120 inline void SetParticle(const G4ParticleDefinition* p); 121 121 122 122 // hide assignment operator … … 141 141 }; 142 142 143 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 143 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 144 144 145 inline G4double G4MuBetheBlochModel::MaxSecondaryEnergy( 146 const G4ParticleDefinition*, 147 G4double kinEnergy) 145 inline void G4MuBetheBlochModel::SetParticle(const G4ParticleDefinition* p) 148 146 { 149 G4double tau = kinEnergy/mass; 150 G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) / 151 (1. + 2.0*(tau + 1.)*ratio + ratio*ratio); 152 return tmax; 147 if(!particle) { 148 particle = p; 149 mass = particle->GetPDGMass(); 150 massSquare = mass*mass; 151 ratio = electron_mass_c2/mass; 152 } 153 153 } 154 154 -
trunk/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuBremsstrahlung.hh,v 1.3 0 2008/02/29 17:50:05vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4MuBremsstrahlung.hh,v 1.31 2009/02/20 14:48:16 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 86 86 virtual ~G4MuBremsstrahlung(); 87 87 88 G4bool IsApplicable(const G4ParticleDefinition& p);88 virtual G4bool IsApplicable(const G4ParticleDefinition& p); 89 89 90 G4double MinPrimaryEnergy(const G4ParticleDefinition* p,91 const G4Material*,92 G4double cut);90 virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, 91 const G4Material*, 92 G4double cut); 93 93 94 94 // Print out of the class parameters 95 v oid PrintInfo();95 virtual void PrintInfo(); 96 96 97 97 protected: 98 98 99 v oid InitialiseEnergyLossProcess(const G4ParticleDefinition*,100 const G4ParticleDefinition*);99 virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, 100 const G4ParticleDefinition*); 101 101 102 102 private: … … 114 114 115 115 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 116 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....117 118 inline119 G4bool G4MuBremsstrahlung::IsApplicable(const G4ParticleDefinition& p)120 {121 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);122 }123 124 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....125 126 inline127 G4double G4MuBremsstrahlung::MinPrimaryEnergy(const G4ParticleDefinition*,128 const G4Material*,129 G4double)130 {131 return lowestKinEnergy;132 }133 134 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....135 116 136 117 #endif -
trunk/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuBremsstrahlungModel.hh,v 1.2 1 2008/07/22 16:11:34vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4MuBremsstrahlungModel.hh,v 1.22 2009/02/20 14:48:16 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 78 78 virtual ~G4MuBremsstrahlungModel(); 79 79 80 v oid SetParticle(const G4ParticleDefinition*);80 virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); 81 81 82 void Initialise(const G4ParticleDefinition*, const G4DataVector&); 83 84 G4double MinEnergyCut(const G4ParticleDefinition*, 85 const G4MaterialCutsCouple*); 82 virtual G4double MinEnergyCut(const G4ParticleDefinition*, 83 const G4MaterialCutsCouple*); 86 84 87 85 virtual G4double ComputeCrossSectionPerAtom( … … 97 95 G4double cutEnergy); 98 96 99 v oid SampleSecondaries(std::vector<G4DynamicParticle*>*,100 const G4MaterialCutsCouple*,101 const G4DynamicParticle*,102 G4double tmin,103 G4double maxEnergy);97 virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*, 98 const G4MaterialCutsCouple*, 99 const G4DynamicParticle*, 100 G4double tmin, 101 G4double maxEnergy); 104 102 105 103 inline void SetLowestKineticEnergy(G4double e); … … 117 115 G4double gammaEnergy); 118 116 119 G4double MaxSecondaryEnergy(const G4ParticleDefinition*, 120 G4double kineticEnergy); 117 inline void SetParticle(const G4ParticleDefinition*); 121 118 122 119 private: … … 160 157 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 161 158 162 inline163 G4double G4MuBremsstrahlungModel::MaxSecondaryEnergy(const G4ParticleDefinition*,164 G4double kineticEnergy)165 {166 return kineticEnergy;167 }168 169 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......170 171 159 inline void G4MuBremsstrahlungModel::SetLowestKineticEnergy(G4double e) 172 160 { 173 161 lowestKinEnergy = e; 174 }175 176 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......177 178 inline179 G4double G4MuBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition*,180 const G4MaterialCutsCouple*)181 {182 return minThreshold;183 162 } 184 163 -
trunk/source/processes/electromagnetic/muons/include/G4MuIonisation.hh
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuIonisation.hh,v 1.3 0 2007/05/23 08:49:32vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4MuIonisation.hh,v 1.31 2009/02/20 14:48:16 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 95 95 virtual ~G4MuIonisation(); 96 96 97 G4bool IsApplicable(const G4ParticleDefinition& p);97 virtual G4bool IsApplicable(const G4ParticleDefinition& p); 98 98 99 G4double MinPrimaryEnergy(const G4ParticleDefinition* p,100 const G4Material*, G4double cut);99 virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, 100 const G4Material*, G4double cut); 101 101 102 102 // Print out of the class parameters 103 v oid PrintInfo();103 virtual void PrintInfo(); 104 104 105 105 protected: … … 127 127 128 128 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 129 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....130 131 inline G4bool G4MuIonisation::IsApplicable(const G4ParticleDefinition& p)132 {133 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);134 }135 136 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....137 138 inline G4double G4MuIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,139 const G4Material*,140 G4double cut)141 {142 G4double x = 0.5*cut/electron_mass_c2;143 G4double g = x*ratio + std::sqrt((1. + x)*(1. + x*ratio*ratio));144 return mass*(g - 1.0);145 }146 147 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....148 129 149 130 #endif -
trunk/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuPairProduction.hh,v 1.3 0 2008/02/29 17:50:05vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4MuPairProduction.hh,v 1.31 2009/02/20 14:48:16 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 84 84 virtual ~G4MuPairProduction(); 85 85 86 G4bool IsApplicable(const G4ParticleDefinition& p);86 virtual G4bool IsApplicable(const G4ParticleDefinition& p); 87 87 88 G4double MinPrimaryEnergy(const G4ParticleDefinition* p,89 const G4Material*, G4double cut);88 virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, 89 const G4Material*, G4double cut); 90 90 91 91 // Print out of the class parameters 92 v oid PrintInfo();92 virtual void PrintInfo(); 93 93 94 94 protected: 95 95 96 v oid InitialiseEnergyLossProcess(const G4ParticleDefinition*,97 const G4ParticleDefinition*);96 virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, 97 const G4ParticleDefinition*); 98 98 99 99 private: … … 113 113 114 114 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 115 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....116 117 inline118 G4bool G4MuPairProduction::IsApplicable(const G4ParticleDefinition& p)119 {120 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);121 }122 123 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....124 125 inline126 G4double G4MuPairProduction::MinPrimaryEnergy(const G4ParticleDefinition*,127 const G4Material*,128 G4double)129 {130 return lowestKinEnergy;131 }132 133 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....134 115 135 116 #endif -
trunk/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuPairProductionModel.hh,v 1.2 7 2008/07/22 16:11:34vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4MuPairProductionModel.hh,v 1.28 2009/02/20 14:48:16 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 79 79 virtual ~G4MuPairProductionModel(); 80 80 81 v oid Initialise(const G4ParticleDefinition*, const G4DataVector&);81 virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); 82 82 83 83 … … 100 100 G4double maxEnergy); 101 101 102 virtual G4double MinEnergyCut(const G4ParticleDefinition*, 103 const G4MaterialCutsCouple*); 104 102 105 inline void SetLowestKineticEnergy(G4double e); 103 104 inline G4double MinEnergyCut(const G4ParticleDefinition*,105 const G4MaterialCutsCouple*);106 106 107 107 inline void SetParticle(const G4ParticleDefinition*); … … 120 120 G4double pairEnergy); 121 121 122 inlineG4double MaxSecondaryEnergy(const G4ParticleDefinition*,123 G4double kineticEnergy);122 virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, 123 G4double kineticEnergy); 124 124 125 125 inline void SetCurrentElement(G4double Z); … … 193 193 194 194 inline 195 G4double G4MuPairProductionModel::MinEnergyCut(const G4ParticleDefinition*,196 const G4MaterialCutsCouple* )197 {198 return minPairEnergy;199 }200 201 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......202 203 inline204 195 void G4MuPairProductionModel::SetParticle(const G4ParticleDefinition* p) 205 196 { … … 208 199 particleMass = particle->GetPDGMass(); 209 200 } 210 }211 212 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......213 214 inline G4double G4MuPairProductionModel::MaxSecondaryEnergy(215 const G4ParticleDefinition*,216 G4double kineticEnergy)217 {218 G4double maxPairEnergy = kineticEnergy + particleMass*(1.0 - 0.75*sqrte*z13);219 return maxPairEnergy;220 201 } 221 202
Note:
See TracChangeset
for help on using the changeset viewer.
