Changeset 961 for trunk/source/processes/electromagnetic/lowenergy/src/G4FinalStateExcitationMillerGreen.cc
- Timestamp:
- Apr 6, 2009, 12:21:12 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/lowenergy/src/G4FinalStateExcitationMillerGreen.cc
r819 r961 24 24 // ******************************************************************** 25 25 // 26 // 27 // $Id: G4FinalStateExcitationMillerGreen.cc,v 1.2 2007/11/09 20:11:04 pia Exp $ 28 // GEANT4 tag $Name: $ 29 // 30 // Contact Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) 31 // 32 // Reference: TNS Geant4-DNA paper 33 // Reference for implementation model: NIM. 155, pp. 145-156, 1978 34 35 // History: 36 // ----------- 37 // Date Name Modification 38 // 28 Apr 2007 M.G. Pia Created in compliance with design described in TNS paper 39 // 40 // ------------------------------------------------------------------- 41 42 // Class description: 43 // Reference: TNS Geant4-DNA paper 44 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation: 45 // design foundation and implementation of the first set of models, 46 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007. 47 // Further documentation available from http://www.ge.infn.it/geant4/dna 48 49 // ------------------------------------------------------------------- 50 26 // $Id: G4FinalStateExcitationMillerGreen.cc,v 1.3 2008/07/14 20:47:34 sincerti Exp $ 27 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 51 28 52 29 #include "G4FinalStateExcitationMillerGreen.hh" 53 #include "G4Track.hh"54 #include "G4Step.hh"55 #include "G4DynamicParticle.hh"56 #include "Randomize.hh"57 30 58 #include "G4ParticleTypes.hh" 59 #include "G4ParticleDefinition.hh" 60 #include "G4Electron.hh" 61 #include "G4SystemOfUnits.hh" 62 #include "G4ParticleMomentum.hh" 31 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 63 32 64 33 G4FinalStateExcitationMillerGreen::G4FinalStateExcitationMillerGreen() 65 34 { 66 name = "ExcitationMillerGreen";67 35 lowEnergyLimit = 10 * eV; 68 36 highEnergyLimit = 10 * MeV; 69 37 } 70 38 39 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 71 40 72 41 G4FinalStateExcitationMillerGreen::~G4FinalStateExcitationMillerGreen() 73 42 {} 74 43 44 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 75 45 76 46 const G4FinalStateProduct& G4FinalStateExcitationMillerGreen::GenerateFinalState(const G4Track& track, const G4Step& /* step */) 77 47 { 78 // Clear previous secondaries, energy deposit and particle kill status79 48 product.Clear(); 80 49 81 50 const G4DynamicParticle* particle = track.GetDynamicParticle(); 82 51 83 // Kinetic energy of primary particle84 52 G4double k = particle->GetKineticEnergy(); 85 53 86 // Select excitation level on the basis of partial excitation cross section87 54 G4int level = cross.RandomSelect(k,track.GetDefinition()); 88 // Excitation energy corresponding to the selected level89 55 G4double excitationEnergy = waterStructure.ExcitationEnergy(level); 90 56 G4double newEnergy = k - excitationEnergy; 91 57 92 // ---- SI ---- Test on newEnergy93 58 if (newEnergy > 0) 94 { 95 // Deposit excitation energy locally, modify primary energy accordingly 96 // Particle direction is unchanged 97 product.ModifyPrimaryParticle(particle->GetMomentumDirection(),newEnergy); 98 product.AddEnergyDeposit(excitationEnergy); 99 } 100 101 // ---- SI ---- Particle is not modified by default otherwise 102 /* 103 else 104 { 105 // Primary particle is killed 106 product.KillPrimaryParticle(); 107 } 108 */ 59 { 60 product.ModifyPrimaryParticle(particle->GetMomentumDirection(),newEnergy); 61 product.AddEnergyDeposit(excitationEnergy); 62 } 109 63 110 64 return product;
Note: See TracChangeset
for help on using the changeset viewer.