Celeritas
0.5.0-86+4a8eea4
|
Access amalgamated data for an element. More...
#include <ElementView.hh>
Public Types | |
Type aliases | |
using | MaterialParamsRef = NativeCRef< MaterialParamsData > |
using | AmuMass = units::AmuMass |
Public Member Functions | |
CELER_FUNCTION | ElementView (MaterialParamsRef const ¶ms, ElementId el_id) |
Construct from shared material data and global element ID. | |
CELER_FORCEINLINE_FUNCTION AtomicNumber | atomic_number () const |
Atomic number Z. More... | |
CELER_FUNCTION AmuMass | atomic_mass () const |
Abundance-weighted atomic mass M [amu]. | |
CELER_FUNCTION IsotopeComponentId::size_type | num_isotopes () const |
Number of isotopes available for this element. | |
CELER_FUNCTION IsotopeView | make_isotope_view (IsotopeComponentId id) const |
Get isotope properties for a given index. | |
CELER_FUNCTION IsotopeId | isotope_id (IsotopeComponentId id) const |
ID of an isotope in this element. | |
CELER_FUNCTION Span< ElIsotopeComponent const > | isotopes () const |
View the isotopic components (id/fraction) of this element. | |
CELER_FUNCTION real_type | cbrt_z () const |
Cube root of atomic number: Z^(1/3) | |
CELER_FUNCTION real_type | cbrt_zzp () const |
Cube root of Z*(Z+1) | |
CELER_FUNCTION real_type | log_z () const |
log(z) | |
CELER_FUNCTION real_type | coulomb_correction () const |
Coulomb correction term [unitless]. More... | |
CELER_FUNCTION real_type | mass_radiation_coeff () const |
Mass radiation coefficient 1/X_0 for Bremsstrahlung [len^2/mass]. More... | |
Access amalgamated data for an element.
This encapsulates general data specific to an element instance. (We may allow multiple element instances for an element eventually since they may have various enriched abundances of component isotopes.) It also provides access to ionization-related data, which in Geant4 is in a separate class.
One use case of this class is after sampling an element in an EM model.
The "derived quantities" may be calculated on-the-fly or stored in global memory. As with the particle track view, assume that accessing them is expensive and store them locally.
CELER_FUNCTION AtomicNumber celeritas::ElementView::atomic_number | ( | ) | const |
Atomic number Z.
Number of protons in an atom of this element.
|
inline |
Coulomb correction term [unitless].
Used by Bremsstrahlung and other physics processes, this constant is calculated with greater precision than in Geant4 (which is accurate to only 5 or 6 digits across the range of natural elements).
|
inline |
Mass radiation coefficient 1/X_0 for Bremsstrahlung [len^2/mass].
The "radiation length" X_0 is "the mean distance over which a high-energy electron loses all but 1/e of its energy by bremsstrahlung". See Review of Particle Physics (2020), S34.4.2 (p541) for the semi-empirical calculation of 1/X0.
This quantity 1/X_0 is normalized by material density and is equivalent to Geant4's G4Element::GetfRadTsai
.