Changeset 1005 for trunk/source/processes/electromagnetic/highenergy/src
- Timestamp:
- Apr 20, 2009, 4:53:50 PM (15 years ago)
- Location:
- trunk/source/processes/electromagnetic/highenergy/src
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/highenergy/src/G4BetheBlochNoDeltaModel.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4BetheBlochNoDeltaModel.cc,v 1. 3 2006/06/29 19:32:36 gunterExp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4BetheBlochNoDeltaModel.cc,v 1.4 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 58 58 {} 59 59 60 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 61 60 62 G4BetheBlochNoDeltaModel::~G4BetheBlochNoDeltaModel() 61 63 {} … … 63 65 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 64 66 67 G4double G4BetheBlochNoDeltaModel::ComputeDEDXPerVolume( 68 const G4Material* material, 69 const G4ParticleDefinition* pd, 70 G4double kinEnergy, G4double) 71 { 72 return 73 G4BetheBlochModel::ComputeDEDXPerVolume(material, pd, kinEnergy, DBL_MAX); 74 } 65 75 76 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 77 78 G4double G4BetheBlochNoDeltaModel::CrossSectionPerVolume( 79 const G4Material*,const G4ParticleDefinition*, 80 G4double, G4double, G4double) 81 { 82 return 0.0; 83 } 84 85 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 86 87 -
trunk/source/processes/electromagnetic/highenergy/src/G4BraggNoDeltaModel.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4BraggNoDeltaModel.cc,v 1. 3 2006/06/29 19:32:38 gunterExp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4BraggNoDeltaModel.cc,v 1.4 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 53 53 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 54 54 55 56 55 G4BraggNoDeltaModel::G4BraggNoDeltaModel(const G4ParticleDefinition*p, 57 56 const G4String& nam) : 58 57 G4BraggIonModel(p, nam) 59 58 {} 59 60 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 60 61 61 62 G4BraggNoDeltaModel::~G4BraggNoDeltaModel() … … 64 65 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 65 66 67 G4double G4BraggNoDeltaModel::ComputeDEDXPerVolume( 68 const G4Material* material, 69 const G4ParticleDefinition* pd, 70 G4double kinEnergy, G4double) 71 { 72 return 73 G4BraggIonModel::ComputeDEDXPerVolume(material, pd, kinEnergy, DBL_MAX); 74 } 66 75 76 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 77 78 G4double G4BraggNoDeltaModel::CrossSectionPerVolume( 79 const G4Material*, 80 const G4ParticleDefinition*, 81 G4double, G4double, G4double) 82 { 83 return 0.0; 84 } 85 86 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 87 88 -
trunk/source/processes/electromagnetic/highenergy/src/G4ee2KChargedModel.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4ee2KChargedModel.cc,v 1. 1 2008/07/10 18:07:27vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4ee2KChargedModel.cc,v 1.2 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 75 75 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 76 76 77 G4double G4ee2KChargedModel::ThresholdEnergy() const 78 { 79 return 2.0*massK; 80 } 81 82 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 83 84 G4double G4ee2KChargedModel::PeakEnergy() const 85 { 86 return massPhi; 87 } 88 89 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 90 91 G4double G4ee2KChargedModel::ComputeCrossSection(G4double e) const 92 { 93 G4double ee = std::min(HighEnergy(),e); 94 return cross->CrossSection2Kcharged(ee); 95 } 96 97 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 98 77 99 G4PhysicsVector* G4ee2KChargedModel::PhysicsVector(G4double emin, 78 100 G4double emax) const -
trunk/source/processes/electromagnetic/highenergy/src/G4ee2KNeutralModel.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4ee2KNeutralModel.cc,v 1. 1 2008/07/10 18:07:27vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4ee2KNeutralModel.cc,v 1.2 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 75 75 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 76 76 77 G4double G4ee2KNeutralModel::ThresholdEnergy() const 78 { 79 return 2.0*massK; 80 } 81 82 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 83 84 G4double G4ee2KNeutralModel::PeakEnergy() const 85 { 86 return massPhi; 87 } 88 89 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 90 91 G4double G4ee2KNeutralModel::ComputeCrossSection(G4double e) const 92 { 93 G4double ee = std::min(HighEnergy(),e); 94 return cross->CrossSection2Kneutral(ee); 95 } 96 97 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 98 77 99 G4PhysicsVector* G4ee2KNeutralModel::PhysicsVector(G4double emin, 78 100 G4double emax) const -
trunk/source/processes/electromagnetic/highenergy/src/G4eeTo3PiModel.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeTo3PiModel.cc,v 1. 1 2008/07/10 18:07:27vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4eeTo3PiModel.cc,v 1.2 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 81 81 G4cout << "### G4eeTo3PiModel::~G4eeTo3PiModel: gmax= " 82 82 << gmax << " gcash= " << gcash << G4endl; 83 } 84 85 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 86 87 G4double G4eeTo3PiModel::ThresholdEnergy() const 88 { 89 return std::max(LowEnergy(),2.0*massPi + massPi0); 90 } 91 92 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 93 94 G4double G4eeTo3PiModel::PeakEnergy() const 95 { 96 G4double e = massOm; 97 if(HighEnergy() > massPhi) e = massPhi; 98 return e; 99 } 100 101 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 102 103 G4double G4eeTo3PiModel::ComputeCrossSection(G4double e) const 104 { 105 G4double ee = std::min(HighEnergy(),e); 106 return cross->CrossSection3pi(ee); 83 107 } 84 108 -
trunk/source/processes/electromagnetic/highenergy/src/G4eeToHadrons.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeToHadrons.cc,v 1. 8 2008/10/16 14:29:48vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4eeToHadrons.cc,v 1.9 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 75 75 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 76 76 77 G4bool G4eeToHadrons::IsApplicable(const G4ParticleDefinition& p) 78 { 79 return (&p == G4Positron::Positron()); 80 } 81 82 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 83 77 84 void G4eeToHadrons::InitialiseProcess(const G4ParticleDefinition*) 78 85 { -
trunk/source/processes/electromagnetic/highenergy/src/G4eeToPGammaModel.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeToPGammaModel.cc,v 1. 1 2008/07/10 18:07:27vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4eeToPGammaModel.cc,v 1.2 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 83 83 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 84 84 85 G4double G4eeToPGammaModel::ThresholdEnergy() const 86 { 87 return LowEnergy(); 88 } 89 90 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 91 92 G4double G4eeToPGammaModel::PeakEnergy() const 93 { 94 return massR; 95 } 96 97 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 98 99 G4double G4eeToPGammaModel::ComputeCrossSection(G4double e) const 100 { 101 G4double ee = std::min(HighEnergy(),e); 102 G4double xs; 103 if(particle == pi0) xs = cross->CrossSectionPi0G(ee); 104 else xs = cross->CrossSectionEtaG(ee); 105 return xs; 106 } 107 108 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 109 85 110 G4PhysicsVector* G4eeToPGammaModel::PhysicsVector(G4double emin, 86 111 G4double emax) const -
trunk/source/processes/electromagnetic/highenergy/src/G4eeToTwoPiModel.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeToTwoPiModel.cc,v 1. 6 2008/07/10 18:06:39vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4eeToTwoPiModel.cc,v 1.7 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 75 75 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 76 76 77 G4double G4eeToTwoPiModel::ThresholdEnergy() const 78 { 79 return 2.0*massPi; 80 } 81 82 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 83 84 G4double G4eeToTwoPiModel::PeakEnergy() const 85 { 86 return massRho; 87 } 88 89 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 90 91 G4double G4eeToTwoPiModel::ComputeCrossSection(G4double e) const 92 { 93 G4double ee = std::min(HighEnergy(),e); 94 return cross->CrossSection2pi(ee); 95 } 96 97 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 98 77 99 G4PhysicsVector* G4eeToTwoPiModel::PhysicsVector(G4double emin, 78 100 G4double emax) const -
trunk/source/processes/electromagnetic/highenergy/src/G4hBremsstrahlung.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4hBremsstrahlung.cc,v 1. 3 2008/10/16 14:29:48vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4hBremsstrahlung.cc,v 1.4 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 72 72 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 73 73 74 G4bool G4hBremsstrahlung::IsApplicable(const G4ParticleDefinition& p) 75 { 76 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 110.0*MeV); 77 } 78 79 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 80 81 G4double G4hBremsstrahlung::MinPrimaryEnergy(const G4ParticleDefinition*, 82 const G4Material*, 83 G4double) 84 { 85 return lowestKinEnergy; 86 } 87 88 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 89 74 90 void G4hBremsstrahlung::InitialiseEnergyLossProcess( 75 91 const G4ParticleDefinition* part, -
trunk/source/processes/electromagnetic/highenergy/src/G4hPairProduction.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4hPairProduction.cc,v 1. 3 2008/10/16 14:29:48vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4hPairProduction.cc,v 1.4 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 73 73 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 74 74 75 G4bool G4hPairProduction::IsApplicable(const G4ParticleDefinition& p) 76 { 77 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 110.0*MeV); 78 } 79 80 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 81 82 G4double G4hPairProduction::MinPrimaryEnergy(const G4ParticleDefinition*, 83 const G4Material*, 84 G4double) 85 { 86 return lowestKinEnergy; 87 } 88 89 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 90 75 91 void G4hPairProduction::InitialiseEnergyLossProcess( 76 92 const G4ParticleDefinition* part, -
trunk/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4hhIonisation.cc,v 1. 8 2008/10/16 14:29:48vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4hhIonisation.cc,v 1.9 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 75 75 G4hhIonisation::~G4hhIonisation() 76 76 {} 77 78 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 79 80 G4bool G4hhIonisation::IsApplicable(const G4ParticleDefinition& p) 81 { 82 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 100.0*MeV && 83 !p.IsShortLived()); 84 } 85 86 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 87 88 G4double G4hhIonisation::MinPrimaryEnergy(const G4ParticleDefinition*, 89 const G4Material*, 90 G4double cut) 91 { 92 G4double x = 0.5*cut/electron_mass_c2; 93 G4double y = electron_mass_c2/mass; 94 G4double g = x*y + std::sqrt((1. + x)*(1. + x*y*y)); 95 return mass*(g - 1.0); 96 } 77 97 78 98 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -
trunk/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4mplIonisation.cc,v 1. 7 2008/10/16 14:29:48vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4mplIonisation.cc,v 1.8 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 75 75 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 76 76 77 G4bool G4mplIonisation::IsApplicable(const G4ParticleDefinition& p) 78 { 79 return (p.GetParticleName() == "monopole"); 80 } 81 82 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 83 77 84 void G4mplIonisation::InitialiseEnergyLossProcess(const G4ParticleDefinition*, 78 85 const G4ParticleDefinition*) -
trunk/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc
r991 r1005 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4mplIonisationModel.cc,v 1. 5 2007/11/13 18:36:29vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 $26 // $Id: G4mplIonisationModel.cc,v 1.6 2009/02/20 16:38:33 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 139 139 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 140 140 141 G4double G4mplIonisationModel::ComputeDEDXAhlen(const G4Material* material, G4double bg2) 141 G4double G4mplIonisationModel::ComputeDEDXAhlen(const G4Material* material, 142 G4double bg2) 142 143 { 143 144 G4double eDensity = material->GetElectronDensity(); … … 176 177 return dedx; 177 178 } 179 180 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 181 182 void G4mplIonisationModel::SampleSecondaries(std::vector<G4DynamicParticle*>*, 183 const G4MaterialCutsCouple*, 184 const G4DynamicParticle*, 185 G4double, 186 G4double) 187 {} 178 188 179 189 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... … … 204 214 return loss; 205 215 } 216 217 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 218 219 G4double G4mplIonisationModel::Dispersion(const G4Material* material, 220 const G4DynamicParticle* dp, 221 G4double& tmax, 222 G4double& length) 223 { 224 G4double siga = 0.0; 225 G4double tau = dp->GetKineticEnergy()/mass; 226 if(tau > 0.0) { 227 G4double electronDensity = material->GetElectronDensity(); 228 G4double gam = tau + 1.0; 229 G4double invbeta2 = (gam*gam)/(tau * (tau+2.0)); 230 siga = (invbeta2 - 0.5) * twopi_mc2_rcl2 * tmax * length 231 * electronDensity * chargeSquare; 232 } 233 return siga; 234 } 235 236 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
Note: See TracChangeset
for help on using the changeset viewer.