Licenza
Consulta le condizioni di licenza.
Note di rilascio
La lettura in streaming richiede le interfacce SRO di GEMC 0.5 e i plugin degli
esperimenti ricompilati con la stessa installazione di GEMC. L’encoder JLAB di FT-Cal
appartiene a clas12-systems; la sola installazione di pygemc non fornisce l’implementazione SRO nativa.
Gli esempi su vertice e angoli includono 11 schede di configurazione e grafici Analyzer già preparati. Usa GEMC 0.5 o versioni successive; i grafici della GUI richiedono Qt Charts. Le simulazioni batch e i controlli CSV funzionano anche senza Qt Charts.
Indice
- Installare l’API Python
- Scaricare una distribuzione binaria precompilata
- Compilare dai sorgenti
- Eseguire in un container Docker
- Appendice:
Installare l’API Python
pygemc è disponibile su PyPI.
Usa un ambiente virtuale per le installazioni dirette con pip:
python3 -m venv ~/venv/pygemc
source ~/venv/pygemc/bin/activate
python -m pip install pygemc
I moduli Jupyter opzionali usati per l’esportazione VTK di PyVista possono essere installati con:
python -m pip install "pygemc[jupyter]"
Le dipendenze opzionali per l’analisi dei file ROOT possono essere installate con:
python -m pip install "pygemc[root]"
PyPI non installa l’eseguibile gemc, ma consente di
creare e visualizzare geometrie o analizzare i risultati.
Scaricare una distribuzione binaria precompilata
I tarball binari contengono l’eseguibile gemc e gli esempi (ma non pygemc). Le build Linux sono disponibili
per amd64 e arm64; la build macOS è nativa per Apple Silicon (arm64).
Controlla i Prerequisiti software per l’installazione binaria prima di estrarre il tarball.
Scegli prima una directory di installazione:
gemc_home=/path/to/gemc
mkdir -p "$gemc_home"
cd "$gemc_home"
Poi usa i comandi della scheda corrispondente alla tua distribuzione Linux e all’architettura della CPU. Questo installerà GEMC e i file Geant4 data.
Dopo l’installazione, carica il file di ambiente di GEMC con source. Aggiungi questa riga a .bashrc o .zshrc
se vuoi che l’ambiente sia disponibile in ogni shell:
source /path/to/gemc/gemc.env
Esegui alcuni controlli per verificare l’installazione:
gemc -v
test_gdynamic_plugin_load
test_gdata_event_verbose
Compilare dai sorgenti
Per compilare GEMC avrai bisogno di Geant4. Consulta i Prerequisiti software e installazione di Geant4 per la compilazione di GEMC nell’appendice per l’elenco completo dei requisiti.
1. Ottenere i sorgenti
Scarica il codice:
2. Configurare la build e installare GEMC
Per compilare e installare GEMC viene usato il sistema di build Meson.
La fase di configurazione verificherà le dipendenze richieste e scaricherà le librerie esterne.
Qui usiamo una directory build.
meson setup build --prefix=/path/to/install/gemc
La fase di installazione compilerà e installerà GEMC. Qui usiamo -q per una build silenziosa.
meson install -C build -q
Facoltativamente, dopo l’installazione, esegui meson test -C build per testare la build di GEMC configurata.
Opzioni di build
- L’opzione di configurazione
-Droot=enabledaggiungerà il supporto a ROOT (richiede ROOT installato sul sistema). - L’opzione di configurazione
-Di_test=trueabiliterà le interfacce GUI nei test. - Usa
-vdurante la build o i test per un output dettagliato. - Per eliminare la directory di build e ricominciare da capo, usa
rm -rf builde poi riesegui la configurazione. - Usa
-jNper impostare il numero di thread durante la compilazione.
Dopo l’installazione
Aggiungi queste righe al file di configurazione della tua shell (ad esempio ~/.bashrc o ~/.zshrc):
export PATH=/path/to/install/gemc/bin:/path/to/install/gemc/python_env/bin:$PATH
La seconda voce di PATH aggiunge l’ambiente virtuale Python incluso, così che python3
punti all’interprete dell’ambiente virtuale, rendendo disponibile import pygemc
nei tuoi script.
Verifica il simulatore e gli strumenti Python installati con:
gemc -v
gemc-system-template --help
gemc-analyzer --help
Sistemi di rivelatori CLAS12 dai sorgenti
I sistemi di rivelatori CLAS12
(clas12-systems) 0.3 si compilano con la stessa procedura Meson e non
richiedono più un’installazione preesistente di GEMC. In un ambiente con il solo Geant4, per esempio
un’immagine Docker di g4install, la build compila automaticamente GEMC dal
sottoprogetto gemc e lo installa nello stesso prefisso, così la geometria dei rivelatori e i plugin possono
essere installati interamente da zero. Solo Geant4 deve essere già presente (non viene mai compilato); GEMC viene
cercato, nell’ordine, nel percorso esplicito -Duse-gemc-location=<dir>, tra le installazioni presenti tramite
PATH/pkg-config e, infine, nel sottoprogetto compilato dai sorgenti.
git clone --depth=1 --branch 0.3 https://github.com/gemc/clas12-systems
cd clas12-systems
meson setup build --prefix="$PWD/install" # builds GEMC too if none is installed
meson compile -C build
meson install -C build
Eseguire in un container Docker
Puoi usare Docker per eseguire GEMC. Le immagini disponibili sono elencate di seguito.
Sono supportate sia arm64 sia amd64 (eccetto nelle immagini Arch Linux, disponibili solo per amd64 1).
| Sistema operativo | Versione GEMC | Indirizzo del registry | arm64 | amd64 |
|---|---|---|---|---|
| AlmaLinux 10 | dev | ghcr.io/gemc/src:dev-almalinux-10 |
true | true |
| ArchLinux latest | dev | ghcr.io/gemc/src:dev-archlinux-latest |
false | true |
| Debian 13 | dev | ghcr.io/gemc/src:dev-debian-13 |
true | true |
| Fedora 44 | dev | ghcr.io/gemc/src:dev-fedora-44 |
true | true |
| Ubuntu 24.04 | dev | ghcr.io/gemc/src:dev-ubuntu-24.04 |
true | true |
| Ubuntu 26.04 | dev | ghcr.io/gemc/src:dev-ubuntu-26.04 |
true | true |
Gli indirizzi qui sopra rimandano alle immagini su Docker Hub, pubblicate nel
programma Docker-Sponsored Open Source, che consente
pull anonimi illimitati. Sono copie della build di riferimento su
GitHub Container Registry: i due registry hanno contenuti
e tag identici. Per effettuare il pull da GHCR, sostituisci il prefisso docker.io/gemc/gemc: con
ghcr.io/gemc/src: mantenendo lo stesso tag, ad esempio ghcr.io/gemc/src:dev-ubuntu-24.04.
Si consiglia di montare una directory locale tramite bind mount per salvare e conservare il tuo lavoro.
A titolo di esempio, i comandi seguenti associano il percorso del container /mywork a
~/mywork e usano l’immagine ghcr.io/gemc/src:dev-almalinux-10.
immagini archlinux amd64.
Modalità batch
docker run -it --rm -v ~/mywork:/mywork ghcr.io/gemc/src:dev-almalinux-10 bash
Interfaccia grafica nel browser
Imposta queste variabili di supporto per la sessione interattiva. Scegli la tua password:
VPORTS=(-p 6080:6080 -p 5900:5900)
VNC_PASS=(-e X11VNC_PASSWORD=change-me)
VNC_BIND=(-e VNC_BIND=0.0.0.0)
GEO_FLAGS=(-e GEOMETRY=1920x1200)
docker run -it --rm -v ~/mywork:/mywork $VPORTS $VNC_BIND $VNC_PASS $GEO_FLAGS ghcr.io/gemc/src:dev-almalinux-10
Poi apri nel browser http://localhost:6080/vnc.html per accedere
all’interfaccia grafica.
Eseguire con Apptainer
Gli host Linux possono usare apptainer (precedentemente singularity) per eseguire i container Docker.
Puoi usarlo con le immagini Docker qui sopra. Funziona in modo simile a Docker, ma l’entrypoint deve essere
caricato esplicitamente con source.
apptainer exec --cleanenv --bind ~/mywork:/mywork docker://ghcr.io/gemc/src:dev-almalinux-10 bash
Poi:
source /usr/local/bin/docker-entrypoint.sh
gemc -v
Warning
L’interfaccia grafica, in particolare le finestre OpenGL, potrebbe non funzionare correttamente in Apptainer quando ti connetti tramite un host remoto.
Nota
Apptainer usa una directory di cache predefinita per memorizzare le immagini. Se si riempie, imposta la directory di cache e quella temporanea in una posizione con spazio su disco sufficiente. Per esempio, imposta
sim_cachesu un percorso con spazio sufficiente:export sif_cache=/path/to/$USER/cachepoi imposta queste variabili:
export APPTAINER_CACHEDIR=$sif_cache/apptainer-cache export APPTAINER_TMPDIR=$sif_cache/apptainer-tmp export TMPDIR=$sif_cache/apptainer-tmped esegui di nuovo apptainer.
Appendice
Prerequisiti software per l’installazione binaria
Le installazioni da tarball binario richiedono solo i pacchetti di runtime necessari all’eseguibile gemc e gli
strumenti usati per scaricare ed estrarre l’archivio. ROOT è volutamente escluso da questo elenco.
Prerequisiti software e installazione di Geant4 per la compilazione di GEMC
-
Strumenti di build e compilatori:
-
Pacchetti di sistema (tipicamente installati con il gestore di pacchetti del tuo sistema):
Comandi su una riga per installare pacchetti di base e dipendenze su MacOS e alcune distribuzioni Linux diffuse:
-
Librerie esterne, compilate dai sorgenti con lo standard C++ di GEMC (C++20 per GEMC 0.5 o versioni successive):
Important
GEMC può usare qualsiasi installazione personalizzata di CLHEP/Xerces-C/Geant4, tuttavia
consigliamo di usare il repository g4install per installare Geant4,
poiché consente la coesistenza di più versioni di Geant4 e fornisce script di installazione.
Piattaforme supportate e testate
-
macOS: 26 (Apple Silicon,
arm64) - AlmaLinux: 10
- ArchLinux: latest
- Debian: 13
- Fedora: 44
- Ubuntu: 24.04
- Ubuntu: 26.04
-
Sui Mac con Apple Silicon aggiungi l’opzione
--platform linux/amd64al comandodocker runper usare le ↩