Medium 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 in MediaPropertiesClasses.
Enums
-
struct MediumData
- #include <MediumProperties.hpp>
Enum for all known Media types.
The internal integer type of a medium enum.
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
-
struct MediumData