- Timestamp:
- Apr 20, 2009, 5:54:05 PM (15 years ago)
- Location:
- trunk/source/processes/electromagnetic/highenergy/include
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/highenergy/include/G4AnnihiToMuPair.hh
r1006 r1007 26 26 // 27 27 // $Id: G4AnnihiToMuPair.hh,v 1.2 2006/06/29 19:32:12 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-02 -ref-02$28 // GEANT4 tag $Name: geant4-09-02 $ 29 29 // 30 30 // ------------ G4AnnihiToMuPair physics process ------ -
trunk/source/processes/electromagnetic/highenergy/include/G4BetheBlochNoDeltaModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4BetheBlochNoDeltaModel.hh,v 1. 8 2009/02/20 16:38:33 vnivanchExp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4BetheBlochNoDeltaModel.hh,v 1.7 2006/06/29 19:32:14 gunter Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 68 68 G4double cutEnergy); 69 69 70 virtual G4double C rossSectionPerVolume(const G4Material*,71 72 73 74 70 virtual G4double ComputeCrossSectionPerElectron( 71 const G4ParticleDefinition*, 72 G4double kineticEnergy, 73 G4double cutEnergy, 74 G4double maxEnergy); 75 75 76 76 private: … … 84 84 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 85 85 86 inline G4double G4BetheBlochNoDeltaModel::ComputeDEDXPerVolume( 87 const G4Material* material, 88 const G4ParticleDefinition* pd, 89 G4double kinEnergy, G4double) 90 { 91 G4double dedx = G4BetheBlochModel::ComputeDEDXPerVolume(material, pd, kinEnergy, DBL_MAX); 92 return dedx; 93 } 94 95 inline G4double G4BetheBlochNoDeltaModel::ComputeCrossSectionPerElectron( 96 const G4ParticleDefinition*, 97 G4double, G4double, G4double) 98 { 99 return 0.0; 100 } 101 102 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 103 86 104 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4BraggNoDeltaModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4BraggNoDeltaModel.hh,v 1. 7 2009/02/20 16:38:33 vnivanchExp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4BraggNoDeltaModel.hh,v 1.6 2006/06/29 19:32:16 gunter Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 68 68 G4double cutEnergy); 69 69 70 virtual G4double C rossSectionPerVolume(const G4Material*,70 virtual G4double ComputeCrossSectionPerElectron( 71 71 const G4ParticleDefinition*, 72 72 G4double kineticEnergy, 73 73 G4double cutEnergy, 74 74 G4double maxEnergy); 75 75 76 private: 76 77 … … 83 84 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 84 85 86 inline G4double G4BraggNoDeltaModel::ComputeDEDXPerVolume( 87 const G4Material* material, 88 const G4ParticleDefinition* pd, 89 G4double kinEnergy, G4double) 90 { 91 G4double dedx = G4BraggIonModel::ComputeDEDXPerVolume(material, pd, kinEnergy, DBL_MAX); 92 return dedx; 93 } 94 95 inline G4double G4BraggNoDeltaModel::ComputeCrossSectionPerElectron( 96 const G4ParticleDefinition*, 97 G4double, G4double, G4double) 98 { 99 return 0.0; 100 } 101 102 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 103 85 104 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh
r1006 r1007 26 26 // 27 27 // $Id: G4GammaConversionToMuons.hh,v 1.2 2006/06/29 19:32:18 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-02 -ref-02$28 // GEANT4 tag $Name: geant4-09-02 $ 29 29 // 30 30 // ------------ G4GammaConversionToMuons physics process ------ -
trunk/source/processes/electromagnetic/highenergy/include/G4Vee2hadrons.hh
r1006 r1007 25 25 // 26 26 // $Id: G4Vee2hadrons.hh,v 1.4 2008/07/10 18:06:38 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 -ref-02$27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- -
trunk/source/processes/electromagnetic/highenergy/include/G4ee2KChargedModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4ee2KChargedModel.hh,v 1. 2 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4ee2KChargedModel.hh,v 1.1 2008/07/10 18:07:26 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 67 67 virtual ~G4ee2KChargedModel(); 68 68 69 virtualG4double ThresholdEnergy() const;69 G4double ThresholdEnergy() const; 70 70 71 virtualG4double PeakEnergy() const;71 G4double PeakEnergy() const; 72 72 73 virtualG4double ComputeCrossSection(G4double) const;73 G4double ComputeCrossSection(G4double) const; 74 74 75 virtualG4PhysicsVector* PhysicsVector(G4double, G4double) const;75 G4PhysicsVector* PhysicsVector(G4double, G4double) const; 76 76 77 77 virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*, … … 92 92 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 93 93 94 inline G4double G4ee2KChargedModel::ThresholdEnergy() const 95 { 96 return 2.0*massK; 97 } 98 99 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 100 101 inline G4double G4ee2KChargedModel::PeakEnergy() const 102 { 103 return massPhi; 104 } 105 106 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 107 108 inline G4double G4ee2KChargedModel::ComputeCrossSection(G4double e) const 109 { 110 G4double ee = std::min(HighEnergy(),e); 111 return cross->CrossSection2Kcharged(ee); 112 } 113 114 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 115 94 116 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4ee2KNeutralModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4ee2KNeutralModel.hh,v 1. 2 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4ee2KNeutralModel.hh,v 1.1 2008/07/10 18:07:26 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 67 67 virtual ~G4ee2KNeutralModel(); 68 68 69 virtualG4double ThresholdEnergy() const;69 G4double ThresholdEnergy() const; 70 70 71 virtualG4double PeakEnergy() const;71 G4double PeakEnergy() const; 72 72 73 virtualG4double ComputeCrossSection(G4double) const;73 G4double ComputeCrossSection(G4double) const; 74 74 75 virtualG4PhysicsVector* PhysicsVector(G4double, G4double) const;75 G4PhysicsVector* PhysicsVector(G4double, G4double) const; 76 76 77 77 virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*, … … 92 92 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 93 93 94 inline G4double G4ee2KNeutralModel::ThresholdEnergy() const 95 { 96 return 2.0*massK; 97 } 98 99 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 100 101 inline G4double G4ee2KNeutralModel::PeakEnergy() const 102 { 103 return massPhi; 104 } 105 106 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 107 108 inline G4double G4ee2KNeutralModel::ComputeCrossSection(G4double e) const 109 { 110 G4double ee = std::min(HighEnergy(),e); 111 return cross->CrossSection2Kneutral(ee); 112 } 113 114 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 115 94 116 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4eeCrossSections.hh
r1006 r1007 25 25 // 26 26 // $Id: G4eeCrossSections.hh,v 1.3 2008/07/10 18:06:38 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 -ref-02$27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- -
trunk/source/processes/electromagnetic/highenergy/include/G4eeTo3PiModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeTo3PiModel.hh,v 1. 2 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4eeTo3PiModel.hh,v 1.1 2008/07/10 18:07:26 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 67 67 virtual ~G4eeTo3PiModel(); 68 68 69 virtualG4double ThresholdEnergy() const;69 G4double ThresholdEnergy() const; 70 70 71 virtualG4double PeakEnergy() const;71 G4double PeakEnergy() const; 72 72 73 virtualG4double ComputeCrossSection(G4double) const;73 G4double ComputeCrossSection(G4double) const; 74 74 75 virtualG4PhysicsVector* PhysicsVector(G4double, G4double) const;75 G4PhysicsVector* PhysicsVector(G4double, G4double) const; 76 76 77 77 virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*, … … 96 96 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 97 97 98 inline G4double G4eeTo3PiModel::ThresholdEnergy() const 99 { 100 return std::max(LowEnergy(),2.0*massPi + massPi0); 101 } 102 103 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 104 105 inline G4double G4eeTo3PiModel::PeakEnergy() const 106 { 107 G4double e = massOm; 108 if(HighEnergy() > massPhi) e = massPhi; 109 return e; 110 } 111 112 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 113 114 inline G4double G4eeTo3PiModel::ComputeCrossSection(G4double e) const 115 { 116 G4double ee = std::min(HighEnergy(),e); 117 return cross->CrossSection3pi(ee); 118 } 119 120 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 121 98 122 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4eeToHadrons.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeToHadrons.hh,v 1. 9 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4eeToHadrons.hh,v 1.8 2007/05/23 08:50:41 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 70 70 71 71 // Print out of the class parameters 72 v irtual void PrintInfo();72 void PrintInfo(); 73 73 74 74 // Set the factor to artificially increase the crossSection (default 1) … … 77 77 protected: 78 78 79 v irtual void InitialiseProcess(const G4ParticleDefinition*);79 void InitialiseProcess(const G4ParticleDefinition*); 80 80 81 81 private: … … 92 92 }; 93 93 94 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 95 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 96 97 inline G4bool G4eeToHadrons::IsApplicable(const G4ParticleDefinition& p) 98 { 99 return (&p == G4Positron::Positron()); 100 } 101 94 102 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 95 103 -
trunk/source/processes/electromagnetic/highenergy/include/G4eeToHadronsModel.hh
r1006 r1007 25 25 // 26 26 // $Id: G4eeToHadronsModel.hh,v 1.7 2008/07/10 18:06:38 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 -ref-02$27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- -
trunk/source/processes/electromagnetic/highenergy/include/G4eeToHadronsMultiModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeToHadronsMultiModel.hh,v 1. 7 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4eeToHadronsMultiModel.hh,v 1.6 2008/07/10 18:06:38 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 91 91 G4double maxEnergy = DBL_MAX); 92 92 93 virtual void PrintInfo();94 95 // Set the factor to artificially increase the crossSection (default 1)96 void SetCrossSecFactor(G4double fac);97 98 93 inline G4double ComputeCrossSectionPerElectron( 99 94 const G4ParticleDefinition*, … … 101 96 G4double cutEnergy = 0.0, 102 97 G4double maxEnergy = DBL_MAX); 98 99 void PrintInfo(); 100 101 // Set the factor to artificially increase the crossSection (default 1) 102 void SetCrossSecFactor(G4double fac); 103 103 104 104 private: -
trunk/source/processes/electromagnetic/highenergy/include/G4eeToPGammaModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeToPGammaModel.hh,v 1. 2 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4eeToPGammaModel.hh,v 1.1 2008/07/10 18:07:26 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 68 68 virtual ~G4eeToPGammaModel(); 69 69 70 virtualG4double ThresholdEnergy() const;70 G4double ThresholdEnergy() const; 71 71 72 virtualG4double PeakEnergy() const;72 G4double PeakEnergy() const; 73 73 74 virtualG4double ComputeCrossSection(G4double) const;74 G4double ComputeCrossSection(G4double) const; 75 75 76 virtualG4PhysicsVector* PhysicsVector(G4double, G4double) const;76 G4PhysicsVector* PhysicsVector(G4double, G4double) const; 77 77 78 78 virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*, … … 97 97 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 98 98 99 inline G4double G4eeToPGammaModel::ThresholdEnergy() const 100 { 101 return LowEnergy(); 102 } 103 104 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 105 106 inline G4double G4eeToPGammaModel::PeakEnergy() const 107 { 108 return massR; 109 } 110 111 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 112 113 inline G4double G4eeToPGammaModel::ComputeCrossSection(G4double e) const 114 { 115 G4double ee = std::min(HighEnergy(),e); 116 G4double xs; 117 if(particle == pi0) xs = cross->CrossSectionPi0G(ee); 118 else xs = cross->CrossSectionEtaG(ee); 119 return xs; 120 } 121 122 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 123 99 124 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4eeToTwoPiModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4eeToTwoPiModel.hh,v 1. 5 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4eeToTwoPiModel.hh,v 1.4 2008/07/10 18:06:39 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 67 67 virtual ~G4eeToTwoPiModel(); 68 68 69 virtualG4double ThresholdEnergy() const;69 G4double ThresholdEnergy() const; 70 70 71 virtualG4double PeakEnergy() const;71 G4double PeakEnergy() const; 72 72 73 virtualG4double ComputeCrossSection(G4double) const;73 G4double ComputeCrossSection(G4double) const; 74 74 75 virtualG4PhysicsVector* PhysicsVector(G4double, G4double) const;75 G4PhysicsVector* PhysicsVector(G4double, G4double) const; 76 76 77 77 virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*, … … 93 93 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 94 94 95 inline G4double G4eeToTwoPiModel::ThresholdEnergy() const 96 { 97 return 2.0*massPi; 98 } 99 100 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 101 102 inline G4double G4eeToTwoPiModel::PeakEnergy() const 103 { 104 return massRho; 105 } 106 107 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 108 109 inline G4double G4eeToTwoPiModel::ComputeCrossSection(G4double e) const 110 { 111 G4double ee = std::min(HighEnergy(),e); 112 return cross->CrossSection2pi(ee); 113 } 114 115 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 116 95 117 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4hBremsstrahlung.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4hBremsstrahlung.hh,v 1. 2 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4hBremsstrahlung.hh,v 1.1 2008/03/06 11:47:10 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 72 72 virtual ~G4hBremsstrahlung(); 73 73 74 virtualG4bool IsApplicable(const G4ParticleDefinition& p);74 G4bool IsApplicable(const G4ParticleDefinition& p); 75 75 76 virtualG4double MinPrimaryEnergy(const G4ParticleDefinition* p,77 78 76 G4double MinPrimaryEnergy(const G4ParticleDefinition* p, 77 const G4Material*, 78 G4double cut); 79 79 80 80 // Print out of the class parameters 81 v irtual void PrintInfo();81 void PrintInfo(); 82 82 83 83 protected: 84 84 85 v irtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,86 85 void InitialiseEnergyLossProcess(const G4ParticleDefinition*, 86 const G4ParticleDefinition*); 87 87 88 88 private: … … 100 100 101 101 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 102 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 103 104 inline 105 G4bool G4hBremsstrahlung::IsApplicable(const G4ParticleDefinition& p) 106 { 107 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 110.0*MeV); 108 } 109 110 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 111 112 inline 113 G4double G4hBremsstrahlung::MinPrimaryEnergy(const G4ParticleDefinition*, 114 const G4Material*, 115 G4double) 116 { 117 return lowestKinEnergy; 118 } 119 120 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 102 121 103 122 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4hBremsstrahlungModel.hh
r1006 r1007 25 25 // 26 26 // $Id: G4hBremsstrahlungModel.hh,v 1.2 2008/07/22 16:15:16 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 -ref-02$27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- -
trunk/source/processes/electromagnetic/highenergy/include/G4hPairProduction.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4hPairProduction.hh,v 1. 2 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4hPairProduction.hh,v 1.1 2008/03/06 11:47:11 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 69 69 virtual ~G4hPairProduction(); 70 70 71 virtualG4bool IsApplicable(const G4ParticleDefinition& p);71 G4bool IsApplicable(const G4ParticleDefinition& p); 72 72 73 virtualG4double MinPrimaryEnergy(const G4ParticleDefinition* p,74 73 G4double MinPrimaryEnergy(const G4ParticleDefinition* p, 74 const G4Material*, G4double cut); 75 75 76 76 // Print out of the class parameters 77 v irtual void PrintInfo();77 void PrintInfo(); 78 78 79 79 protected: 80 80 81 v irtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,82 81 void InitialiseEnergyLossProcess(const G4ParticleDefinition*, 82 const G4ParticleDefinition*); 83 83 84 84 private: … … 98 98 99 99 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 100 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 101 102 inline 103 G4bool G4hPairProduction::IsApplicable(const G4ParticleDefinition& p) 104 { 105 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 110.0*MeV); 106 } 107 108 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 109 110 inline 111 G4double G4hPairProduction::MinPrimaryEnergy(const G4ParticleDefinition*, 112 const G4Material*, 113 G4double) 114 { 115 return lowestKinEnergy; 116 } 117 118 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 100 119 101 120 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4hPairProductionModel.hh
r1006 r1007 25 25 // 26 26 // $Id: G4hPairProductionModel.hh,v 1.2 2008/07/22 16:15:16 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 -ref-02$27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- -
trunk/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4hhIonisation.hh,v 1. 6 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4hhIonisation.hh,v 1.5 2007/05/23 08:50:41 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 69 69 virtual ~G4hhIonisation(); 70 70 71 virtualG4bool IsApplicable(const G4ParticleDefinition& p);71 G4bool IsApplicable(const G4ParticleDefinition& p); 72 72 73 virtualG4double MinPrimaryEnergy(const G4ParticleDefinition* p,74 73 G4double MinPrimaryEnergy(const G4ParticleDefinition* p, 74 const G4Material*, G4double cut); 75 75 76 76 // Print out of the class parameters … … 104 104 105 105 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 106 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 107 108 inline G4bool G4hhIonisation::IsApplicable(const G4ParticleDefinition& p) 109 { 110 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 100.0*MeV && 111 !p.IsShortLived()); 112 } 113 114 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 115 116 inline G4double G4hhIonisation::MinPrimaryEnergy(const G4ParticleDefinition*, 117 const G4Material*, 118 G4double cut) 119 { 120 G4double x = 0.5*cut/electron_mass_c2; 121 G4double y = electron_mass_c2/mass; 122 G4double g = x*y + std::sqrt((1. + x)*(1. + x*y*y)); 123 return mass*(g - 1.0); 124 } 125 126 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 106 127 107 128 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4mplIonisation.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4mplIonisation.hh,v 1. 6 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4mplIonisation.hh,v 1.5 2007/05/23 08:50:41 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 72 72 virtual ~G4mplIonisation(); 73 73 74 virtualG4bool IsApplicable(const G4ParticleDefinition& p);74 G4bool IsApplicable(const G4ParticleDefinition& p); 75 75 76 76 // Print out of the class parameters … … 94 94 95 95 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 96 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 97 98 inline G4bool G4mplIonisation::IsApplicable(const G4ParticleDefinition& p) 99 { 100 return (p.GetParticleName() == "monopole"); 101 } 102 103 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 96 104 97 105 #endif -
trunk/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh
r1005 r1007 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4mplIonisationModel.hh,v 1. 7 2009/02/20 16:38:33vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4mplIonisationModel.hh,v 1.6 2007/11/13 18:36:29 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 120 120 121 121 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 122 123 inline void G4mplIonisationModel::SampleSecondaries(std::vector<G4DynamicParticle*>*, 124 const G4MaterialCutsCouple*, 125 const G4DynamicParticle*, 126 G4double, 127 G4double) 128 {} 129 130 inline G4double G4mplIonisationModel::Dispersion( 131 const G4Material* material, 132 const G4DynamicParticle* dp, 133 G4double& tmax, 134 G4double& length) 135 { 136 G4double siga = 0.0; 137 G4double tau = dp->GetKineticEnergy()/mass; 138 if(tau > 0.0) { 139 G4double electronDensity = material->GetElectronDensity(); 140 G4double gam = tau + 1.0; 141 G4double invbeta2 = (gam*gam)/(tau * (tau+2.0)); 142 siga = (invbeta2 - 0.5) * twopi_mc2_rcl2 * tmax * length 143 * electronDensity * chargeSquare; 144 } 145 return siga; 146 } 147 148 149 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
Note: See TracChangeset
for help on using the changeset viewer.