Ignore:
Timestamp:
Apr 6, 2009, 12:21:12 PM (15 years ago)
Author:
garnier
Message:

update processes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/electromagnetic/lowenergy/src/G4FinalStateExcitationEmfietzoglou.cc

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4FinalStateExcitationEmfietzoglou.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: G4FinalStateExcitationEmfietzoglou.cc,v 1.5 2008/12/05 11:58:16 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5128
    5229#include "G4FinalStateExcitationEmfietzoglou.hh"
    53 #include "G4Track.hh"
    54 #include "G4Step.hh"
    55 #include "G4DynamicParticle.hh"
    56 #include "Randomize.hh"
    5730
    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......
    6332
    6433G4FinalStateExcitationEmfietzoglou::G4FinalStateExcitationEmfietzoglou()
    6534{
    66   name = "FinalStateExcitationEmfietzoglou";
    67   lowEnergyLimit = 7.4 * eV;
     35  lowEnergyLimit = 8.23 * eV;
    6836  highEnergyLimit = 10 * MeV;
    6937}
    7038
     39//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    7140
    7241G4FinalStateExcitationEmfietzoglou::~G4FinalStateExcitationEmfietzoglou()
    73 {
    74   // empty
    75   // G4DynamicParticle objects produced are owned by client
    76 }
     42{}
    7743 
     44//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    7845
    7946const G4FinalStateProduct& G4FinalStateExcitationEmfietzoglou::GenerateFinalState(const G4Track& track, const G4Step& /* step */)
    8047{
    81   // Clear previous secondaries, energy deposit and particle kill status
    8248  product.Clear();
    8349
    8450  const G4DynamicParticle* particle = track.GetDynamicParticle();
    8551
    86   // Kinetic energy of primary particle
    8752  G4double k = particle->GetKineticEnergy();
    8853
    89   // Select excitation level on the basis of partial excitation cross section
    9054  G4int level = cross.RandomSelect(k);
    91   // Excitation energy corresponding to the selected level
     55
    9256  G4double excitationEnergy = waterStructure.ExcitationEnergy(level);
    9357  G4double newEnergy = k - excitationEnergy;
    9458 
    95   if (newEnergy > lowEnergyLimit)
    96     {
    97       // Deposit excitation energy locally, modify primary energy accordingly
    98       // Particle direction is unchanged
     59  if (newEnergy >= lowEnergyLimit)
     60  {
    9961      product.ModifyPrimaryParticle(particle->GetMomentumDirection(),newEnergy);
    10062      product.AddEnergyDeposit(excitationEnergy);
    101     }
    102   else
    103     {
    104       // Primary particle is killed
    105       product.KillPrimaryParticle();
    106     }
     63  }
     64 
     65  else product.KillPrimaryParticle();
    10766
    10867  return product;
    10968}
    11069
    111 
Note: See TracChangeset for help on using the changeset viewer.