Exemple du détecteur de temps de vol avant de CLAS12
Cet exemple présente la géométrie du détecteur de temps de vol avant (FTOF) de CLAS12 issue de clas12-systems.
Démarrage rapide
Depuis le dépôt clas12-systems, construisez la base de données de géométrie et lancez une courte simulation :
cd $GEMC_HOME/../clas12-systems/geometry_src/ftof
./ftof.py
gemc ftof.yaml -n=1
Géométrie
La géométrie, présentée ci-dessous, est définie dans geometry_src/ftof/ftof.py et geometry_src/ftof/geometry.py.
L’outil de construction FTOF lit la fabrique de géométrie locale de coatjava, convertit les panneaux du détecteur
de temps de vol avant de CLAS12 et les barreaux scintillants en volumes GEMC, puis les enregistre dans gemc.db.
Le monde (une boîte nommée root) contient, pour chacun des six secteurs :
- trois volumes mères de panneau nommés ftof_p1a_s<sector>, ftof_p1b_s<sector> et ftof_p2_s<sector>
- des barreaux scintillants nommés panel1a_sector<sector>paddle<n> (23 barreaux), panel1b_… (62) et panel2_… (5)
- un blindage en plomb derrière les panneaux 1a et 2 nommé ftof_shield_p1a_sector<sector> et ftof_shield_p2_sector<sector>
Visualiseur interactif :
Liste de physique
FTFP_BERT est utilisée par défaut et sélectionnée dans le fichier YAML avec phys_list: FTFP_BERT.
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: 5000*MeV
delta_p: 1*GeV
theta: 25*deg
delta_theta: 15*deg
randomThetaModel: cosine
delta_phi: 180*deg
Voir aussi la documentation du générateur interne pour en savoir plus.
Numérisation
Les barreaux scintillants utilisent le plugin de numérisation ftof propre à CLAS12. Chaque barreau est lu aux deux extrémités : le plugin répartit donc chaque impact entre deux canaux de photomultiplicateurs (PMT), gauche (Left) et droit (Right). Les identifiants indiquent le secteur, le panneau, le barreau et le côté du PMT :
gvolume.digitization = "ftof"
gvolume.set_identifier("sector", sector, "panel", layer, "paddle", paddle, "side", 0)
Utilisation
Construction du détecteur
Utilisez geometry_src/ftof/ftof.py pour construire le détecteur. Par défaut, la configuration est stockée
dans un fichier SQLite nommé gemc.db.
Voir aussi la construction de la géométrie pour en savoir plus.
Exécution de GEMC
Le fichier ftof.yaml peut être utilisé pour lancer la simulation. Ajoutez -gui pour une exécution interactive :
gemc ftof.yaml -gui
Modifiez ftof.yaml selon vos besoins, en particulier pour ajouter des particules, contrôler le nombre de
threads ou modifier la sortie.
Simulation d’événements
Sortie
L’option gstreamer sélectionne les noms de fichiers et les formats de sortie :
gstreamer:
- format: csv
filename: ftof
- format: hipo
filename: ftof
Voir aussi la documentation sur la sortie pour en savoir plus.
Tracé avec l’analyseur GEMC
Lancez d’abord GEMC avec 2 000 événements. Le fichier YAML par défaut écrit les flux CSV de l’analyseur.
gemc ftof.yaml -n=2000 -no_field=all -plugin_path=/opt/projects/gemc/clas12-systems/build
Tracez l’énergie totale déposée par impact :
gemc-analyzer ftof_t0_true_info.csv totalEDeposited --kind csv --data true_info

Tracez les coordonnées y des impacts en fonction de leurs coordonnées x :
gemc-analyzer ftof_t0_true_info.csv --kind csv --data true_info --plot yvsx --bins 80
