Low Energy Electromagnetic Physics PART II - PowerPoint PPT Presentation

About This Presentation
Title:

Low Energy Electromagnetic Physics PART II

Description:

Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 ... Process Registration X-ray Fluor. else if (particleName == 'e-') { //electron ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 29
Provided by: gei1
Category:

less

Transcript and Presenter's Notes

Title: Low Energy Electromagnetic Physics PART II


1
Low Energy Electromagnetic Physics PART II
  • Alex Howard
  • Imperial College, UK
  • a.s.howard_at_ic.ac.uk
  • on behalf of the Low Energy Electromagnetic
    Working Group
  • Geant4 User Workshop
  • CERN, 11-15 November 2002

http//www.ge.infn.it/geant4/training/
2
Plan of the tutorial
  • Lecture 1
  • Overview
  • Software process
  • OOAD
  • Physics
  • Electrons and photons
  • Hadrons and ions
  • Atomic relaxation
  • Polarisation
  • Lecture 2
  • How to use LowE processes
  • Examples
  • Experimental applications
  • Outlook

3
Outline
  • How to use Geant4 LowE electromagnetic processes
  • Where to find examples
  • A selection of real-life applications
  • Space Physics X-Rays
  • Space Physics Proof Mass Charging
  • Medical Physics
  • Dark Matter
  • Outlook
  • New Physics
  • Performance Optimisation
  • Conclusions

4
Low Energy Em Physics Implementation
  • The following code is required in
    yourPhysicsList.cc
  • All code has been lifted from the relevant
    advanced examples
  • Compton scattering
  • Rayleigh scattering
  • Photoelectric effect
  • Pair production
  • Bremsstrahlung
  • Ionisation
  • Polarised Compton
  • atomic relaxation
  • fluorescence
  • Auger effect
  • following photoelectric effect and ionisation

5
brachytherapy
  • Low energy electromagnetic processes for precise
    calculation of dose distribution
  • // gamma
  • include "G4LowEnergyRayleigh.hh"
  • include "G4LowEnergyPhotoElectric.hh"
  • include "G4LowEnergyCompton.hh"
  • include "G4LowEnergyGammaConversion.hh"
  • // e-
  • include "G4LowEnergyIonisation.hh"
  • include "G4LowEnergyBremsstrahlung.hh"
  • // e
  • include "G4eIonisation.hh"
  • include "G4eBremsstrahlung.hh"
  • include "G4eplusAnnihilation.hh"

6
Brachytherapy Implementation
void BrachyPhysicsListConstructEM()
theParticleIterator-gtreset() while(
(theParticleIterator)() )
G4ParticleDefinition particle
theParticleIterator-gtvalue()
G4ProcessManager pmanager particle-gtGetProcessM
anager() G4String particleName
particle-gtGetParticleName() //processes
lowePhot new G4LowEnergyPhotoElectric("LowEnPho
toElec") loweIon new G4LowEnergyIonisation
("LowEnergyIoni") loweBrem new
G4LowEnergyBremsstrahlung("LowEnBrem") if
(particleName "gamma") //gamma
pmanager-gtAddDiscreteProcess(new
G4LowEnergyRayleigh) pmanager-gtAddDiscreteP
rocess(lowePhot) pmanager-gtAddDiscreteProce
ss(new G4LowEnergyCompton)
pmanager-gtAddDiscreteProcess(new
G4LowEnergyGammaConversion)  
else if (particleName "e-")
//electron pmanager-gtAddProcess(new
G4MultipleScattering, -1, 1,1)
pmanager-gtAddProcess(loweIon, -1, 2,2)
pmanager-gtAddProcess(loweBrem, -1,-1,3)
else if (particleName "e")
//positron pmanager-gtAddProcess(new
G4MultipleScattering, -1, 1,1)
pmanager-gtAddProcess(new G4eIonisation,
-1, 2,2) pmanager-gtAddProcess(new
G4eBremsstrahlung, -1,-1,3)
pmanager-gtAddProcess(new G4eplusAnnihilation,
0,-1,4)
7
X-ray fluorescence
  • Physics Low Energy processes, atomic relaxation
  • include "G4LowEnergyCompton.hh"
  • include "G4LowEnergyGammaConversion.hh"
  • include "G4LowEnergyPhotoElectric.hh"
  • include "G4LowEnergyRayleigh.hh"
  •  
  • // e
  • include "G4MultipleScattering.hh"
  • include "G4eIonisation.hh"
  • include "G4eBremsstrahlung.hh"
  • include "G4eplusAnnihilation.hh"
  •  
  • include "G4LowEnergyIonisation.hh"
  • include "G4LowEnergyBremsstrahlung.hh"
  • include "G4hLowEnergyIonisation.hh"
  •  

