Media Properties¶
- group MediaProperties
Medium types are useful most importantly for effective models like energy losses.
a particular medium (mixture of components) may have specif properties not reflected by its mixture of components.
The data provided here is automatically parsed from the file properties8.dat from NIST.
The data of each known medium can be access via the global functions in namespace corsika, or via a static class object with the following interface (here at the example of the class HydrogenGas):
static constexpr Medium medium() { return Medium::HydrogenGas; } static std::string const getName() { return data_.getName(); } static std::string const getPrettyName() { return data_.getPrettyName(); } static double getWeight() { return data_.getWeight (); } static int weight_significant_figure() { return data_.weight_significant_figure (); } static int weight_error_last_digit() { return data_.weight_error_last_digit(); } static double Z_over_A() { return data_.Z_over_A(); } static double getSternheimerDensity() { return data_.getSternheimerDensity(); } static double getCorrectedDensity() { return data_.getCorrectedDensity(); } static StateOfMatter getStateOfMatter() { return data_.getStateOfMatter(); } static MediumType getType() { return data_.getType(); } static std::string const getSymbol() { return data_.getSymbol(); } static double getIeff() { return data_.getIeff(); } static double getCbar() { return data_.getCbar(); } static double getX0() { return data_.getX0(); } static double getX1() { return data_.getX1(); } static double getAA() { return data_.getAA(); } static double getSK() { return data_.getSK(); } static double getDlt0() { return data_.getDlt0(); } inline static const MediumData data_ { "hydrogen_gas", "hydrogen gas (H%2#)", 1.008, 3, 7, 0.99212, 8.3748e-05, 8.3755e-05, StateOfMatter::DiatomicGas, MediumType::Element, "H", 19.2, 9.5835, 1.8639, 3.2718, 0.14092, 5.7273, 0.0 };
The numeric data known to CORSIKA 8 (and obtained from NIST) can be browsed below.
Typedefs
- MediumIntType = int16_t std::underlying_type< Medium >::type
Enums
-
struct corsika::MediumData¶
- #include <MediumProperties.hpp>
Simple object to group together the properties of a medium.
MediumDataInterface Interface methods
Interface functions for MediumData
-
inline std::string getPrettyName() const¶
returns name
-
inline double getWeight() const¶
returns pretty name
-
inline const int &weight_significant_figure() const¶
return weight
-
inline const int &weight_error_last_digit() const¶
return significnat figures of weight
-
inline const double &Z_over_A() const¶
return error of weight
-
inline double getSternheimerDensity() const¶
Z_over_A_.
-
inline double getCorrectedDensity() const¶
Sternheimer density.
-
inline StateOfMatter getStateOfMatter() const¶
corrected density
-
inline MediumType getType() const¶
state
-
inline std::string getSymbol() const¶
type
-
inline double getIeff() const¶
symbol
-
inline double getCbar() const¶
Ieff.
-
inline double getX0() const¶
Cbar.
-
inline double getX1() const¶
X0.
-
inline double getAA() const¶
X1.
-
inline double getSK() const¶
AA.
-
inline double getDlt0() const¶
Sk.
-
inline std::string getPrettyName() const¶