• Aucun résultat trouvé

GEANT4 et MUSCA SEP3

3.2 Les classes fondamentales d’une simulation GEANT4

Une application minimale de GEANT4 nécessite l’utilisation de trois classes fondamentales. Ces dernières sont la géométrie du détecteur, la définition de l’en-vironnement radiatif ainsi que les processus physiques impliqués dans la simulation des interactions des particules. Ce sont ces trois premières classes qui doivent être initialisées avant le déroulement de la simulation (Figure3.7).

La première classe relative à la construction de la géométrie du détecteur à simuler, s’écrit dans le fichier DetectorConstruction. La seconde classe qui gère l’environnement radiatif s’écrit dans le fichier PrimaryGeneratorAction. Enfin, la troisième classe fondamentale, qui traite des processus physiques mis en jeux, s’écrit dans le fichier PhysicsList. D’autres classes non fondamentales mais très utiles peuvent être ajoutées pour, par exemple, obtenir l’énergie déposée par la particule à un endroit précis du détecteur ou encore regarder le parcours d’un type de particule.

Événement n°1 Événement n°2 Événement n°3 ... Événement n Initialisation : - de la géométrie du détecteur; - de l'environnement radiatif; - des processus physiques.

Run

...

Step n°1 Step n°2 ... Step n

Trace n°1 Trace n°2 Trace n°3

Trace n

Figure 3.7 – Description du fonctionnement global d’une simulation (crédit : Ivana Hrivnacova, [3])

3.2.1 La géométrie du détecteur

Le concept de la géométrie du détecteur repose sur l’assemblage de trois volumes spécifiques : le volume solide, le volume logique et le volume physique.

3.2.1.1 Le volume solide

Ce type de volume décrit la forme et les dimensions de l’objet. Des formes géo-métriques complexes peuvent être obtenues par l’assemblage de solides simples en utilisant des opérations booléennes qui permettent d’ajouter (via la classe G4UnionSolid), soustraire (via la classe G4SubstractionSolid), ou faire interagir les solides (via la classe G4InteractionSolid) définis dans la simulation [4]. Dans les simulations qui font l’objet de cette étude, un volume parallélépipédique a été simulé pour représenter la zone sensible d’un composant. Les dimensions de ce

parallélépipède ont été adaptées selon l’objectif de la simulation. Ces informations seront développées dans les deux prochains chapitres.

3.2.1.2 Le volume logique

Le volume logique permet de définir le type de matériau du détecteur (via la classe G4LogicalVolume). Dans le cas de cette étude, le silicium a été choisi pour toutes les simulations étant donné que c’est la matériau à la base des technologies bulk et SOI étudiées au chapitre 4 ainsi que les pixels de la caméra CCD utilisée au chapitre 5.

3.2.1.3 Le volume physique

Le volume physique permet de positionner le détecteur dans l’espace (via la classe G4PVPlacement). Tout volume utilisé dans une simulation doit être placé dans un volume mère. Le volume univers (world) correspond au volume fondamen-tal qui contient tous les autres volumes filles. Toutes les opérations de déplacement ou de rotation d’un volume fille sont définies par rapport au volume mère. Dans le cas de cette étude, le volume parallélépipédique est placé au centre du volume univers sans rotation ni copies de volume.

3.2.2 La création de l’environnement radiatif

L’environnement radiatif est modélisé par le placement d’une source émettrice. Les particules primaires sont créées depuis cette source. Les paramètres relatifs à la nature et au déplacement de la particule à créer peuvent être instanciés soit via la classe G4GeneralParticleSource soit via la classe G4ParticleGun. Cette dernière classe a été utilisée dans les simulations de cette étude. La méthode SetParticle-Definition permet de définir la nature de la particule. Une énergie est associée à la particule soit dynamiquement selon un spectre d’énergie (avec la fonction Init-Function) soit selon une valeur statique (méthode SetParticleEnergy). La particule est créée depuis le vecteur position de cette source (méthode SetParticlePosition) et est transportée selon son vecteur direction (méthode SetParticleMomentumDi-rection). Les vecteurs position et direction sont définis via la classe G4ThreeVector et peuvent prendre en argument un angle d’incidence défini via les fonctions tri-gonométriques usuelles issues de la bibliothèque standard du C++ [5].

3.2.3 La sélection des processus physiques

Les processus mis en jeu lors de l’interaction d’une particule doivent implémen-ter les méthodes virtuelles de la classe G4VProcess pour déimplémen-terminer si l’inimplémen-teraction a lieu et définir ses intervalles d’énergie. Pour tous les processus, la démarche gé-nérale est la suivante :

— La méthode GetPhysicalIneractionLegnth se base sur la section efficace issue d’un modèle physique pré-déterminé du processus physique mis en jeu ; — Si une interaction est générée cette méthode calcule la longeur du pas de

l’interaction depuis le point initial vers le point suivant ;

— Lorsque le pas d’interaction est terminé, la méthode DoIt réalise l’interaction en elle-même, en modifiant l’énergie de la particule primaire, sa position, sa direction et génére une particule secondaire si le seuil de production le per-met.

Le processus physique peut avoir lieu lorsque la particule est au repos, ou bien tout le long du pas d’interaction ou encore uniquement à la fin du pas [6]. Ces trois possibilités sont déterminées par trois méthodes virtuelles de la classe GetPhysi-calIneractionLegnth qui sont :

— AtRestDoIt, pour le calcul de l’interaction lorsque la particule est au repos ; — AlongStepDoIt, lorsque l’interaction se fait tout le long du pas ;

— PostStepDoIt, lorsque l’interaction se fait à la fin du pas.

Ces trois classes fondamentales (géométrie du détecteur, environnement radiatif et processus physiques) assurent le fonctionnement d’une application minimale et leur rôle est résumé dans la Figure 3.8.

Détecteur : géométrie, dimensions, matériau, densité...

Primary track