8
Process Registration X-ray Fluor
  • void XrayFluoPhysicsListConstructEM()
  • theParticleIterator-gtreset()
  • while( (theParticleIterator)() )
  • G4ParticleDefinition particle
    theParticleIterator-gtvalue()
  • G4ProcessManager pmanager
    particle-gtGetProcessManager()
  • G4String particleName particle-gtGetParticleN
    ame()
  • if (particleName "gamma")
  • // gamma
  • pmanager-gtAddDiscreteProcess(new
    G4LowEnergyCompton)
  • LePeprocess new G4LowEnergyPhotoElectric()
  • //LePeprocess-gtActivateAuger(false)
  • //LePeprocess-gtSetCutForLowEnSecPhotons(1000
    0 keV)
  • //LePeprocess-gtSetCutForLowEnSecElectrons(10
    000 keV)
  • pmanager-gtAddDiscreteProcess(LePeprocess)
  • pmanager-gtAddDiscreteProcess(new
    G4LowEnergyRayleigh)

else if (particleName "e-")
//electron pmanager-gtAddProcess(new
G4MultipleScattering,-1, 1,1) LeIoprocess
new G4LowEnergyIonisation()
//LeIoprocess-gtActivateAuger(false)
//LeIoprocess-gtSetCutForLowEnSecPhotons(10000
keV) //LeIoprocess-gtSetCutForLowEnSecElectr
ons(10000 keV) pmanager-gtAddProcess(LeIopro
cess, -1, 2, 2) LeBrprocess new
G4LowEnergyBremsstrahlung()
pmanager-gtAddProcess(LeBrprocess, -1, -1, 3)
else if (particleName "e")
//positron pmanager-gtAddProcess(new
G4MultipleScattering,-1, 1,1)
pmanager-gtAddProcess(new G4eIonisation, -1,
2,2) pmanager-gtAddProcess(new
G4eBremsstrahlung, -1,-1,3)
pmanager-gtAddProcess(new G4eplusAnnihilation,
0,-1,4)
  • else if (particleName "proton")
  • //proton
  • pmanager-gtAddProcess(new G4MultipleScatterin
    g,-1,1,1)
  • pmanager-gtAddProcess(new G4hLowEnergyIonisat
    ion,-1, 2,2)
  • else if ( particleName "alpha" )
  • pmanager-gtAddProcess(new G4MultipleScattering,-1,
    1,1)
  • G4hLowEnergyIonisation iIon new
    G4hLowEnergyIonisation()
  • pmanager-gtAddProcess(iIon,-1,2,2)

9
Underground physics
  • // Electromagnetic Processes // all charged
    particles
  •  
  • // gamma
  • include "G4LowEnergyRayleigh.hh"
  • include "G4LowEnergyPhotoElectric.hh"
  • include "G4LowEnergyCompton.hh"
  • include "G4LowEnergyGammaConversion.hh"
  •  
  • // e-
  • include "G4LowEnergyIonisation.hh"
  • include "G4LowEnergyBremsstrahlung.hh"
  •  
  • // e
  • include "G4eIonisation.hh"
  • include "G4eBremsstrahlung.hh"
  • include "G4eplusAnnihilation.hh"
  •  
  •  
  • // alpha and GenericIon and deuterons, triton,
    He3

