Skip to main content

mcpl-geant4

This package faciliates the usage of Monte Carlo Particle Lists ( MCPL, https://mctools.github.io/mcpl/ ) files with Geant4.

Usage in Geant4 (C++) code

The interface between MCPL and Geant4 consists of two classes, G4MCPLGenerator and G4MCPLWriter, which users can use to either generate primary events from the particles in an existing MCPL file (1 particle per event), or to capture the particle state of particles entering one or more specified volumes in the simulation geometry and write them to a new MCPL file.

Refer to https://mctools.github.io/mcpl/hooks_geant4/ and section 3.1 of the MCPL paper (https://doi.org/10.1016/j.cpc.2017.04.012) for how to use these two classes in a Geant4 simulation.

Usage Examples

Two complete usage examples along with the necessary CMake code is provided in the mcpl-geant4 repository at:

Installation and Configuration

To use the MCPL-Geant4 bindings, one must:

  1. Install MCPL and Geant4. Although it is possible to build both projects manually, it should be noted that both are available on conda-forge. If not using conda, note that MCPL is also available on PyPI, so assuming Geant4 has already been installed in another manner, it might be possible to simply complete the setup by a pip install mcpl.
  2. Install mcpl-geant4. This can be done by pip install mcpl-geant4, or alternatively by cloning the repository at https://github.com/mctools/ncrystal-geant4 and setting the CMake variable NCrystalGeant4_DIR to point at the src/mcpl_geant4/cmake subdir of the cloned repo.
  3. Edit your projects CMakeLists.txt to add a find_package(MCPLGeant4) statement, and adding the MCPLGeant4::MCPLGeant4 target as a dependency of the Geant4 application you are building.
  4. Edit your C++ code and include the header file(s) MCPLGeant4/G4MCPLWriter.hh and/or MCPLGeant4/G4MCPLGenerator.hh as needed. Then use the corresponding classes in your Geant4 code as needed (see above for usage instructions.

Scientific reference

A substantial effort went into developing MCPL. If you use it for your work, we would appreciate it if you would use the following reference in your work:

T. Kittelmann, et al., Monte Carlo Particle Lists: MCPL, Computer Physics Communications, Volume 218, September 2017, Pages 17-42, ISSN 0010-4655, https://doi.org/10.1016/j.cpc.2017.04.012

Metadata

Release files for mcpl-geant4 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcpl-geant4 0.0.4
File Size Uploaded
mcpl_geant4-0.0.4.tar.gz 19.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcpl-geant4 0.0.4
File Interpreter ABI Platform
mcpl_geant4-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 42.5 kB

Release files / mcpl_geant4-0.0.4.tar.gz

Download URL mcpl_geant4-0.0.4.tar.gz
Size 19.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ca249fa422026cfdc5d9660ba55e0194f8aeba69dee0d84e9c6e473eaf8480dd
BLAKE2b-256 checksum
How to use checksums
3669a2bac8a3ddb9ccb20613f55034662934bc194336acde0d7e9d1dce075914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2025.

Transparency log

Release files / mcpl_geant4-0.0.4-py3-none-any.whl

Download URL mcpl_geant4-0.0.4-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
651dbd932d906a4ba4d37dba12dba7711313843b9ba93da068b728d78b26009e
BLAKE2b-256 checksum
How to use checksums
2c58606d1b2b04ed00c74d740e89d7af32878a05c0af549c0853f14cae75c654
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page