• Aucun résultat trouvé

CHAPITRE III-   LE MODÈLE GÉOMÉTRIQUE

III.2   La géométrie dans Geant4

Le modèle géométrique développé dans ce travail est implémenté dans le fichier DetectorConstruction.cc nécessaire à la simulation Monte Carlo avec Geant4.

Dans ce fichier, la géométrie de la cible est décrite à l’aide d’une sémantique propre au code qui traduit l’utilisation de fonctions et variables définies dans le module géométrique de Geant4 permettant non seulement de décrire la structure géométrique de la cible mais également de propager efficacement les particules au sein de cette géométrie.

Pour décrire les propriétés d’un volume complet dans Geant4 trois concepts sont nécessaires : le concept de volume solide, le concept de volume logique et le concept de volume physique.

III.2.1 Le volume solide

Le volume solide correspond au volume géométrique. C’est dans ce volume que l’on décrit la forme et les dimensions de l’objet que l’on souhaite créer. Plusieurs types de solides sont disponibles dans Geant4 de manière à ce que ceux-ci puissent être adaptés à différents objectifs d’étude, domaines

d’application et complexité requise pour la simulation. Ces volumes sont les volumes CSG (Constructive Solid Geometry) et BREPs (Boundary Representations).

Les volumes BREPs permettent de gérer des volumes dont la topologie est plus étendue et donc de gérer des volumes plus complexes que les volumes CSG. Ces solides sont définis à partir de leurs frontières. Néanmoins, pour l’implémentation de notre géométrie, nous ne les avons pas utilisés. En effet, bien que la géométrie de l’ADN soit complexe, nous verrons qu’il a été plus simple d’utiliser des solides déjà prédéfinis dans Geant4, les volumes CSG, que nous avons assemblés de différentes manières, grâce aux opérations booléennes, de manière à obtenir la géométrie souhaitée.

En effet, les volumes CSG sont les volumes de base, déjà prédéfinis dans le code Geant4, par conséquent plus faciles à utiliser. En général ils donnent de meilleures performances mais ne permettent pas de représenter des solides complexes. Sur la figure III-5, quelques solides de ce type utilisés dans le cadre de ce travail pour implémenter notre géométrie sont reportés. Pour les utiliser il est donc uniquement nécessaire de définir leurs dimensions et composition.

Figure III-5 : Solides type utilisés pour l’implémentation de la géométrie [GEA11].

Ces solides peuvent également être combinés en utilisant des opérations booléennes. Trois types d’opérations sont possibles dans Geant4 : G4UnionSolid, G4SubstractionSolid et G4InteractionSolid comme illustré sur la figure III-6. Pour créer un solide de ce type deux conditions doivent être remplies : avoir deux solides et choisir une opération booléenne. En option, des transformations comme une rotation ou une translation, sont possibles pour le second solide. Le second solide sera positionné par rapport au premier et le résultat d’une opération booléenne conduit à la formation d’un seul solide.

Ainsi, pour la définition de notre géométrie d’ADN au sein de Geant4, c’est donc la combinaison des volumes CSG et des opérations booléennes que nous avons utilisée.

Figure III-6 : Opérations booléennes possibles dans Geant4 : union, soustraction et intersection de solides.

III.2.2 Le volume logique

Un volume logique représente un détecteur ayant une certaine forme, pouvant contenir également d’autres volumes à l’intérieur. Ce volume contient toutes les informations sur la géométrie excepté la position et les rotations s’il y en a. Ce volume contient donc les informations sur la forme, les dimensions du solide (G4VSolid) et le matériau qui le compose (dans notre cas l’eau liquide (G4WaterMaterial)). Il gère également les informations relatives à la visualisation (G4VisAttibuts) et les paramètres définis par l’utilisateur pour le suivi des particules ou encore les limites d’utilisation (G4UserLimits : seuil en énergie par exemple).

Il est également possible de définir des régions contenant des volumes de type logique pour lesquels, lors du transport de particules dans la géométrie, des seuils de production de particules secondaires ou des modèles physiques spécifiques pourront être définis spécifiquement pour ces régions à la différence du reste de la géométrie cible. Ainsi, il sera possible de choisir une région (par exemple le noyau cellulaire), dans lequel les processus Geant4-DNA seront utilisés tandis qu’à l’extérieur de celui-ci ce seront les autres processus qui seront définis pour la simulation.

III.2.3 Le volume physique

Enfin, le volume physique résulte du positionnement du volume logique, dans un repère absolu pour la modélisation, à l’aide de la fonction G4PVPlacement. Un volume logique peut être placé soit au sein du volume global de la simulation (monde ou « World ») soit à l’intérieur d’un autre volume logique appelé dans ce cas le volume mère (le volume contenu s’appelle donc volume « fille »). Les rotations ou autres opérations qui peuvent être appliquées à un volume sont également spécifiées dans le volume physique. Ainsi, une hiérarchisation des volumes est construite, chaque volume peut contenir des volumes plus petits qui ne peuvent se chevaucher. Il est également important de noter

que, s’il existe des volumes avec les mêmes caractéristiques, placés en différents points de la géométrie, un seul volume logique peut être créé et les différents volumes physiques pourront partager le même volume logique.

D’autres options permettant des placements plus complexes sont également disponibles telles que G4ReflectionFactory et G4AssemblyVolume. En plus de cette option qui permet le placement d’un solide dans un autre, il est possible de répéter un grand nombre de fois un solide grâce à des options de répétition comme G4PVReplica, G4PVParameterised ou G4PVDivision. Ces volumes deviennent alors des volumes répétés et un seul volume physique peut représenter un grand nombre de volumes réels.

Dans le cadre de ce travail c’est essentiellement la paramétrisation qui a été utilisée, car, la réplication et la division de volumes ne permettent que de répéter un solide le long d’un axe. Par conséquent, avec ces deux dernières options, il n’est pas possible de placer des solides dans toutes les directions et les positions que l’on souhaite.

La paramétrisation consiste à répéter un volume un grand nombre de fois, dans n’importe quelle position. Cette option permet de réduire considérablement la mémoire utilisée et le temps de calcul si la géométrie implémentée contient un grand nombre de volumes, ce qui est le cas dans notre travail. En effet, nous verrons dans la section 3.3 que, pour implémenter le génome complet d’une cellule, il a été nécessaire d’implémenter un grand très nombre de boucles de chromatine, contenant chacune un très grand nombre de nucléosomes, c’est donc les boucles de chromatine que nous avons choisies de paramétriser.

Pour cela il est nécessaire d’implémenter une classe à part (Parametrisation) qui sera ensuite appelée dans le DetectorConstruction. Cette classe contient les informations sur le volume solide (forme) ainsi que les positions et les rotations de ceux-ci. Dans notre cas, les informations sur les positions et les rotations pour les boucles contenues dans chaque territoire chromosomique sont stockées dans un fichier texte et seront ensuite lues par le DetectorConstruction.

Sur la figure III-7 reporte les différentes étapes nécessaires à la création d’une géométrie dans Geant4 ainsi que quelques exemples de classes et fonctions qui peuvent être utilisées par les différents types de volumes :

Figure III-7 : Etapes nécessaires à la définition d’un volume géométrique dans le fichier DetectorConstruction.cc.