Celeritas  0.5.0-86+4a8eea4
Public Attributes | List of all members
celeritas::ImportData Struct Reference

Store imported physics data from external sources. More...

#include <ImportData.hh>

Public Types

Type aliases
using ZInt = int
 
using GeoMatIndex = unsigned int
 
using ImportSBMap = std::map< ZInt, ImportPhysics2DVector >
 
using ImportLivermorePEMap = std::map< ZInt, ImportLivermorePE >
 
using ImportAtomicRelaxationMap = std::map< ZInt, ImportAtomicRelaxation >
 
using ImportNeutronElasticMap = std::map< ZInt, ImportPhysicsVector >
 

Public Attributes

std::string units
 Unit system of the stored data: "cgs", "clhep", or "si".
 
Material data
std::vector< ImportIsotopeisotopes
 
std::vector< ImportElementelements
 
std::vector< ImportGeoMaterialgeo_materials
 
std::vector< ImportPhysMaterialphys_materials
 
Spatial region data
std::vector< ImportRegionregions
 
std::vector< ImportVolumevolumes
 
Physics data
std::vector< ImportParticleparticles
 
std::vector< ImportProcessprocesses
 
std::vector< ImportMscModelmsc_models
 
ImportSBMap sb_data
 
ImportLivermorePEMap livermore_pe_data
 
ImportNeutronElasticMap neutron_elastic_data
 
ImportAtomicRelaxationMap atomic_relaxation_data
 
ImportMuPairProductionTable mu_pair_production_data
 
Physics configuration options
ImportEmParameters em_params
 
ImportTransParameters trans_params
 
Optical data
ImportOpticalParameters optical_params
 
std::vector< ImportOpticalModeloptical_models
 
std::vector< ImportOpticalMaterialoptical_materials
 

Detailed Description

Store imported physics data from external sources.

All the data imported to Celeritas is stored in this single entity. This struct can be used in memory or recorded in a ROOT TBranch as a single TTree entry, which will be read by RootImporter to load the data into Celeritas. Currently, the TTree and TBranch names are hardcoded as geant4_data and ImportData in RootImporter .

Each entity's id is defined by its vector position. An ImportElement with id = 3 is stored at elements[3] . The same is true for geometry/physics/materials (all of which have an independent index!) and volumes.

Seltzer-Berger, Livermore PE, and atomic relaxation data are loaded based on atomic numbers, and thus are stored in maps. To retrieve specific data use find(atomic_number) .

The unit system of the data is stored in the "units" string. If empty (backward compatibility) or "cgs" the embedded contents are in CGS. If "clhep" the units are CLHEP (the native Geant4 unit system). The convert_to_native function will convert a data structure in place and update the units label. Refer to base/Units.hh for further information on unit systems.


The documentation for this struct was generated from the following file: