11 #include <corsika/output/BaseOutput.hpp> 14 #include <corsika/media/ShowerAxis.hpp> 15 #include <corsika/modules/writers/WriterOff.hpp> 16 #include <corsika/modules/writers/LongitudinalProfileWriterParquet.hpp> 30 namespace number_profile {
49 size_t constexpr
NColumns =
static_cast<size_t>(ProfileIndex::Entries);
54 static std::array<char const*, NColumns> constexpr ProfileIndexNames{
55 {
"charged",
"hadron",
"photon",
"electron",
"positron",
"muplus",
"muminus"}};
90 template <
typename TOutput = LongitudinalProfileWriterParquet<number_profile::NColumns>>
103 void startOfLibrary(boost::filesystem::path
const& directory)
final override;
105 void startOfShower(
unsigned int const showerId)
final override;
107 void endOfShower(
unsigned int const showerId)
final override;
109 void endOfLibrary()
final override;
114 void write(
Point const& p0,
Point const& p1, Code
const pid,
double const weight);
120 double const weight);
125 YAML::Node getSummary()
const;
130 YAML::Node getConfig()
const;
134 return profile_.at(static_cast<int>(index));
141 std::vector<number_profile::ProfileData> profile_;
146 #include <corsika/detail/modules/writers/LongitudinalWriter.inl> size_t constexpr NColumns
Number of columns (static).
The environment::ShowerAxis is created from a Point and a Vector and inside an Environment.
Import and extend the phys::units package.
ProfileIndex
Definition of longitudinal profile columns.
std::array< double, NColumns > ProfileData
Data type to store column data.
constexpr detail::Power< D, 2, X > square(quantity< D, X > const &x)
square.
`, since they are used everywhere as integral part of the framework.
Interface to particle properties.
The LongitudinalWriter can be used to pool the particle counts of several longitudinal profile proces...