1 / 25

Formation GEANT4 - LPC

Formation GEANT4 - LPC. Formation GEANT4@LPC. Simulations GEANT4 au LPC: Expériences diverses disponibles / Besoins émergents Objectifs: Donner les bases pour appréhender les concepts d’une simulation GEANT4 Travailler sur des exemples (installation de machines virtuelles)

naiara
Download Presentation

Formation GEANT4 - LPC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formation GEANT4 - LPC

  2. Formation GEANT4@LPC • Simulations GEANT4 au LPC: • Expériences diverses disponibles / Besoins émergents • Objectifs: • Donner les bases pour appréhender les concepts d’une simulation GEANT4 • Travailler sur des exemples (installation de machines virtuelles) • Après cette formation: • Vous serez capables d’écrire une application GEANT4 • Pour assimiler et apprendre davantage: il faut se lancer et programmer!

  3. Programme de la formation • Jeudi 15 novembre : introduction générale à Geant4 • Vendredi 23 novembre • Jeudi 29 novembre : géométrie • Jeudi 6 décembre : physique et particules • Jeudi 13 décembre : récupération des données

  4. Éléments de Simulations monte carlo

  5. Historique • 1733 : Buffon, expérience du lancer d’aiguilles sur un plancher, probabilité qu’une aiguille croise une ligne : estimation de π • 1886: Laplace, points aléatoires dans un rectangle pour l’estimation de π • 1930: Fermi, méthode aléatoire pour le calcul des propriétés du neutron • Années 40 : Ulam and Neumann, projet Manhattan

  6. Définition • Méthode stochastique pour le calcul d’intégrale • Générer dans l’espace du problème, N points aléatories • Calculer pour les N points la quantité: • Calculer: • D’après le Théorême Central Limite, pour de grandes valeurs de N, approche la valeur vraie

  7. Un exemple simple de transport de particule • Soit une particule interagissant suivant deux processus: • Absorption: section efficace totale Σa • Diffusion élastique: section efficace totale Σe, section efficace différentielle dΣe/dΩ • Transport d’une particule: • Sélectionner une distance • Transporter la particule à l’endroit de l’interaction en prenant en compte les contraintes géométriques • Sélectionner le type d’interaction • Simuler l’interaction sélectionnée: - Absorption, transport fini - Diffusion élastique, sélectionner l’angke de diffusion en utilisant dΣe/dΩ comme fonction de probabilité de densité et changer la direction de la particule • Recommencer les étapes 1-4 Histoire 1 Histoire 2 Histoire 3

  8. Ingrédients pour la simulation du transport des particules • Générateur de nombres pseudo-aléatoires • Méthode d’échantillonnage d’une quantité à partir de fonction de densité de probabilité • Description de la géométrie • Données physiques: sections efficaces totales et différentielles

  9. Qu’est-ce que geant4?

  10. GEANT4? • Librairies C++ pour la simulation Monte Carlo du transport des particules dans la matière • Librairies : l’utilisateur doit construire sa propre application en C++ • Simulation GEANT4: GEometry : géométries complexes et réalistes ANdTracking : nombreuses particules, nombreux processus et modèles d’interaction • Tout est ouvert à l’utilisateur: code flexible et libre • Code développé, documenté et maintenu par les membres de la collaboration GEANT4 geant4.cern.ch

  11. Historique • Successeur de GEANT3 • Décembre 1994: début du projet GEANT4 • Décembre 1998: première version publique GEANT4 1.0 • 2003 : publication de référence, Agostinelli et al, GEANT4- a simulation toolkit, NIM A • Mars 2012 : version courante GEANT4 9.5.p01 • Mises à jour: publique une fois par an (fin d’année, GEANT4 9.6 en décembre 2012), les versions beta sont rendues publiques (milieu d’année)

  12. APPLications de GEANT4

  13. Geant4 au LPCPCSV 15 keV à 20 MeV cm mm <1 MeV Radiothérapie externe µm Curiethérapie Radiothérapie Interne Vectorisée Radiobiologie Microdosimétrie Dosimétrie nm

  14. Geant4 : les bases

  15. Code utilisateur pour une application geant4

  16. Déroulement d’une simulation GEANT4 Programme Principal Initialisation Exécution Début expérience Géométrie Comment le détecteur doit-il être construit? Que faire au début de l’expérience? Début évènement Interaction Physique Quelles particules, quels processus simuler? Que faire au début d’un évènement? Fin évènement Particules Comment générer les particules primaires? Que faire lors d’une interaction? Fin expérience Que faire à la fin d’un évènement? Que faire à la fin de l’expérience? Fermeture Code utilisateur optionnel Code utilisateur obligatoire

  17. Les classes obligatoires : la géométrie Programme Principal Initialisation L’utilisateur DOIT créer une classe dérivée de: G4VUserDetectorConstruction donnant LA méthode: Construct() construisant la géométrie: formes géométriques, localisations, matériaux, propriétés physiques, champs électromagnétiques Géométrie Comment le détecteur doit-il être construit? Physique Quelles particules, quels processus simuler? Particules Comment générer les particules primaires?

  18. Les classes obligatoires : la physique Programme Principal Initialisation L’utilisateur DOIT créer une classe dérivée de: G4VUserPhysicsList donnant LES méthodes permettant de : - Construire les particules à simuler: ConstructParticle() - Construire les processus physiques à prendre en compte: ConstructProcess() - Définir Les seuils de productions des particules secondaires: SetCuts() Géométrie Comment le détecteur doit-il être construit? Physique Quelles particules, quels processus simuler? Particules Comment générer les particules primaires?

  19. Les classes obligatoires : les particules primaires Programme Principal Initialisation L’utilisateur DOIT créer une classe dérivée de: G4VUserPrimaryGeneratorAction donnant LA méthode: GeneratePrimaries(G4Event*) Décrivant comment une particule primaire doit être générée Géométrie Comment le détecteur doit-il être construit? Physique Quelles particules, quels processus simuler? Particules Comment générer les particules primaires?

  20. Résumé des classes obligatoires Programme Principal Initialisation Géométrie DetectorConstruction:: G4VUserDetectorConstruction Comment le détecteur doit-il être construit? Construct() Physique PhysicsList:: G4VUserPhysicsList Quelles particules, quels processus simuler? ConstructParticle() ConstructProcess() SetCuts() Particules PrimaryGeneratorAction:: G4VUserPrimaryGeneratorAction Comment générer les particules primaires? GeneratePrimaries(G4Event*)

  21. Les classes optionnelles : au niveau de l’expérience Exécution Début expérience Que faire au début de l’expérience? L’utilisateur peut créer une classe dérivée de: G4UserRunAction donnant les méthodes: BeginOfRunAction(const G4Run*) EndOfRunAction(const G4Run*) Début évènement Interaction Que faire au début d’un évènement? Fin évènement Que faire lors d’une interaction? Fin expérience Que faire à la fin d’un évènement? Que faire à la fin de l’expérience? Fermeture

  22. Les classes optionnelles : au niveau de l’évènement Exécution Début expérience Que faire au début de l’expérience? L’utilisateur peut créer une classe dérivée de: G4UserEventAction donnant les méthodes: BeginOfEventAction(const G4Event*) EndOfEventAction(const G4Event*) Début évènement Interaction Que faire au début d’un évènement? Fin évènement Que faire lors d’une interaction? Fin expérience Que faire à la fin d’un évènement? Que faire à la fin de l’expérience? Fermeture

  23. Les classes optionnelles : au niveau de l’interaction Exécution Début expérience Que faire au début de l’expérience? L’utilisateur peut créer une classe dérivée de: G4UserSteppingAction donnant la méthode: UserSteppingAction(const G4Step*) Début évènement Interaction Que faire au début d’un évènement? Fin évènement Que faire lors d’une interaction? Fin expérience Que faire à la fin d’un évènement? Que faire à la fin de l’expérience? Fermeture

  24. Résumé des classes optionnelles Exécution Début expérience BeginOfRunAction RunAction:: G4UserRunAction Que faire au début de l’expérience? Début évènement EndOfRunAction BeginOfEventAction EventAction:: G4UserEventAction Interaction Que faire au début d’un évènement? EndOfEventAction Fin évènement SteppingAction:: G4UserSteppingAction UserSteppingAction Que faire lors d’une interaction? Fin expérience Que faire à la fin d’un évènement? Que faire à la fin de l’expérience? Fermeture

More Related