Exemple Cherenkov
Cet exemple montre comment activer le rayonnement Cherenkov dans un détecteur GEMC. Les trois noms de radiateurs sont des étiquettes de démonstration neutres. Leurs constantes optiques peuvent être non physiques et ne doivent pas être interprétées comme des définitions de matériaux réels.
Vous pouvez exécuter cet exemple dans votre navigateur :
Démarrage rapide
Copiez l’exemple dans votre répertoire courant. Pour créer la géométrie, exécuter 1 événement et produire des fichiers de sortie ROOT et CSV :
cp -r $GEMC_HOME/examples/optical/cherenkov .
cd cherenkov
./cherenkov.py
gemc cherenkov.yaml -n=1
Géométrie
La géométrie, présentée ci-dessous, est définie dans cherenkov.py. Elle est produite en trois variations :
default, mediumIndexRadiator et highIndexRadiator.
Le monde (une boîte nommée root) contient une boîte radiator. Le matériau du radiateur dépend de la variation sélectionnée :
| variation | matériau | couleur | plage d’indice de réfraction |
|---|---|---|---|
| default | lowIndexRadiator | rouge | 1.0010-1.0013 |
| mediumIndexRadiator | mediumIndexRadiator | bleu | 1.0110-1.0150 |
| highIndexRadiator | highIndexRadiator | vert | 1.0500-1.0530 |
- un détecteur gPhotonDetector composé de quatre boîtes (detector_left, detector_right, detector_top et detector_bottom). Cela laisse un petit trou au centre pour le faisceau.
Visualiseur interactif :
Liste de physique
FTFP_BERT + G4OpticalPhysics est utilisée par défaut dans le fichier YAML. Le composant de physique optique est requis pour produire des photons optiques.
phys_list
The physics list can be selected using the option
gemc -phys_list <value>where
<value>can be a combination of the Geant4 physics constructors separated by the+sign. For examplegemc -phys_list="FTFP_BERT + G4NeutronCrossSectionXS"To see a list of the available Geant4 constructors:
gemc -showPhysics
Générateur
La cinématique des particules est définie dans le fichier YAML :
gparticle:
- name: e-
p: 1000*MeV
vz: -50*cm
Consultez également la documentation du générateur interne pour plus d’informations.
Numérisation
Les sensibilités des volumes du détecteur sont spécifiées avec la numérisation gPhotonDetector (l’une des routines GEMC préintégrées disponibles)
dans cherenkov.py.
L’identifier est utilisé pour distinguer les différentes boîtes du détecteur :
backplate.digitization = "gPhotonDetector"
backplate.set_identifier("detector", panel_id)
Consultez la documentation sur le flux pour plus d’informations.
Utilisation
Construction du détecteur
Utilisez le script Python cherenkov.py pour construire le détecteur. Par défaut, la configuration est stockée dans un fichier SQLite
nommé gemc.db. Les options en ligne de commande peuvent définir le type de base de données, les variations et le numéro de run.
Consultez également la construction de la géométrie pour plus d’informations.
Exécution de GEMC
Le fichier cherenkov.yaml peut être utilisé pour lancer la configuration. Ajoutez -gui pour un fonctionnement interactif :
gemc cherenkov.yaml -gui
Le YAML définit g4view.cloudPoints: 60000 afin que les volumes de style nuage soient suffisamment denses pour les captures d’écran de la géométrie rendue.
Modifiez cherenkov.yaml selon vos besoins, en particulier pour ajouter des particules, contrôler le nombre de threads ou changer la sortie.
La numérisation gPhotonDetector enregistre les photons optiques même lorsqu’ils ne déposent aucune énergie, de sorte que recordZeroEdep
n’est pas requis pour cet exemple.
Variations
Dans le fichier YAML, la variation est définie sur mediumIndexRadiator. Vous pouvez la remplacer par default ou highIndexRadiator pour changer le matériau. Par exemple :
gsystem:
- name: cherenkov
variation: highIndexRadiator
Différents matériaux de radiateur produisent différents rendements et angles de photons, comme illustré ci-dessous. Leurs constantes optiques sont des valeurs de démonstration et peuvent être non physiques. Utilisez le nom de la variation dans le nom de fichier gstreamer lorsque vous souhaitez des fichiers de sortie distincts pour chaque variation.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Gauche : lowIndexRadiator, Centre : mediumIndexRadiator, Droite : highIndexRadiator.
Exécution des événements
Sortie
L’option gstreamer sélectionne les noms de fichiers de sortie et le format :
gstreamer:
- format: csv
filename: cherenkov
Comme gPhotonDetector est une numérisation par événement, GEMC produira un fichier de sortie par thread.
Pour les fichiers ROOT, vous pouvez utiliser hadd pour fusionner les fichiers.
Consultez également la documentation sur la sortie pour plus d’informations.
Tracé avec l’analyseur GEMC
Exécutez d’abord GEMC avec 1 événement. Le fichier YAML par défaut écrit les flux CSV de l’analyseur.
gemc cherenkov.yaml -n=1
Tracez l’énergie totale déposée par coup :
gemc-analyzer cherenkov_t0_digitized.csv totEdep --kind csv

Tracez les positions des coups y en fonction de x :
gemc-analyzer cherenkov_t0_true_info.csv --kind csv --data true_info --plot yvsx --bins 80