10
Process Creation - DMX
  • void DMXPhysicsListConstructEM()
  •  
  • // processes
  • G4MultipleScattering aMultipleScattering new
    G4MultipleScattering()
  •  
  • G4LowEnergyPhotoElectric lowePhot new
    G4LowEnergyPhotoElectric()
  • G4LowEnergyIonisation loweIon new
    G4LowEnergyIonisation()
  • G4LowEnergyBremsstrahlung loweBrem new
    G4LowEnergyBremsstrahlung()
  • // fluorescence specific cuts for flourescence
  • // from photons, electrons and bremsstrahlung
    photons
  •  
  • G4double fluorcut 250eV
  • lowePhot-gtSetCutForLowEnSecPhotons(fluorcut)
  • loweIon -gtSetCutForLowEnSecPhotons(fluorcut)
  • loweBrem-gtSetCutForLowEnSecPhotons(fluorcut)
  •  
  •  

11
Hadron Ionisation Choosing a model
  • G4hLowEnergyIonisation ahadronLowEIon new
    G4hLowEnergyIonisation()
  • ahadronLowEIon-gtSetNuclearStoppingPowerModel("IC
    RU_R49")
  • ahadronLowEIon-gtSetNuclearStoppingOn()
  •  
  • // ahadronLowEIon-gtSetElectronicStoppingPower
    Model
  • // (G4GenericIonGenericIonDefinition(),
    "ICRU_R49p")
  • // ahadronLowEIon-gtSetElectronicStoppingPower
    Model
  • // (G4ProtonProtonDefinition(),
    "ICRU_R49p")
  • // Switch off the Barkas and Bloch corrections
  • ahadronLowEIon-gtSetBarkasOff()
  • // Switch off hadron-induced fluorescence (for
    now)
  • ahadronLowEIon-gtSetFluorescence(false)
  • // NOTE the same G4hLowEnergyIonisation
    process is applied to all hadrons, which need not
    be the case!

12
Attaching Processes to Particles
  • theParticleIterator-gtreset()
  • while( (theParticleIterator)() )
  • G4ParticleDefinition particle
    theParticleIterator-gtvalue()
  •  
  • G4ProcessManager pmanager
    particle-gtGetProcessManager()
  • G4String particleName
    particle-gtGetParticleName()
  • G4String particleType
    particle-gtGetParticleType()
  • G4double particleCharge
    particle-gtGetPDGCharge()
  • // gamma
  • if (particleName "gamma")
  • pmanager-gtAddDiscreteProcess(new
    G4LowEnergyRayleigh())
  • pmanager-gtAddDiscreteProcess(lowePhot)
  • pmanager-gtAddDiscreteProcess(new
    G4LowEnergyCompton())
  • pmanager-gtAddDiscreteProcess(new
    G4LowEnergyGammaConversion())

13
Attaching Processes to Particles
  • // electron
  • else if (particleName "e-")
  • // process ordering AddProcess(name, at
    rest, along step, post step)
  • // -1 not implemented, then ordering
  • pmanager-gtAddProcess(aMultipleScattering,
    -1, 1, 1)
  • pmanager-gtAddProcess(loweIon,
    -1, 2, 2)
  • pmanager-gtAddProcess(loweBrem,
    -1,-1, 3)
  • // positron
  • else if (particleName "e")
  • pmanager-gtAddProcess(aMultipleScattering,
    -1, 1, 1)
  • pmanager-gtAddProcess(new G4eIonisation(),
    -1, 2, 2)
  • pmanager-gtAddProcess(new
    G4eBremsstrahlung(), -1,-1, 3)
  • pmanager-gtAddProcess(new
    G4eplusAnnihilation(), 0,-1, 4)

14
Attaching Processes to Particles
  • // muons
  • else if( particleName "mu"
  • particleName "mu-" )
  • pmanager-gtAddProcess(aMultipleScattering,
    -1, 1, 1)
  • pmanager-gtAddProcess(new
    G4MuIonisation(), -1, 2, 2)
  • pmanager-gtAddProcess(new
    G4MuBremsstrahlung(), -1,-1, 3)
  • pmanager-gtAddProcess(new
    G4MuPairProduction(), -1,-1, 4)
  • if( particleName "mu-" )
  • pmanager-gtAddProcess(new
    G4MuonMinusCaptureAtRest(), 0,-1,-1)
  • // charged hadrons
  • else if (particleName "proton"
  • particleName "alpha"
  • particleName "deuteron"
  • particleName "triton"
  • particleName "He3"
  • particleName "GenericIon"
  • (particleType "nucleus"
    particleCharge ! 0))

