Upload
meredith-newton
View
217
Download
3
Embed Size (px)
Citation preview
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 1
Low Energy Electromagnetic Physics Low Energy Electromagnetic Physics PART IIPART II
Low Energy Electromagnetic Physics Low Energy Electromagnetic Physics PART IIPART II
Alex HowardImperial College, UK
[email protected] behalf of the Low Energy Electromagnetic Working Group
Geant4 User WorkshopCERN, 11-15 November 2002
http://www.ge.infn.it/geant4/training/
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 2
Plan of the tutorialPlan of the tutorialPlan of the tutorialPlan of the tutorial
Lecture 1Lecture 1
Overview
Software process
OOAD
Physics – Electrons and photons
– Hadrons and ions
– Atomic relaxation
– Polarisation
Lecture 2Lecture 2
How to use LowE processes
Examples
Experimental applications
Outlook
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 3
OutlineOutlineOutlineOutline
1) How to use Geant4 LowE electromagnetic processes
2) Where to find examples
3) A selection of real-life applications1) Space Physics – X-Rays2) Space Physics – Proof Mass Charging3) Medical Physics4) Dark Matter
4) Outlook1) New Physics2) Performance Optimisation
5) Conclusions
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 4
Low Energy Em Physics Low Energy Em Physics Implementation:Implementation:Low Energy Em Physics Low Energy Em Physics Implementation:Implementation:
Compton scattering
Rayleigh scattering
Photoelectric effect
Pair production
Bremsstrahlung
Ionisation
Polarised Compton
+ atomic relaxation– fluorescence
– Auger effect following photoelectric effect and
ionisation
The following code is required in yourPhysicsList.cc
[All code has been lifted from the relevant advanced examples]
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 5
brachytherapybrachytherapybrachytherapybrachytherapy
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"
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 6
void BrachyPhysicsList::ConstructEM()
{
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
//processes
lowePhot = new G4LowEnergyPhotoElectric("LowEnPhotoElec");
loweIon = new G4LowEnergyIonisation("LowEnergyIoni");
loweBrem = new G4LowEnergyBremsstrahlung("LowEnBrem");
if (particleName == "gamma") {
//gamma
pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh);
pmanager->AddDiscreteProcess(lowePhot);
pmanager->AddDiscreteProcess(new G4LowEnergyCompton);
pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion);
Brachytherapy ImplementationBrachytherapy ImplementationBrachytherapy ImplementationBrachytherapy Implementation} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
pmanager->AddProcess(loweIon, -1, 2,2);
pmanager->AddProcess(loweBrem, -1,-1,3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
}
}
}
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 7
X-ray fluorescenceX-ray fluorescenceX-ray fluorescenceX-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"
sampledetector
beam
Scattered
photons
Fe lines
GaAs lines
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 8
void XrayFluoPhysicsList::ConstructEM(){ theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); if (particleName == "gamma") { // gamma pmanager->AddDiscreteProcess(new G4LowEnergyCompton); LePeprocess = new G4LowEnergyPhotoElectric(); //LePeprocess->ActivateAuger(false); //LePeprocess->SetCutForLowEnSecPhotons(10000 * keV); //LePeprocess->SetCutForLowEnSecElectrons(10000 * keV); pmanager->AddDiscreteProcess(LePeprocess); pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh); }
Process Registration X-ray FluorProcess Registration X-ray FluorProcess Registration X-ray FluorProcess Registration X-ray Fluorelse if (particleName == "e-") { //electron pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); LeIoprocess = new G4LowEnergyIonisation(); //LeIoprocess->ActivateAuger(false); //LeIoprocess->SetCutForLowEnSecPhotons(10000 keV); //LeIoprocess->SetCutForLowEnSecElectrons(10000 keV); pmanager->AddProcess(LeIoprocess, -1, 2, 2); LeBrprocess = new G4LowEnergyBremsstrahlung(); pmanager->AddProcess(LeBrprocess, -1, -1, 3); } else if (particleName == "e+") { //positron pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); pmanager->AddProcess(new G4eIonisation, -1, 2,2); pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); }
else if (particleName == "proton") { //proton pmanager->AddProcess(new G4MultipleScattering,-1,1,1); pmanager->AddProcess(new G4hLowEnergyIonisation,-1, 2,2); } else if ( particleName == "alpha" ) {
pmanager->AddProcess(new G4MultipleScattering,-1,1,1);G4hLowEnergyIonisation* iIon = new
G4hLowEnergyIonisation() ;pmanager->AddProcess(iIon,-1,2,2);
} }}
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 9
Underground physicsUnderground physicsUnderground physicsUnderground physics
LXeGXe
PMT
mirror
source
// 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:#include "G4hLowEnergyIonisation.hh"#include "G4EnergyLossTables.hh" //muon:#include "G4MuIonisation.hh"#include "G4MuBremsstrahlung.hh"#include "G4MuPairProduction.hh"#include "G4MuonMinusCaptureAtRest.hh"
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 10
Process Creation - DMXProcess Creation - DMXProcess Creation - DMXProcess Creation - DMXvoid DMXPhysicsList::ConstructEM() { // 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 = 250*eV; lowePhot->SetCutForLowEnSecPhotons(fluorcut); loweIon ->SetCutForLowEnSecPhotons(fluorcut); loweBrem->SetCutForLowEnSecPhotons(fluorcut);
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 11
Hadron Ionisation – Choosing a Hadron Ionisation – Choosing a modelmodelHadron Ionisation – Choosing a Hadron Ionisation – Choosing a modelmodel
G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation();
ahadronLowEIon->SetNuclearStoppingPowerModel("ICRU_R49") ; ahadronLowEIon->SetNuclearStoppingOn() ; // ahadronLowEIon->SetElectronicStoppingPowerModel // (G4GenericIon::GenericIonDefinition(), "ICRU_R49p") ; // ahadronLowEIon->SetElectronicStoppingPowerModel // (G4Proton::ProtonDefinition(), "ICRU_R49p") ; // Switch off the Barkas and Bloch corrections ahadronLowEIon->SetBarkasOff(); // Switch off hadron-induced fluorescence (for now) ahadronLowEIon->SetFluorescence(false); // NOTE: the same G4hLowEnergyIonisation process is applied to
all hadrons, which need not be the case!
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 12
theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); G4String particleType = particle->GetParticleType(); G4double particleCharge = particle->GetPDGCharge();
// gamma if (particleName == "gamma") { pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh()); pmanager->AddDiscreteProcess(lowePhot); pmanager->AddDiscreteProcess(new G4LowEnergyCompton()); pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion()); }
Attaching Processes to Particles:Attaching Processes to Particles:Attaching Processes to Particles:Attaching Processes to Particles:
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 13
{
// electron
else if (particleName == "e-")
{
// process ordering: AddProcess(name, at rest, along step, post step)
// -1 = not implemented, then ordering
pmanager->AddProcess(aMultipleScattering, -1, 1, 1);
pmanager->AddProcess(loweIon, -1, 2, 2);
pmanager->AddProcess(loweBrem, -1,-1, 3);
}
// positron
else if (particleName == "e+")
{
pmanager->AddProcess(aMultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4eIonisation(), -1, 2, 2);
pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3);
pmanager->AddProcess(new G4eplusAnnihilation(), 0,-1, 4);
}
Attaching Processes to Particles:Attaching Processes to Particles:Attaching Processes to Particles:Attaching Processes to Particles:
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 14
// muons
else if( particleName == "mu+" ||
particleName == "mu-" )
{
pmanager->AddProcess(aMultipleScattering, -1, 1, 1);
pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2);
pmanager->AddProcess(new G4MuBremsstrahlung(), -1,-1, 3);
pmanager->AddProcess(new G4MuPairProduction(), -1,-1, 4);
if( particleName == "mu-" )
pmanager->AddProcess(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))
Attaching Processes to Particles:Attaching Processes to Particles:Attaching Processes to Particles:Attaching Processes to Particles:
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 15
{
// OBJECT may be dynamically created as either a GenericIon or nucleus
pmanager->AddProcess(aMultipleScattering, -1, 1, 1);
pmanager->AddProcess(ahadronLowEIon, -1, 2, 2);
}
// all other charged particles except geantino
else if ((!particle->IsShortLived()) &&
(particleCharge != 0.0) &&
(particleName != "chargedgeantino"))
{
pmanager->AddProcess(aMultipleScattering, -1, 1, 1);
pmanager->AddProcess(ahadronLowEIon, -1, 2, 2);
}
}
}
Attaching Processes to Particles:Attaching Processes to Particles:Attaching Processes to Particles:Attaching Processes to Particles:
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 16
Setting Energy Cuts:Setting Energy Cuts:Setting Energy Cuts:Setting Energy Cuts:
//special for low energy physics
G4double lowlimit=250*eV;
G4Gamma ::SetEnergyRange(lowlimit,100*GeV);
G4Electron::SetEnergyRange(lowlimit,100*GeV);
G4Positron::SetEnergyRange(lowlimit,100*GeV);
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 17
Validation of Low Energy Physics Validation of Low Energy Physics – Some (biased) examples– Some (biased) examplesValidation of Low Energy Physics Validation of Low Energy Physics – Some (biased) examples– 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
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 18
upwards
Xe shell Pb compton
through
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 19
experimental
241241Am spectrumAm spectrum241241Am spectrumAm spectrum
gam m as
020117_Am 241
0
10
20
30
40
50
0 10 20 30 40 50 60 70 80 90 100
N photons
coun
ts
alphas
0
20
40
60
80
100
0 200 400 600 800 1000 1200 1400 1600 1800 2000
N photons
coun
ts
Alpha Spectrum LXe 1200V zero Field
0.00E+00
4.00E-01
8.00E-01
1.20E+00
1.60E+00
2.00E+00
0 200 400 600 800 1000 1200 1400
ADC Channel
Co
un
ts/s
eco
nd
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 20
experimental
spectrumspectrumspectrumspectrum
PM T hits
020122_gam m a_4
0
50
100
150
200
250
300
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300
N photons
coun
ts
edep
1
10
10 2
10 3
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
edep, M eV
coun
ts
Am241 Gamma Spectrum LXe 1200V zero Field
-2.00E+00
2.00E+00
6.00E+00
1.00E+01
1.40E+01
1.80E+01
0 20 40 60 80 100 120
ADC Channel
Cou
nts/
seco
nd
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 21
Time Constant DiscriminationTime Constant DiscriminationTime Constant DiscriminationTime Constant Discrimination
•Red Curve = AlphasRed Curve = Alphas
•Blue Curve = GammasBlue Curve = Gammas
Experimental Data Geant4 Output
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 22
Geant4 SimulationGeant4 Simulationof Test-Mass Chargingof Test-Mass Chargingin the LISA Missionin the LISA Mission
Geant4 SimulationGeant4 Simulationof Test-Mass Chargingof Test-Mass Chargingin the LISA Missionin the LISA Mission
Very long base-line: 1 million km
Very high precision: < 1nm – 1pm (!)
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 23
Physics ListPhysics ListPhysics ListPhysics List
EM processes (LowE)Electrons, Gammas, etcAtomic de-excitationHadrons (no hFluorescence)
SecondariesCuts: (250 eV), 1mm - 5mmKill e- outside caging
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 24
Results IResults IResults IResults I
52 +e/s
6 +e/s
45 s exposure ~ 10,000,000 events
1 charging event ~ 2,000 events
~ 40,000 events/day/CPU
Charging rate
(G3 result: 11 +e/s)
G4 result: 58 +e/s
2 days inparallel !!
!
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 25
Results IIResults IIResults IIResults II
(~0.1 um)250 eV52 +e/s
Cuts
1 um8.77 keV41 +e/s
2 um30.7 keV40 +e/s
5 um53.2 keV42 +e/s
Decreasing the production threshold from 10 keV (G3, G4EM)to 250 eV (G4LowE) leads to a ~20% increase of the charging rate!
Energy of Primary, MeV
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 26
Other Users – SPACE and Cosmic RayOther Users – SPACE and Cosmic RayOther Users – SPACE and Cosmic RayOther Users – SPACE and Cosmic Ray
Cosmic rays,jovian electrons
Solar X-rays, e, p
Courtesy SOHO EIT
AGILEGLAST
GLAST
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 27
The Future…The Future…The Future…The Future…
In progress– Polarised 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
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13th November 2002 LowE EM PartII 28
To learn more…………:To learn more…………:To learn more…………:To learn more…………:Geant4 Physics Reference Manual
Application Developer Guide
http://www.ge.infn.it/geant4/lowE
ConclusionsConclusionsConclusionsConclusions
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.