Skip to content

Commit 526955f

Browse files
committed
release notes
1 parent d808ad3 commit 526955f

2 files changed

Lines changed: 192 additions & 168 deletions

File tree

README.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ The project goal is to make Geant4-based simulation accessible to users who want
1616

1717
![GEMC architecture](https://gemc.github.io/home/assets/images/gemcArchitecture.svg)
1818

19+
<br/>
20+
1921
## Highlights
2022

2123
- Python-first detector definition through [`pygemc`](https://github.com/gemc/pygemc)
@@ -32,6 +34,7 @@ The project goal is to make Geant4-based simulation accessible to users who want
3234
- Python analyzer for plotting GEMC CSV and ROOT output
3335
- Meson-based C++ build with CI-tested Docker images for Linux `amd64` and `arm64`
3436

37+
<br/>
3538

3639
## Quickstart
3740

@@ -54,6 +57,8 @@ gemc-analyzer counter_t0_digitized.csv totEdep --kind csv --bins 50
5457

5558
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.
5659

60+
<br/>
61+
5762
## Installation
5863

5964
Choose the installation path based on what you need:
@@ -62,6 +67,8 @@ Choose the installation path based on what you need:
6267
- Build GEMC from source for the full Geant4 simulation executable and the bundled `pygemc` Python environment.
6368
- Use Docker when you want a ready-to-run development environment without managing local Geant4 dependencies.
6469

70+
<br/>
71+
6572
### From Source
6673

6774
GEMC uses [Meson](https://mesonbuild.com). A normal source build is:
@@ -102,6 +109,8 @@ Published image families include:
102109

103110
See the [installation page](https://gemc.github.io/home/installation/) for Docker, browser GUI, and Apptainer examples.
104111

112+
<br/>
113+
105114
## Python Geometry Workflow
106115

107116
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
130139
./counter.py -pvvtk counter -pvz 0.25
131140
```
132141

142+
<br/>
143+
133144
### PyVista Visualization
134145

135146
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.
178189

179190
GitHub README pages cannot embed `.vtksz` scenes directly, so the image above links to the hosted VTK.js viewer.
180191

192+
<br/>
193+
181194
## Running Simulations
182195

183196
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 \
226239
-g4light="[{phi: 160*deg, theta: 120*deg}]"
227240
```
228241

242+
<br/>
243+
244+
229245
## Output and Analysis
230246

231247
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:
235251
| `ascii` | Human-readable text output |
236252
| `csv` | Per-thread CSV tables for digitized hits, true information, generated particles, and tracked generated particles |
237253
| `json` | Structured event output |
238-
| `jlabsro` | Binary JLAB SRO frame records |
239254
| `root` | ROOT TTrees, available when GEMC is built with ROOT |
240255

241256
Analyze CSV or ROOT output with:
@@ -245,6 +260,8 @@ gemc-analyzer counter_t0_digitized.csv totEdep --kind csv --bins 50
245260
gemc-analyzer out.root E --kind root --detector flux --save energy.png
246261
```
247262

263+
<br/>
264+
248265
## Examples
249266

250267
The repository includes examples under `examples/`, with matching documentation and rendered assets on the project site:
@@ -256,6 +273,8 @@ The repository includes examples under `examples/`, with matching documentation
256273
- `examples/basic/pyvista`: PyVista visualization examples
257274
- `examples/optical/cherenkov`: optical photon and Cherenkov workflow
258275

276+
<br/>
277+
259278
## Development
260279

261280
Build and install:
@@ -278,16 +297,13 @@ meson test -C build -v --print-errorlogs <testname>
278297

279298
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.
280299

300+
<br/>
301+
281302
## Documentation
282303

283-
- [Project homepage](https://gemc.github.io/home/)
284-
- [Installation](https://gemc.github.io/home/installation/)
285-
- [User documentation](https://gemc.github.io/home/documentation/)
286-
- [Examples](https://gemc.github.io/home/examples/)
287-
- [Doxygen workflow](https://github.com/gemc/src/actions/workflows/doxygen.yml)
288-
- [Python geometry API repository](https://github.com/gemc/pygemc)
304+
- [GEMC homepage](https://gemc.github.io/home/)
305+
- [Python API repository](https://github.com/gemc/pygemc)
289306
- [CLAS12 GEMC systems repository](https://github.com/gemc/clas12-systems)
290-
- [Documentation website repository](https://github.com/gemc/home)
291307
- [GEMC2 / CLAS12 repository](https://github.com/gemc/clas12Tags)
292308

293309
This repository is GEMC version 3 and newer. CLAS12 GEMC2 simulations are maintained separately in `gemc/clas12Tags`.

0 commit comments

Comments
 (0)