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/G4CrossSectionChargeDecrease.cc

    r819 r961  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4CrossSectionChargeDecrease.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 // Geant4-DNA Cross total cross section for electron elastic scattering in water
    44 // Reference: TNS Geant4-DNA paper
    45 // S. Chauvie et al., Geant4 physics processes for microdosimetry simulation:
    46 // design foundation and implementation of the first set of models,
    47 // IEEE Trans. Nucl. Sci., vol. 54, no. 6, Dec. 2007.
    48 // Further documentation available from http://www.ge.infn.it/geant4/dna
    49 
    50 // -------------------------------------------------------------------
    51 
     26// $Id: G4CrossSectionChargeDecrease.cc,v 1.4 2008/07/14 20:47:34 sincerti Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    5228
    5329#include "G4CrossSectionChargeDecrease.hh"
    54 #include "G4Track.hh"
    55 #include "G4DynamicParticle.hh"
    56 #include "G4Proton.hh"
    57 #include "G4CrossSectionExcitationEmfietzoglouPartial.hh"
    58 #include "G4DNAGenericIonsManager.hh"
     30
     31//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    5932
    6033G4CrossSectionChargeDecrease::G4CrossSectionChargeDecrease()
    6134{
    62   // Default energy limits (defined for protection against anomalous behaviour only)
    63   name = "ChargeDecrease";
    6435  lowEnergyLimitDefault = 1 * keV;
    6536  highEnergyLimitDefault = 10 * MeV;
     
    7647
    7748  if (protonDef != 0)
    78     {
    79       proton = protonDef->GetParticleName();
    80       lowEnergyLimit[proton] = 1. * keV;
    81       highEnergyLimit[proton] = 10. * keV;
    82     }
     49  {
     50    proton = protonDef->GetParticleName();
     51    lowEnergyLimit[proton] = 1. * keV;
     52    highEnergyLimit[proton] = 10. * MeV;
     53  }
    8354  else
    84     {
    85       G4Exception("G4CrossSectionChargeDecrease Constructor: proton is not defined");
    86     }
     55  {
     56    G4Exception("G4CrossSectionChargeDecrease Constructor: proton is not defined");
     57  }
    8758
    8859  if (alphaPlusPlusDef != 0)
    89     {
    90       alphaPlusPlus = alphaPlusPlusDef->GetParticleName();
    91       lowEnergyLimit[alphaPlusPlus] = 1. * keV;
    92       highEnergyLimit[alphaPlusPlus] = 10. * MeV;
    93     }
     60  {
     61    alphaPlusPlus = alphaPlusPlusDef->GetParticleName();
     62    lowEnergyLimit[alphaPlusPlus] = 1. * keV;
     63    highEnergyLimit[alphaPlusPlus] = 10. * MeV;
     64  }
    9465  else
    95     {
    96       G4Exception("G4CrossSectionChargeDecrease Constructor: alphaPlusPlus is not defined");
    97     }
     66  {
     67    G4Exception("G4CrossSectionChargeDecrease Constructor: alphaPlusPlus is not defined");
     68  }
    9869
    9970  if (alphaPlusDef != 0)
    100     {
    101       alphaPlus = alphaPlusDef->GetParticleName();
    102       lowEnergyLimit[alphaPlus] = 1. * keV;
    103       highEnergyLimit[alphaPlus] = 10. * MeV;
    104     }
     71  {
     72    alphaPlus = alphaPlusDef->GetParticleName();
     73    lowEnergyLimit[alphaPlus] = 1. * keV;
     74    highEnergyLimit[alphaPlus] = 10. * MeV;
     75  }
    10576  else
    106     {
    107       G4Exception("G4CrossSectionChargeDecrease Constructor: alphaPlus is not defined");
    108     }
     77  {
     78    G4Exception("G4CrossSectionChargeDecrease Constructor: alphaPlus is not defined");
     79  }
    10980
    11081}
    11182
     83//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    11284
    11385G4CrossSectionChargeDecrease::~G4CrossSectionChargeDecrease()
    11486{}
    11587 
     88//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    11689
    11790G4double G4CrossSectionChargeDecrease::CrossSection(const G4Track& track)
     
    140113    G4Exception("G4CrossSectionChargeDecrease: attempting to calculate cross section for wrong particle");
    141114
    142   // Retrieve energy limits for the current particle type
    143 
    144115  std::map< G4String,G4double,std::less<G4String> >::iterator pos1;
    145116  pos1 = lowEnergyLimit.find(particleName);
    146117
    147   // Lower limit
    148118  if (pos1 != lowEnergyLimit.end())
    149     {
    150       lowLim = pos1->second;
    151     }
     119  {
     120    lowLim = pos1->second;
     121  }
    152122
    153   // Upper limit
    154123  std::map< G4String,G4double,std::less<G4String> >::iterator pos2;
    155124  pos2 = highEnergyLimit.find(particleName);
    156125
    157126  if (pos2 != highEnergyLimit.end())
    158     {
    159       highLim = pos2->second;
    160     }
    161 
    162   //
     127  {
     128    highLim = pos2->second;
     129  }
    163130
    164131  G4double crossSection(0.);
    165132  if (k >= lowLim && k <= highLim)
    166     {
     133  {
    167134      crossSection = partialCrossSection.Sum(k,particleDefinition);
    168     }
     135  }
    169136 
    170137  return crossSection;
Note: See TracChangeset for help on using the changeset viewer.