Download Geant4: Electromagnetic Processes 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Double-slit experiment wikipedia , lookup

ALICE experiment wikipedia , lookup

Standard Model wikipedia , lookup

Photon wikipedia , lookup

Future Circular Collider wikipedia , lookup

ATLAS experiment wikipedia , lookup

Theoretical and experimental justification for the Schrödinger equation wikipedia , lookup

Elementary particle wikipedia , lookup

Compact Muon Solenoid wikipedia , lookup

Electron scattering wikipedia , lookup

Transcript
Geant4:
Electromagnetic Processes 1
Introduction
Interfaces
PhysicsList
Optical process
V.Ivanchenko
16.07.02 Salamanca
1
Radiation effects
Charged particles lost energy primary to
ionization
For high energy electrons radiation losses
dominates
Gammas convert to e+e- or transform
energy to atomic electrons
Heavy particles interact with atomic
nucleus
V.Ivanchenko
16.07.02 Salamanca
2
What is tracked in Geant4 ?
G4Track
• Propagated by the tracking,
• Snapshot of the particle state.
G4DynamicParticle
• Momentum, pre-assigned decay…
• The « particle type »:
G4ParticleDefinition
 G4Electron,
 G4PionPlus…
G4ProcessManager • « Hangs » the
physics sensitivity;
• The classes involved in the building
the « physics list » are:
Process_1 • The physics
• The G4ParticleDefinition
processes;
concrete classes;
Process_2
• The G4ProcessManager;
Process_3
• The processes;
V.Ivanchenko
16.07.02 Salamanca
3
Geant4 physics processes
There are following
processes:
Electromagnetic
Hadronic
Decay
Optical
Transportation
Parameterized
V.Ivanchenko
Subcategories of
Electromagnetic
domain:
16.07.02 Salamanca
Muons
Lowenergy
Standard
Xrays
Utils
4
Geant4 physics processes
Physics is described via abstract interface called
process associated with particles
Process provides Interaction Lenths, StepLimits,
and DoIt methods
Process active AlongStep, PostStep, AtRest
Distinction between process and model – one
process may includes many models
Generation of final state is independent from the
access and use of cross sections and from
tracking
V.Ivanchenko
16.07.02 Salamanca
5
PhysicsList
 It is one of the « mandatory user classes »;
– Defined in source/run
 Defines the three pure virtual methods:
– ConstructParticles();
– ConstructProcesses();
– SetCuts();
 Concrete PhysicsList needs to inherit from
G4VUserPhysicsList;
 For interactivity G4UserPhysicsListMessenger
can be used to handle PhysicsList parameters
V.Ivanchenko
16.07.02 Salamanca
6
Processes ordering
 Ordering of following processes is critical:
– Assuming n processes, the ordering of the
AlongGetPhysicalInteractionLength should be:
[n-2] …
[n-1] multiple scattering
[n] transportation
 Why ?

– Processes return a « true path length »;
– The multiple scattering « virtually folds up » this
true path length into a shorter « geometrical »
path length;
– Based on this new length, the transportation can
geometrically limits the step.
 Other processes ordering usually do not matter.
V.Ivanchenko
16.07.02 Salamanca
7
AddTransportation
void G4VUserPhysicsList::AddTransportation()
{
G4Transportation* theTransportationProcess= new G4Transportation();
// loop over all particles in G4ParticleTable
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (!particle->IsShortLived()) {
if ( pmanager == 0) {
G4Exception("G4VUserPhysicsList::AddTransportation : no process manager!");
} else {
// add transportation with ordering = ( -1, "first", "first" )
pmanager->AddProcess(theTransportationProcess);
pmanager->SetProcessOrderingToFirst(theTransportationProcess, idxAlongStep);
pmanager->SetProcessOrderingToFirst(theTransportationProcess, idxPostStep);
}
}
}
V.Ivanchenko
16.07.02 Salamanca
8
Gamma processes
 Discrete processes - only PostStep actions;
– Use function AddDiscreteProcess;
– pmanager is the G4ProcessManager of the gamma;
– Assume the transportation has been set by
AddTransportation;
 Code sample:
