You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The template command creates a small detector system, the Python script writes `gemc.db`, `gemc` runs the simulation, and `gemc-analyzer` plots a variable from the CSV output.
56
59
60
+
<br/>
61
+
57
62
## Installation
58
63
59
64
Choose the installation path based on what you need:
@@ -62,6 +67,8 @@ Choose the installation path based on what you need:
62
67
- Build GEMC from source for the full Geant4 simulation executable and the bundled `pygemc` Python environment.
63
68
- Use Docker when you want a ready-to-run development environment without managing local Geant4 dependencies.
64
69
70
+
<br/>
71
+
65
72
### From Source
66
73
67
74
GEMC uses [Meson](https://mesonbuild.com). A normal source build is:
@@ -102,6 +109,8 @@ Published image families include:
102
109
103
110
See the [installation page](https://gemc.github.io/home/installation/) for Docker, browser GUI, and Apptainer examples.
104
111
112
+
<br/>
113
+
105
114
## Python Geometry Workflow
106
115
107
116
Detector systems are usually written with [`pygemc`](https://pypi.org/project/pygemc/), the GEMC Python package:
@@ -130,6 +139,8 @@ Geometry scripts can write SQLite or ASCII databases, display geometry with PyVi
130
139
./counter.py -pvvtk counter -pvz 0.25
131
140
```
132
141
142
+
<br/>
143
+
133
144
### PyVista Visualization
134
145
135
146
PyVista is part of the normal GEMC geometry workflow. It lets users inspect detector geometry before running
@@ -178,6 +189,8 @@ Open the linked interactive PyVista scenes generated from the GEMC examples.
178
189
179
190
GitHub README pages cannot embed `.vtksz` scenes directly, so the image above links to the hosted VTK.js viewer.
180
191
192
+
<br/>
193
+
181
194
## Running Simulations
182
195
183
196
GEMC is configured with YAML files and equivalent command-line options. A compact steering file can define the run number, event count, generator, geometry systems, output streamers, and world volume:
@@ -226,6 +239,9 @@ gemc counter.yaml -n=10 \
226
239
-g4light="[{phi: 160*deg, theta: 120*deg}]"
227
240
```
228
241
242
+
<br/>
243
+
244
+
229
245
## Output and Analysis
230
246
231
247
The output layer is plugin-based. Built-in streamer formats include:
@@ -235,7 +251,6 @@ The output layer is plugin-based. Built-in streamer formats include:
235
251
|`ascii`| Human-readable text output |
236
252
|`csv`| Per-thread CSV tables for digitized hits, true information, generated particles, and tracked generated particles |
237
253
|`json`| Structured event output |
238
-
|`jlabsro`| Binary JLAB SRO frame records |
239
254
|`root`| ROOT TTrees, available when GEMC is built with ROOT |
The CI system also builds Docker images, runs the Meson test suite, runs sanitizer builds, generates Doxygen documentation, performs CodeQL analysis, and publishes nightly development release notes. Each pull request additionally publishes a ready-to-run, multi-arch container image built from the branch, so authors and reviewers can test it without a local build — see [Preview container image](CONTRIBUTING.md#preview-container-image) in the contributing guide.
0 commit comments