Changeset 991 for trunk/source/processes/electromagnetic/muons/src
- Timestamp:
- Apr 17, 2009, 12:17:14 PM (15 years ago)
- Location:
- trunk/source/processes/electromagnetic/muons/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/muons/src/G4EnergyLossForExtrapolator.cc
r961 r991 25 25 // 26 26 // $Id: G4EnergyLossForExtrapolator.cc,v 1.18 2008/11/13 14:14:07 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/muons/src/G4MuBetheBlochModel.cc
r961 r991 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuBetheBlochModel.cc,v 1.2 5 2009/02/20 14:48:16vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4MuBetheBlochModel.cc,v 1.24 2008/03/25 12:31:04 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 88 88 theElectron = G4Electron::Electron(); 89 89 corr = G4LossTableManager::Instance()->EmCorrections(); 90 fParticleChange = 0;91 90 92 91 if(p) SetParticle(p); … … 100 99 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 101 100 101 void G4MuBetheBlochModel::SetParticle(const G4ParticleDefinition* p) 102 { 103 if(!particle) { 104 particle = p; 105 mass = particle->GetPDGMass(); 106 massSquare = mass*mass; 107 ratio = electron_mass_c2/mass; 108 } 109 } 110 111 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 112 102 113 G4double G4MuBetheBlochModel::MinEnergyCut(const G4ParticleDefinition*, 103 114 const G4MaterialCutsCouple* couple) … … 106 117 } 107 118 108 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....109 110 G4double G4MuBetheBlochModel::MaxSecondaryEnergy(const G4ParticleDefinition*,111 G4double kinEnergy)112 {113 G4double tau = kinEnergy/mass;114 G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) /115 (1. + 2.0*(tau + 1.)*ratio + ratio*ratio);116 return tmax;117 }118 119 119 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 120 120 … … 124 124 if(p) SetParticle(p); 125 125 126 if(!fParticleChange) { 127 if(pParticleChange) { 128 fParticleChange = 129 reinterpret_cast<G4ParticleChangeForLoss*>(pParticleChange); 130 } else { 131 fParticleChange = new G4ParticleChangeForLoss(); 132 } 133 } 126 if(pParticleChange) 127 fParticleChange = reinterpret_cast<G4ParticleChangeForLoss*> 128 (pParticleChange); 129 else 130 fParticleChange = new G4ParticleChangeForLoss(); 134 131 } 135 132 -
trunk/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc
r961 r991 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuBremsstrahlung.cc,v 1.4 2 2009/02/20 14:48:16vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4MuBremsstrahlung.cc,v 1.41 2008/10/16 13:37:04 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 93 93 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 94 94 95 G4bool G4MuBremsstrahlung::IsApplicable(const G4ParticleDefinition& p)96 {97 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);98 }99 100 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....101 102 G4double G4MuBremsstrahlung::MinPrimaryEnergy(const G4ParticleDefinition*,103 const G4Material*,104 G4double)105 {106 return lowestKinEnergy;107 }108 109 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....110 111 95 void G4MuBremsstrahlung::InitialiseEnergyLossProcess( 112 96 const G4ParticleDefinition* part, -
trunk/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc
r961 r991 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuBremsstrahlungModel.cc,v 1.3 3 2009/02/20 14:48:16vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4MuBremsstrahlungModel.cc,v 1.32 2008/07/22 16:11:34 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 111 111 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 112 112 113 G4double G4MuBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition*,114 const G4MaterialCutsCouple*)115 {116 return minThreshold;117 }118 119 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......120 121 113 void G4MuBremsstrahlungModel::Initialise(const G4ParticleDefinition* p, 122 114 const G4DataVector& cuts) … … 139 131 if(nn > 0) { 140 132 for (G4int ii=0; ii<nn; ii++){ 141 G4DataVector* a =partialSumSigma[ii];133 G4DataVector* a=partialSumSigma[ii]; 142 134 if ( a ) delete a; 143 135 } -
trunk/source/processes/electromagnetic/muons/src/G4MuIonisation.cc
r961 r991 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuIonisation.cc,v 1.5 9 2009/02/26 11:04:20vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4MuIonisation.cc,v 1.57 2008/10/27 10:55:07 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 86 86 #include "G4MuBetheBlochModel.hh" 87 87 #include "G4UniversalFluctuation.hh" 88 #include "G4IonFluctuations.hh"89 88 #include "G4BohrFluctuations.hh" 90 89 #include "G4UnitsTable.hh" … … 113 112 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 114 113 115 G4bool G4MuIonisation::IsApplicable(const G4ParticleDefinition& p)116 {117 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);118 }119 120 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....121 122 G4double G4MuIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,123 const G4Material*,124 G4double cut)125 {126 G4double x = 0.5*cut/electron_mass_c2;127 G4double g = x*ratio + std::sqrt((1. + x)*(1. + x*ratio*ratio));128 return mass*(g - 1.0);129 }130 131 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....132 133 114 void G4MuIonisation::InitialiseEnergyLossProcess(const G4ParticleDefinition* part, 134 115 const G4ParticleDefinition* bpart) … … 142 123 SetSecondaryParticle(G4Electron::Electron()); 143 124 144 // Bragg peak model 145 if (!EmModel(1)) SetEmModel(new G4BraggModel(),1); 146 EmModel(1)->SetLowEnergyLimit(MinKinEnergy()); 147 EmModel(1)->SetHighEnergyLimit(0.2*MeV); 148 AddEmModel(1, EmModel(1), new G4IonFluctuations()); 125 flucModel = new G4UniversalFluctuation(); 149 126 150 // high energy fluctuation model 151 if (!FluctModel()) SetFluctModel(new G4UniversalFluctuation()); 152 153 // moderate energy model 154 if (!EmModel(2)) SetEmModel(new G4BetheBlochModel(),2); 155 EmModel(2)->SetLowEnergyLimit(0.2*MeV); 156 EmModel(2)->SetHighEnergyLimit(1.0*GeV); 157 AddEmModel(2, EmModel(2), FluctModel()); 158 159 // high energy model 160 if (!EmModel(3)) SetEmModel(new G4MuBetheBlochModel(),3); 161 EmModel(3)->SetLowEnergyLimit(1.0*GeV); 162 EmModel(3)->SetHighEnergyLimit(MaxKinEnergy()); 163 AddEmModel(3, EmModel(3), FluctModel()); 127 G4VEmModel* em = new G4BraggModel(); 128 em->SetLowEnergyLimit(MinKinEnergy()); 129 em->SetHighEnergyLimit(0.2*MeV); 130 AddEmModel(1, em, flucModel); 131 G4VEmModel* em1 = new G4BetheBlochModel(); 132 em1->SetLowEnergyLimit(0.2*MeV); 133 em1->SetHighEnergyLimit(1.0*GeV); 134 AddEmModel(2, em1, flucModel); 135 G4VEmModel* em2 = new G4MuBetheBlochModel(); 136 em2->SetLowEnergyLimit(1.0*GeV); 137 em2->SetHighEnergyLimit(MaxKinEnergy()); 138 AddEmModel(3, em2, flucModel); 164 139 165 140 ratio = electron_mass_c2/mass; -
trunk/source/processes/electromagnetic/muons/src/G4MuMultipleScattering.cc
r961 r991 25 25 // 26 26 // $Id: G4MuMultipleScattering.cc,v 1.12 2008/10/16 13:37:04 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/muons/src/G4MuPairProduction.cc
r961 r991 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuPairProduction.cc,v 1.5 2 2009/02/20 14:48:16vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4MuPairProduction.cc,v 1.51 2008/10/16 13:37:04 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 100 100 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 101 101 102 G4bool G4MuPairProduction::IsApplicable(const G4ParticleDefinition& p)103 {104 return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);105 }106 107 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....108 109 G4double G4MuPairProduction::MinPrimaryEnergy(const G4ParticleDefinition*,110 const G4Material*,111 G4double)112 {113 return lowestKinEnergy;114 }115 116 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....117 118 102 void G4MuPairProduction::InitialiseEnergyLossProcess( 119 103 const G4ParticleDefinition* part, -
trunk/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc
r961 r991 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4MuPairProductionModel.cc,v 1. 40 2009/02/20 14:48:16vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-02 -ref-02$26 // $Id: G4MuPairProductionModel.cc,v 1.39 2008/07/22 16:11:34 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-02 $ 28 28 // 29 29 // ------------------------------------------------------------------- … … 137 137 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 138 138 139 G4double G4MuPairProductionModel::MinEnergyCut(const G4ParticleDefinition*,140 const G4MaterialCutsCouple* )141 {142 return minPairEnergy;143 }144 145 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......146 147 G4double G4MuPairProductionModel::MaxSecondaryEnergy(const G4ParticleDefinition*,148 G4double kineticEnergy)149 {150 G4double maxPairEnergy = kineticEnergy + particleMass*(1.0 - 0.75*sqrte*z13);151 return maxPairEnergy;152 }153 154 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......155 156 139 void G4MuPairProductionModel::Initialise(const G4ParticleDefinition* p, 157 140 const G4DataVector&)
Note: See TracChangeset
for help on using the changeset viewer.