Esempio Cherenkov
Questo esempio mostra come attivare la radiazione Cherenkov in un rivelatore GEMC. I tre nomi dei radiatori sono etichette dimostrative neutre. Le loro costanti ottiche potrebbero non essere fisicamente realistiche e non vanno interpretate come definizioni di materiali reali.
Puoi eseguire questo esempio nel tuo browser:
Avvio rapido
Copia l’esempio nella tua directory corrente. Per creare la geometria, eseguire 1 evento e produrre i file di output ROOT e CSV:
cp -r $GEMC_HOME/examples/optical/cherenkov .
cd cherenkov
./cherenkov.py
gemc cherenkov.yaml -n=1
Geometria
La geometria, mostrata di seguito, è definita in cherenkov.py. Viene prodotta in tre varianti:
default, mediumIndexRadiator e highIndexRadiator.
Il mondo (un box chiamato root) contiene un box radiator. Il materiale del radiatore dipende dalla variante selezionata:
| variante | materiale | colore | intervallo dell’indice di rifrazione |
|---|---|---|---|
| default | lowIndexRadiator | rosso | 1.0010-1.0013 |
| mediumIndexRadiator | mediumIndexRadiator | blu | 1.0110-1.0150 |
| highIndexRadiator | highIndexRadiator | verde | 1.0500-1.0530 |
- un rivelatore gPhotonDetector composto da quattro box (detector_left, detector_right, detector_top e detector_bottom). Questo lascia un piccolo foro al centro per il fascio.
Visualizzatore interattivo:
Lista della fisica
Per impostazione predefinita, nel file YAML viene usato FTFP_BERT + G4OpticalPhysics. Il componente di fisica ottica è necessario per produrre fotoni ottici.
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
Generatore
La cinematica delle particelle è definita nel file YAML:
gparticle:
- name: e-
p: 1000*MeV
vz: -50*cm
Vedi anche la Documentazione del generatore interno per maggiori informazioni.
Digitalizzazione
Le sensibilità dei volumi del rivelatore sono specificate con la digitalizzazione gPhotonDetector (una delle routine GEMC predefinite disponibili)
in cherenkov.py.
L’identifier è usato per distinguere i diversi box del rivelatore:
backplate.digitization = "gPhotonDetector"
backplate.set_identifier("detector", panel_id)
Vedi la Documentazione sul flusso per maggiori informazioni.
Utilizzo
Costruzione del rivelatore
Usa lo script Python cherenkov.py per costruire il rivelatore. Per impostazione predefinita, la configurazione è salvata in un file SQLite
chiamato gemc.db. Le opzioni da riga di comando possono definire il tipo di database, le varianti e il numero di run.
Vedi anche Costruzione della geometria per maggiori informazioni.
Esecuzione di GEMC
Il file cherenkov.yaml può essere usato per eseguire la configurazione. Aggiungi -gui per eseguire in modo interattivo:
gemc cherenkov.yaml -gui
Il file YAML imposta g4view.cloudPoints: 60000 in modo che i volumi in stile nuvola siano abbastanza densi per gli screenshot della geometria renderizzata.
Modifica cherenkov.yaml secondo necessità, in particolare per aggiungere particelle, controllare il numero di thread o cambiare l’output.
La digitalizzazione gPhotonDetector registra i fotoni ottici anche quando depositano energia nulla, quindi recordZeroEdep
non è necessario per questo esempio.
Varianti
All’interno del file YAML, la variante è impostata su mediumIndexRadiator. Puoi sostituirla con default o highIndexRadiator per cambiare il materiale. Ad esempio:
gsystem:
- name: cherenkov
variation: highIndexRadiator
Materiali del radiatore diversi producono rese e angoli fotonici diversi, come mostrato di seguito. Le loro costanti ottiche sono valori dimostrativi e potrebbero non essere fisicamente realistici. Usa il nome della variante nel nome del file gstreamer quando vuoi file di output separati per ogni variante.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Sinistra: lowIndexRadiator, Centro: mediumIndexRadiator, Destra: highIndexRadiator.
Esecuzione degli eventi
Output
L’opzione gstreamer seleziona i nomi dei file di output e il formato:
gstreamer:
- format: csv
filename: cherenkov
Poiché gPhotonDetector è una digitalizzazione per evento, GEMC produrrà un file di output per thread.
Per i file ROOT, puoi usare hadd per unire i file.
Vedi anche la Documentazione sull’output per maggiori informazioni.
Creazione di grafici con l’Analizzatore GEMC
Esegui prima GEMC con 1 evento. Il file YAML predefinito scrive i flussi CSV dell’analizzatore.
gemc cherenkov.yaml -n=1
Traccia l’energia totale depositata per hit:
gemc-analyzer cherenkov_t0_digitized.csv totEdep --kind csv

Traccia le posizioni degli hit y vs x:
gemc-analyzer cherenkov_t0_true_info.csv --kind csv --data true_info --plot yvsx --bins 80





