- Timestamp:
- Apr 6, 2009, 12:21:12 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc
r819 r961 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4hhIonisation.cc,v 1. 6 2007/05/22 17:37:30vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-0 1-patch-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 // ------------------------------------------------------------------- … … 64 64 isInitialised(false) 65 65 { 66 minKinEnergy = 0.1*keV;67 maxKinEnergy = 100.*TeV;68 SetDEDXBinning(120);69 SetMinKinEnergy(minKinEnergy);70 SetMaxKinEnergy(maxKinEnergy);71 66 SetStepFunction(0.1, 0.1*mm); 72 67 SetVerboseLevel(1); 68 SetProcessSubType(fIonisation); 73 69 mass = 0.0; 74 70 ratio = 0.0; … … 79 75 G4hhIonisation::~G4hhIonisation() 80 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 } 81 97 82 98 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... … … 101 117 G4int nm = 1; 102 118 119 minKinEnergy = MinKinEnergy(); 120 103 121 if(eth > minKinEnergy) { 104 122 G4VEmModel* em = new G4BraggNoDeltaModel(); … … 109 127 } 110 128 111 if(eth < maxKinEnergy) {129 if(eth < MaxKinEnergy()) { 112 130 G4VEmModel* em1 = new G4BetheBlochNoDeltaModel(); 113 131 em1->SetLowEnergyLimit(std::max(eth,minKinEnergy)); 114 em1->SetHighEnergyLimit( maxKinEnergy);132 em1->SetHighEnergyLimit(MaxKinEnergy()); 115 133 AddEmModel(nm, em1, flucModel); 116 134 } 117 135 118 if(verboseLevel> 0)136 if(verboseLevel>1) { 119 137 G4cout << "G4hhIonisation is initialised: Nmodels= " << nm << G4endl; 120 138 } 121 139 isInitialised = true; 122 140 } … … 127 145 { 128 146 G4cout << " Delta-ray will not be produced; " 129 << "Bether-Bloch model for E > " << std::max(eth,minKinEnergy)130 147 << G4endl; 131 if(eth > minKinEnergy) G4cout132 << " ICRU49 parametrisation scaled from protons below.";133 G4cout << G4endl;134 148 } 135 149
Note: See TracChangeset
for help on using the changeset viewer.