// Construct processes for gamma:
pmanager->AddDiscreteProcess(new G4GammaConversion());
pmanager->AddDiscreteProcess(new G4ComptonScattering());
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
V.Ivanchenko
16.07.02 Salamanca
9
Electron processes
// Construct processes for positron
G4VProcess* theMultipleScattering = new G4MultipleScattering();
G4VProcess* eIonisation = new G4eIonisation();
G4VProcess* eBremsstrahlung = new G4eBremsstrahlung();
// add processes
pmanager->AddProcess(theMultipleScattering);
pmanager->AddProcess(eIonisation);
pmanager->AddProcess(eBremsstrahlung);
// set ordering for AlongStepDoIt
pmanager->SetProcessOrdering(theMultipleScattering, idxAlongStep, 1);
pmanager->SetProcessOrdering(eIonisation,
idxAlongStep, 2);
// set ordering for PostStepDoIt
pmanager->SetProcessOrdering(theMultipleScattering, idxPostStep, 1);
pmanager->SetProcessOrdering(eIonisation,
idxPostStep, 2);
pmanager->SetProcessOrdering(eBremsstrahlung, idxPostStep, 3);
V.Ivanchenko
16.07.02 Salamanca
10
Positrons processes
G4VProcess* theeplusMultipleScattering = new G4MultipleScattering();
G4VProcess* theeplusIonisation = new G4eIonisation();
G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung();
G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation();
pmanager->AddProcess(theeplusMultipleScattering);
pmanager->AddProcess(theeplusIonisation);
pmanager->AddProcess(theeplusBremsstrahlung);
pmanager->AddProcess(theeplusAnnihilation);
pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest);
pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep, 1);
pmanager->SetProcessOrdering(theeplusIonisation,
idxAlongStep, 2);
pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep, 1);
pmanager->SetProcessOrdering(theeplusIonisation,
idxPostStep, 2);
pmanager->SetProcessOrdering(theeplusBremsstrahlung, idxPostStep, 3);
pmanager->SetProcessOrdering(theeplusAnnihilation,
idxPostStep, 4);
V.Ivanchenko
16.07.02 Salamanca
11
Hadrons EM processes
 Hadrons (pions, kaons, proton,…)
 Light ions (deuteron, triton, alpha)
 Heavy ions (GenericIon)
 Example:
G4VProcess* theMultipleScattering = new G4MultipleScattering();
G4VProcess* hIonisation = new G4hIonisation();
pmanager->AddProcess(theMultipleScattering);
pmanager->AddProcess(hIonisation);
pmanager->SetProcessOrdering(theMultipleScattering, idxAlongStep, 1);
pmanager->SetProcessOrdering(hIonisation,
idxAlongStep, 2);
pmanager->SetProcessOrdering(theMultipleScattering, idxPostStep, 1);
pmanager->SetProcessOrdering(hIonisation,
idxPostStep, 2);
V.Ivanchenko
16.07.02 Salamanca
12
PhysicsList
 In contrary to other codes Geant4 requires from
users to build PhysicsList
 Novice examples
– N02: Simplified tracker geometry with
uniform magnetic field
– N03: Simplified calorimeter geometry
– N04: Simplified collider detector with a
readout geometry
 Extended examples
 Advance examples
V.Ivanchenko
16.07.02 Salamanca
13
Optical Photon
Processes in GEANT4
Concept of “optical photon” in G4
λ >> atomic spacing
G4OpticalPhoton: wave like nature of EM radiation
G4OpticalPhoton <=|=> G4Gamma
(no smooth transition)
When generated polarisation should be set:
aphoton->SetPolarization(ux,uy,uz); // unit vector!!!
V.Ivanchenko
16.07.02 Salamanca
14
Optical Photon
Processes in GEANT4
Optical photons generated by following processes
(processes/electromagnetic/xrays):
Scintillation
Cherenkov
Transition radiation
Optical photons have following physics processes
(processes/optical/):
Refraction and Reflection at medium boundaries
Bulk Absorption
Rayleigh scattering
ExampleN06 at /examples/novice/N06
V.Ivanchenko
16.07.02 Salamanca
15
Optical Photon
Processes in GEANT4
Material properties should be defined for
G4Scintillation process, so only one type
of scintillators can be defined in the run
G4Cherenkov is active only if for the given
material an index of refraction is provided
For simulation of optical photons
propogation G4OpticalSurface should be
defined for given optical system
V.Ivanchenko
16.07.02 Salamanca
16
Conclusion remarks
 Using Geant4 examples novice user can design
his/her PhysicsList without detailed studying of
interaction of particles with matter
 Default values of internal model parameters are
reasonably defined
 To estimate the accuracy of simulation results
indeed one have to study Geant4 in more details
 It is true for any simulation software!
V.Ivanchenko
16.07.02 Salamanca
17