15
Attaching Processes to Particles
  • // OBJECT may be dynamically created as
    either a GenericIon or nucleus
  • pmanager-gtAddProcess(aMultipleScattering,
    -1, 1, 1)
  • pmanager-gtAddProcess(ahadronLowEIon,
    -1, 2, 2)
  • // all other charged particles except
    geantino
  • else if ((!particle-gtIsShortLived())
  • (particleCharge ! 0.0)
  • (particleName !
    "chargedgeantino"))
  • pmanager-gtAddProcess(aMultipleScattering,
    -1, 1, 1)
  • pmanager-gtAddProcess(ahadronLowEIon,
    -1, 2, 2)
  •  

16
Setting Energy Cuts
  • //special for low energy physics
  • G4double lowlimit250eV
  • G4Gamma SetEnergyRange(lowlimit,100GeV)
  • G4ElectronSetEnergyRange(lowlimit,100GeV)
  • G4PositronSetEnergyRange(lowlimit,100GeV)

17
Validation of Low Energy Physics Some (biased)
examples
  • Two examples of Low Energy Physics Implementation
    and Validation that I have experience in
  • UNDERGROUND (DARK MATTER) SIMULATION DMX
  • Low energy gammas, electrons, hadrons and
    secondary production
  • GRAVITATIONAL WAVE LISA (Proof Mass Charging)
  • All electromagnetic processes that can lead to
    residual charge,
  • In particular secondary production

18
g
upwards
through
Xe shell
Pb compton
19
241Am spectrum
experimental
20
g spectrum
experimental
21
Time Constant Discrimination
Geant4 Output
Experimental Data
  • Red Curve Alphas
  • Blue Curve Gammas

22
Geant4 Simulationof Test-Mass Chargingin the
LISA Mission
     
  • Very long base-line 1 million km
  • Very high precision lt 1nm 1pm (!)

23
Physics List
EM processes (LowE) Electrons, Gammas, etc Atomic
de-excitation Hadrons (no hFluorescence)
Secondaries Cuts (250 eV), 1mm - 5mm Kill e-
outside caging
24
Results I
45 s exposure 10,000,000 events 1 charging
event 2,000 events 40,000 events/day/CPU
Charging rate
G4 result 58 e/s
(G3 result 11 e/s)
52 e/s
6 e/s
25
Results II
Cuts
1 um 8.77 keV 41 e/s
(0.1 um) 250 eV 52 e/s
2 um 30.7 keV 40 e/s
5 um 53.2 keV 42 e/s
Energy of Primary, MeV
Decreasing the production threshold from 10 keV
(G3, G4EM) to 250 eV (G4LowE) leads to a 20
increase of the charging rate!
26
Other Users SPACE and Cosmic Ray
27
The Future
  • In progress
  • Polarised g conversion, photoelectric
  • More precise angular distributions (Rayleigh,
    photoelectric, Bremsstrahlung etc.)
  • Foreseen
  • New models, based on different physics approaches
  • Processes for positrons
  • Performance Optimisation and Enhancement
  • Development plan
  • Driven by user requirements
  • Schedule compatible with available resources

28
To learn more
Conclusions
  • Low Energy EM Physics implementation has been
    demonstrated
  • Its use within actual examples demonstrate
  • Validation with experimental data has been
    carried out (ongoing)
  • There are still low energy EM physics areas that
    are being developed
  • Performance optimisation, benchmarking and
    testing are being initiated.
  • Geant4 Physics Reference Manual
  • Application Developer Guide
  • http//www.ge.infn.it/geant4/lowE
Write a Comment
User Comments (0)
About PowerShow.com