Skip to main content

Module tally

Module tally 

Source
Expand description

Tallies: turning particle histories into results.

  • hist: fixed-binning histograms with integer counts.
  • moments: mergeable one-pass moments (mean, σ, γ, β) with standard errors.
  • pearson: Pearson IV and dual-Pearson representations of a range profile.
  • ion: the crate::ion::bca::BcaTally that collects range, damage (NRT model estimates alongside cascade defect counts) and backscatter/transmission/sputter statistics, and its plain-data IonReport.
  • electron: the crate::electron::transport::ElectronTally that collects 3D energy deposition (Cartesian and cylindrical grids), backscatter and secondary yields split at a configurable energy (50 eV by default), escape spectra, generation-volume moments and the energy balance, and its plain-data ElectronReport.
  • exposure: per-electron energy deposited in small target volumes and the compound-Poisson distribution of the energy of a finite exposure.
  • psf: the radial point-spread function of a pencil beam in a depth slab (log radial bins, per-history errors) and its double- and triple-Gaussian fits, with CSV export and serde derives.
  • table_coverage: counts of the electron transport’s cross-section rate evaluations inside and beyond each table’s energy grid, per layer and channel (a numerical diagnostic, carried by the electron report).
  • voxel: the sparse 3D VoxelTally of implanted atoms, displacements and deposited energy on a regular grid (any geometry), with CSV and VTK export.
  • trajectory: the opt-in TrajectoryRecorder of per-history collision points of ions and their recoils, and the Recorded pairing with an ordinary tally.

Every accumulator here merges deterministically: integer counts are exact sums, and floating-point accumulators are combined in the order the caller merges them, which crate::rng::run_particles fixes to chunk order. The report types derive serde::Serialize, with units documented per field (SI lengths in metres, energies in eV, angles in radians).

Re-exports§

pub use dose::DepthDose;
pub use dose::DepthDoseConfig;
pub use dose::DoseConfig;
pub use dose::DoseError;
pub use dose::DoseReport;
pub use dose::Estimate;
pub use dose::InterfaceRefine;
pub use dose::InterfaceTransmission;
pub use dose::LayerDose;
pub use electron::net_mean_se;
pub use electron::CartesianCharge;
pub use electron::CartesianDeposition;
pub use electron::CartesianGrid;
pub use electron::ChargeCells;
pub use electron::ChargeCounts;
pub use electron::ChargeReport;
pub use electron::CylindricalCharge;
pub use electron::CylindricalDeposition;
pub use electron::CylindricalGrid;
pub use electron::DepositionReport;
pub use electron::ElectronEnergyBudget;
pub use electron::ElectronReport;
pub use electron::ElectronTallyConfig;
pub use electron::ElectronTallyError;
pub use electron::ElectronTallyMetadata;
pub use electron::EmissionClass;
pub use electron::EscapedCharge;
pub use electron::EventCapCounts;
pub use electron::FaceEmission;
pub use electron::FateCounts;
pub use electron::FullElectronTally;
pub use electron::GenerationVolume;
pub use electron::PrimaryStoppingPoints;
pub use electron::StoppingPoints;
pub use electron::Yields;
pub use electron::SE_BSE_SPLIT_EV;
pub use exposure::BeamProfile;
pub use exposure::Bracket;
pub use exposure::CompoundDistribution;
pub use exposure::CompoundPoisson;
pub use exposure::CompoundRequest;
pub use exposure::ExposureAccumulator;
pub use exposure::ExposureConfig;
pub use exposure::ExposureError;
pub use exposure::ExposureHistogram;
pub use exposure::ExposureReport;
pub use exposure::ExposureVolume;
pub use exposure::ExposureVolumeReport;
pub use exposure::QuantileResult;
pub use exposure::ThresholdResult;
pub use exposure::VolumeShape;
pub use hist::Binning;
pub use hist::BinningError;
pub use hist::Histogram;
pub use ion::CascadeDefects;
pub use ion::DamageReport;
pub use ion::EscapeReport;
pub use ion::FaceEscape;
pub use ion::IonReport;
pub use ion::IonTally;
pub use ion::IonTallyConfig;
pub use ion::LayerDamage;
pub use ion::LayerRange;
pub use ion::NrtDamage;
pub use ion::RangeReport;
pub use ion::SpeciesEscape;
pub use moments::MomentSummary;
pub use moments::Moments;
pub use pearson::type_iv_min_kurtosis;
pub use pearson::DualPearson;
pub use pearson::DualPearsonFit;
pub use pearson::PearsonError;
pub use pearson::PearsonIv;
pub use psf::fit_psf;
pub use psf::GaussianPsf;
pub use psf::LogRadialBinning;
pub use psf::PsfConfig;
pub use psf::PsfError;
pub use psf::PsfFit;
pub use psf::PsfFitOptions;
pub use psf::PsfModel;
pub use psf::PsfNormalization;
pub use psf::PsfReport;
pub use psf::PsfResidual;
pub use psf::RadialAccumulator;
pub use psf::RadialProfile;
pub use psf_scan::point_seed;
pub use psf_scan::scan_landing_points;
pub use psf_scan::PsfScanConfig;
pub use psf_scan::PsfScanError;
pub use psf_scan::PsfScanPoint;
pub use psf_scan::PsfScanReport;
pub use table_coverage::LayerTableCoverage;
pub use table_coverage::TableCoverageCounts;
pub use table_coverage::TableCoverageTally;
pub use trajectory::History;
pub use trajectory::Recorded;
pub use trajectory::Track;
pub use trajectory::TrackEnd;
pub use trajectory::TrajectoryConfig;
pub use trajectory::TrajectoryPoint;
pub use trajectory::TrajectoryRecorder;
pub use voxel::ExportProvenance;
pub use voxel::SpeciesDefects;
pub use voxel::VoxelCell;
pub use voxel::VoxelRecord;
pub use voxel::VoxelReport;
pub use voxel::VoxelTally;
pub use voxel::VoxelTallyError;
pub use voxel::VoxelTallyGrid;
pub use voxel::EXPORT_FORMAT_VERSION;

Modules§

dose
Dose to named layers, depth-dose through a stack, and interface transmission, for the electron tally.
electron
The electron tally: energy deposition, emission yields and spectra, wired to the electron transport hooks.
exposure
Exposure statistics: the distribution of the energy a small volume receives from a finite number of incident electrons.
hist
Fixed-binning histograms with integer counts.
ion
The full ion tally: ranges, damage and escapes, wired to the BCA engine.
moments
One-pass, mergeable central moments with standard errors.
pearson
Pearson type IV and dual-Pearson representations of range profiles.
psf
Radial point-spread function (PSF) of a pencil beam: extraction from the electron deposition tally and double- or triple-Gaussian fits.
psf_scan
Position-dependent point-spread function: the energy an electron beam deposits in a thin depth slab as its landing point is scanned across a laterally varying (voxel) target.
table_coverage
How often the electron transport read each cross-section table inside its energy grid, and how often it used the constant continuation beyond an end.
trajectory
Opt-in recorder of ion paths: the collision points of chosen histories.
voxel
Sparse 3D voxel tallies of implanted atoms, damage and deposited energy, with CSV and VTK export.