CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::LongitudinalWriter< TOutput > Class Template Reference

The LongitudinalWriter can be used to pool the particle counts of several longitudinal profile processes into one output file/stream. More...

#include <LongitudinalWriter.hpp>

Inheritance diagram for corsika::LongitudinalWriter< TOutput >:

Public Member Functions

 LongitudinalWriter (ShowerAxis const &axis, GrammageType dX=10_g/square(1_cm))
 Construct a new writer.
 
 LongitudinalWriter (ShowerAxis const &axis, size_t nbins, GrammageType dX=10_g/square(1_cm))
 
void startOfLibrary (boost::filesystem::path const &directory) final override
 
void startOfShower (unsigned int const showerId) final override
 
void endOfShower (unsigned int const showerId) final override
 
void endOfLibrary () final override
 
void write (Point const &p0, Point const &p1, Code const pid, double const weight)
 Add continuous profile.
 
void write (GrammageType const Xstart, GrammageType const Xend, Code const pid, double const weight)
 Add binned profile.
 
YAML::Node getSummary () const
 Return a summary.
 
YAML::Node getConfig () const
 Return the configuration of this output.
 
number_profile::ProfileData const & getProfile (number_profile::ProfileIndex index) const
 

Detailed Description

template<typename TOutput = LongitudinalProfileWriterParquet<number_profile::NColumns>>
class corsika::LongitudinalWriter< TOutput >

The LongitudinalWriter can be used to pool the particle counts of several longitudinal profile processes into one output file/stream.

Typically several processes/modules can lead to particle counts along the shower axis in the shower. The LongitudianalWriter can be used in combination with the SubWriter class to collect all of them into a single output stream:

# showerAxis must be a ShowerAxis object
# the X binning can be specified.
LongitudinalWriter profile{showerAxis, 10_g / square(1_cm), 200};
# add to OutputManager:
output.add("profile", profile);
# add SubWriters, e.g. LongitudinalProfile, CONEX:
LongitudinalProfile<SubWriter<decltype(profile)>> long{profile};
CONEXhybrid<SubWriter<decltype(profile)>> conex{..., profile};
...

The default output option is parquet format.

Template Parameters
TOutput

Definition at line 91 of file LongitudinalWriter.hpp.


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