28
Alex Howard Imperial College Geant4 Users Workshop, CERN, 13 th November 2002 LowE EM PartII 1 Low Energy Electromagnetic Low Energy Electromagnetic Physics PART II Physics PART II Alex Howard Imperial College, UK [email protected] on behalf of the Low Energy Electromagnetic Working Group Geant4 User Workshop CERN, 11-15 November 2002 http://www.ge.infn.it/geant4/training/

Alex Howard Imperial College Geant4 Users Workshop, CERN, 13 th November 2002 LowE EM PartII 1 Low Energy Electromagnetic Physics PART II Alex Howard

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.