Skip to main content

lindhard/
lib.rs

1//! `lindhard` — clean-room Monte Carlo transport of ions and electrons in matter.
2//!
3//! Roadmap, milestone status and the module plan are in `docs/architecture.md`.
4//! Each module's own documentation is the maintained description of what it
5//! provides:
6//!
7//! * [`constants`]: physical constants in SI units, each with its source.
8//! * [`contour`]: iso-dose contours of a gridded field, with area and centroid.
9//! * [`electron`]: electron transport, from validated data to tallies.
10//! * [`elements`]: the per-element data table, Z = 1..=92.
11//! * [`exposure`]: dose of a multi-shot exposure from a fitted Gaussian-sum PSF.
12//! * [`geometry`]: the `Geometry` trait and the layered, voxel and mesh targets.
13//! * [`input`]: the TOML run description (beam, target, physics, run size).
14//! * [`ion`]: ion transport, screening, stopping, damage and crystal targets.
15//! * [`material`]: elements combined into materials with their energies.
16//! * [`rng`]: deterministic per-particle random streams and the parallel driver.
17//! * [`tally`]: histograms, moments, distributions and other result statistics.
18//! * [`units`]: unit conventions and conversions.
19
20#![forbid(unsafe_code)]
21
22pub mod constants;
23pub mod contour;
24pub mod electron;
25pub mod elements;
26pub mod exposure;
27pub mod geometry;
28pub mod input;
29pub mod ion;
30pub mod material;
31pub mod rng;
32pub mod tally;
33pub mod units;
34mod vec3;
35
36/// Crate version, as stamped by Cargo.
37pub const VERSION: &str = env!("CARGO_PKG_VERSION");