Esempio di contatore Cherenkov a bassa soglia di CLAS12
Questo esempio mostra la geometria del contatore Cherenkov a bassa soglia (LTCC) di CLAS12 disponibile in
clas12-systems. Combina l’ottica nativa degli specchi di GEMC con mesh CAD caricate tramite la funzionalità
gcad. Entrambi i sistemi sono memorizzati in un unico database SQLite.
La geometria e la digitizzazione dell’LTCC sono disponibili in clas12-systems 0.3 con GEMC 0.5 e pygemc 0.5.0.
Avvio rapido
Dal repository clas12-systems, genera il database della geometria ed esegui una breve simulazione:
cd $GEMC_HOME/../clas12-systems/geometry_src/ltcc
./ltcc.py
gemc ltcc.yaml -n=1
Geometria
La geometria, mostrata di seguito, è definita in geometry_src/ltcc/geometry.py e orchestrata da
geometry_src/ltcc/ltcc.py. I costruttori nativi sono un porting degli script Perl originali di clas12Tags
(forme degli specchi, PMT e schermature in ferro), mentre i coni Winston riflettenti e il telaio meccanico
sono importati come mesh CAD. Le righe dei volumi nativi usano il sistema SQLite ltcc e le righe delle
mesh usano il sistema CAD separato ltcc_cad. Entrambi condividono lo stesso database, la stessa variante
e lo stesso run, quindi un unico gemc.db carica il rivelatore completo.
Il volume mondo (un parallelepipedo chiamato root) contiene, per ciascuno dei sei settori:
- un volume madre a cuneo riempito di gas chiamato ltccS<sector> che contiene l’ottica di quel settore
- segmenti di specchio cilindrici, iperbolici ed ellittici definiti con la superficie ottica ltcc_AlMgF2
- tubi fotomoltiplicatori chiamati pmt_s<sector><side>_<n>, con lettura a sinistra e a destra di ciascun segmento
- schermature in ferro da 5 mm che coprono la faccia esterna dei coni Winston
- coni Winston CAD (WC_S, WC_M, WC_L) e mesh del telaio riutilizzate come posizionamenti copyOf
Visualizzatore interattivo:
Lista di fisica
L’LTCC è un rivelatore Cherenkov, quindi i fotoni ottici devono essere prodotti e tracciati. Il file YAML
seleziona FTFP_BERT + G4OpticalPhysics con phys_list: FTFP_BERT + G4OpticalPhysics.
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: 5000*MeV
delta_p: 1*GeV
theta: 25*deg
delta_theta: 15*deg
randomThetaModel: cosine
phi: 60*deg
delta_phi: 180*deg
Vedi anche la Documentazione del generatore interno per altri dettagli.
Digitizzazione
I tubi fotomoltiplicatori usano il plugin di digitizzazione ltcc specifico di CLAS12. Gli identificatori registrano il settore, il lato del PMT e il segmento di specchio da cui il tubo raccoglie il segnale:
pmt.digitization = "ltcc"
pmt.set_identifier("sector", sector, "side", side_id, "segment", n)
Utilizzo
Costruzione del rivelatore
Usa geometry_src/ltcc/ltcc.py per costruire il rivelatore. Lo script definisce i materiali e le superfici
degli specchi, pubblica i volumi nativi ltcc, carica le definizioni CAD per il sistema ltcc_cad da
stls/cad__default.yaml e aggiunge i posizionamenti CAD copyOf. Per impostazione predefinita, entrambi i
sistemi sono memorizzati in un file SQLite chiamato gemc.db.
Vedi anche la Costruzione della geometria per altri dettagli.
Esecuzione di GEMC
Il file ltcc.yaml può essere usato per eseguire la simulazione con questa configurazione. Aggiungi -gui
per l’esecuzione interattiva:
gemc ltcc.yaml -gui
Modifica ltcc.yaml secondo necessità, in particolare per aggiungere particelle, controllare il numero di
thread o cambiare l’output.
Esecuzione degli eventi
Output
L’opzione gstreamer seleziona i nomi dei file di output e i formati:
gstreamer:
- format: csv
filename: ltcc
- format: hipo
filename: ltcc
Vedi anche la Documentazione dell’output per maggiori informazioni.
Creazione di grafici con l’analizzatore GEMC
Esegui prima GEMC con 2.000 eventi. Il file YAML predefinito scrive i flussi CSV dell’analizzatore.
gemc ltcc.yaml -n=2000 -no_field=all -plugin_path=/opt/projects/gemc/clas12-systems/build
Traccia l’energia totale depositata per hit:
gemc-analyzer ltcc_t0_true_info.csv totalEDeposited --kind csv --data true_info

Traccia le posizioni degli hit, y in funzione di x:
gemc-analyzer ltcc_t0_true_info.csv --kind csv --data true_info --plot yvsx --bins 80
