Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Double-slit experiment wikipedia , lookup
ALICE experiment wikipedia , lookup
Standard Model 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
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