Ignore:
Timestamp:
Jan 8, 2010, 3:02:48 PM (14 years ago)
Author:
garnier
Message:

update to geant4.9.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc

    r807 r1230  
    3636//    **********************************
    3737//
    38 // $Id: BrachyPhysicsList.cc,v 1.13 2006/11/15 10:02:17 guatelli Exp $
    39 // GEANT4 tag $Name: $
     38// $Id: BrachyPhysicsList.cc,v 1.14 2009/11/12 02:50:51 cirrone Exp $
     39// GEANT4 tag $Name: geant4-09-03-cand-01 $
    4040//
    4141#include "BrachyPhysicsList.hh"
     
    4747#include "G4UnitsTable.hh"
    4848#include "G4ios.hh"             
    49 
    5049#include "G4MultipleScattering.hh"
    5150// gamma
    52 #include "G4LowEnergyRayleigh.hh"
    53 #include "G4LowEnergyPhotoElectric.hh"
    54 #include "G4LowEnergyCompton.hh" 
    55 #include "G4LowEnergyGammaConversion.hh"
     51#include "G4PhotoElectricEffect.hh"
     52#include "G4LivermorePhotoElectricModel.hh"
     53
     54#include "G4ComptonScattering.hh"
     55#include "G4LivermoreComptonModel.hh"
     56
     57#include "G4GammaConversion.hh"
     58#include "G4LivermoreGammaConversionModel.hh"
     59
     60#include "G4RayleighScattering.hh"
     61#include "G4LivermoreRayleighModel.hh"
     62
    5663// e-
    57 #include "G4LowEnergyIonisation.hh"
    58 #include "G4LowEnergyBremsstrahlung.hh"
     64#include "G4eMultipleScattering.hh"
     65#include "G4eIonisation.hh"
     66#include "G4LivermoreIonisationModel.hh"
     67#include "G4eBremsstrahlung.hh"
     68#include "G4LivermoreBremsstrahlungModel.hh"
     69
    5970// e+
    6071#include "G4eIonisation.hh"
     
    8091  ConstructBosons();
    8192  ConstructLeptons();
     93
    8294}
    8395
     
    114126   
    115127    if (particleName == "gamma") {
     128     
    116129      // Photon     
    117       pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh);
    118       pmanager->AddDiscreteProcess(new G4LowEnergyPhotoElectric);
    119       pmanager->AddDiscreteProcess(new G4LowEnergyCompton);
    120       pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion);
     130      G4RayleighScattering* theRayleigh = new G4RayleighScattering();
     131      theRayleigh->SetModel(new G4LivermoreRayleighModel());  //not strictly necessary
     132      pmanager->AddDiscreteProcess(theRayleigh);
     133
     134      G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect();
     135      thePhotoElectricEffect->SetModel(new G4LivermorePhotoElectricModel());
     136      pmanager->AddDiscreteProcess(thePhotoElectricEffect);
     137       
     138      G4ComptonScattering* theComptonScattering = new G4ComptonScattering();
     139      theComptonScattering->SetModel(new G4LivermoreComptonModel());
     140      pmanager->AddDiscreteProcess(theComptonScattering);
     141       
     142      G4GammaConversion* theGammaConversion = new G4GammaConversion();
     143      theGammaConversion->SetModel(new G4LivermoreGammaConversionModel());
     144      pmanager->AddDiscreteProcess(theGammaConversion);
    121145     
    122146    } else if (particleName == "e-") {
    123147      // Electron
    124       G4LowEnergyIonisation*     loweIon  = new G4LowEnergyIonisation("LowEnergyIoni");
    125 
    126       G4LowEnergyBremsstrahlung* loweBrem = new G4LowEnergyBremsstrahlung("LowEnBrem");
    127       // Select the Bremsstrahlung angular distribution model (Tsai/2BN/2BS)
    128       loweBrem->SetAngularGenerator("tsai");
    129    
    130       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
    131       pmanager->AddProcess(loweIon,     -1, 2,2);
    132       pmanager->AddProcess(loweBrem,    -1,-1,3);     
     148     
     149      G4eMultipleScattering* msc = new G4eMultipleScattering();
     150      msc->SetStepLimitType(fUseDistanceToBoundary);
     151      pmanager->AddProcess(msc,-1, 1, 1);
     152
     153      // Ionisation
     154      G4eIonisation* eIonisation = new G4eIonisation();
     155      eIonisation->SetEmModel(new G4LivermoreIonisationModel());
     156      eIonisation->SetStepFunction(0.2, 100*um); //improved precision in tracking 
     157      pmanager->AddProcess(eIonisation,-1, 2, 2);
     158       
     159      // Bremsstrahlung
     160      G4eBremsstrahlung* eBremsstrahlung = new G4eBremsstrahlung();
     161      eBremsstrahlung->SetEmModel(new G4LivermoreBremsstrahlungModel());
     162      pmanager->AddProcess(eBremsstrahlung, -1,-3, 3);
    133163     
    134164    } else if (particleName == "e+") {
    135165      // Positron     
    136       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
    137       pmanager->AddProcess(new G4eIonisation,        -1, 2,2);
    138       pmanager->AddProcess(new G4eBremsstrahlung,    -1,-1,3);
    139       pmanager->AddProcess(new G4eplusAnnihilation,   0,-1,4);     
     166      G4eMultipleScattering* msc = new G4eMultipleScattering();
     167      msc->SetStepLimitType(fUseDistanceToBoundary);
     168      pmanager->AddProcess(msc,-1, 1, 1);
     169       
     170      // Ionisation
     171      G4eIonisation* eIonisation = new G4eIonisation();
     172      eIonisation->SetStepFunction(0.2, 100*um); //     
     173      pmanager->AddProcess(eIonisation,                 -1, 2, 2);
     174
     175      //Bremsstrahlung (use default, no low-energy available)
     176      pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3);
     177
     178      //Annihilation
     179      pmanager->AddProcess(new G4eplusAnnihilation(),0,-1, 4);     
    140180     
    141181    }
Note: See TracChangeset for help on using the changeset viewer.