Formation GEANT 4 LPC Formation GEANT 4LPC Simulations

  • Slides: 25
Download presentation
Formation GEANT 4 - LPC

Formation GEANT 4 - LPC

Formation GEANT 4@LPC • Simulations GEANT 4 au LPC: – Expériences diverses disponibles /

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

Programme de la formation • • • Jeudi 15 novembre : introduction générale à

Programme de la formation • • • Jeudi 15 novembre : introduction générale à Geant 4 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 3

ÉLÉMENTS DE SIMULATIONS MONTE CARLO 4

ÉLÉMENTS DE SIMULATIONS MONTE CARLO 4

Historique • 1733 : Buffon, expérience du lancer d’aiguilles sur un plancher, probabilité qu’une

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 5

Définition • Méthode stochastique pour le calcul d’intégrale – Générer dans l’espace du problème,

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 6

Un exemple simple de transport de particule • Soit une particule interagissant suivant deux

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Ω Histoire 1 Histoire 2 Histoire 3 • Transport d’une particule: 1. 2. 3. 4. 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 5. Recommencer les étapes 1 -4 7

Ingrédients pour la simulation du transport des particules • Générateur de nombres pseudo-aléatoires •

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 8

QU’EST-CE QUE GEANT 4? 9

QU’EST-CE QUE GEANT 4? 9

GEANT 4? • Librairies C++ pour la simulation Monte Carlo du transport des particules

GEANT 4? • 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 GEANT 4: GEometry : géométries complexes et réalistes ANd Tracking : 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 GEANT 4 geant 4. cern. ch 10

Historique • • Successeur de GEANT 3 Décembre 1994: début du projet GEANT 4

Historique • • Successeur de GEANT 3 Décembre 1994: début du projet GEANT 4 Décembre 1998: première version publique GEANT 4 1. 0 2003 : publication de référence, Agostinelli et al, GEANT 4 - a simulation toolkit, NIM A • Mars 2012 : version courante GEANT 4 9. 5. p 01 • Mises à jour: publique une fois par an (fin d’année, GEANT 4 9. 6 en décembre 2012), les versions beta sont rendues publiques (milieu d’année) 11

APPLICATIONS DE GEANT 4 12

APPLICATIONS DE GEANT 4 12

Geant 4 au LPC PCSV 15 ke. V à 20 Me. V <1 Me.

Geant 4 au LPC PCSV 15 ke. V à 20 Me. V <1 Me. V mm µm Radiobiologie nm Microdosimétrie Curiethérapie Radiothérapie Interne Vectorisée cm Radiothérapie externe Dosimétrie 13

GEANT 4 : LES BASES 14

GEANT 4 : LES BASES 14

CODE UTILISATEUR POUR UNE APPLICATION GEANT 4 16

CODE UTILISATEUR POUR UNE APPLICATION GEANT 4 16

Déroulement d’une simulation GEANT 4 Programme Principal Initialisation Géométrie Physique Particules Exécution Comment le

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

Les classes obligatoires : la géométrie Programme Principal Initialisation L’utilisateur DOIT créer une classe

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

Les classes obligatoires : la physique Programme Principal Initialisation L’utilisateur DOIT créer une classe

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

Les classes obligatoires : les particules primaires Programme Principal Initialisation L’utilisateur DOIT créer une

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

Résumé des classes obligatoires Programme Principal Initialisation Géométrie Comment le détecteur doit-il être construit?

Résumé des classes obligatoires Programme Principal Initialisation Géométrie Comment le détecteur doit-il être construit? Detector. Construction: : G 4 VUser. Detector. Construction Physique Quelles particules, quels processus simuler? Physics. List: : G 4 VUser. Physics. List Particules Comment générer les particules primaires? Primary. Generator. Action: : G 4 VUser. Primary. Generator. Action Construct() Construct. Particle() Construct. Process() Set. Cuts() Generate. Primaries(G 4 Event*) 21

Les classes optionnelles : au niveau de l’expérience Exécution Début Que faire au début

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

Les classes optionnelles : au niveau de l’évènement Exécution Début Que faire au début

Les classes optionnelles : au niveau de l’évènement Exécution Début Que faire au début de l’expérience? expérience Que faire au début d’un évènement? L’utilisateur peut créer une classe dérivée de: G 4 User. Event. Action Début évènement donnant les méthodes: Interaction Que faire à la fin d’un évènement? Fin évènement Que faire lors d’une interaction? Begin. Of. Event. Action(const G 4 Event*) End. Of. Event. Action(const G 4 Event*) Que faire à la fin Fin de l’expérience? expérience Fermeture 23

Les classes optionnelles : au niveau de l’interaction Exécution Début Que faire au début

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

Résumé des classes optionnelles Exécution Run. Action: : G 4 User. Run. Action Début

Résumé des classes optionnelles Exécution Run. Action: : G 4 User. Run. Action Début Que faire au début de l’expérience? expérience Que faire au début d’un évènement? Début évènement Interaction Que faire à la fin d’un évènement? Fin évènement Begin. Of. Run. Action End. Of. Run. Action Event. Action: : G 4 User. Event. Action Begin. Of. Event. Action End. Of. Event. Action Stepping. Action: : G 4 User. Stepping. Action Que faire lors d’une interaction? Que faire à la fin Fin de l’expérience? expérience Fermeture 25