CORSIKA8  0.0.0
The framework to simulate particle cascades for astroparticle physics
ObservationPlaneWriterParquet.hpp
1 /*
2  * (c) Copyright 2021 CORSIKA Project, corsika-project@lists.kit.edu
3  *
4  * This software is distributed under the terms of the GNU General Public
5  * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
6  * the license.
7  */
8 
9 #pragma once
10 
11 #include <corsika/output/BaseOutput.hpp>
12 #include <corsika/output/ParquetStreamer.hpp>
15 
16 namespace corsika {
17 
19 
20  ParquetStreamer output_;
21 
22  public:
29 
33  void startOfLibrary(boost::filesystem::path const& directory) final override;
34 
38  void endOfShower() final override;
39 
46  void endOfLibrary() final override;
47 
48  protected:
52  void write(Code const& pid, units::si::HEPEnergyType const& energy,
53  units::si::LengthType const& x, units::si::LengthType const& y);
54 
55  }; // class ObservationPlaneWriterParquet
56 
57 } // namespace corsika
58 
59 #include <corsika/detail/modules/writers/ObservationPlaneWriterParquet.inl>
Import and extend the phys::units package.
void write(Code const &pid, units::si::HEPEnergyType const &energy, units::si::LengthType const &x, units::si::LengthType const &y)
Write a particle to the file.
ObservationPlaneWriterParquet()
Construct an ObservationPlane.
This class automates the construction of simple tabular Parquet files using the parquet::StreamWriter...
void endOfLibrary() final override
Called at the end of each library.
The cascade namespace assembles all objects needed to simulate full particles cascades.
This is the base class for all outputs so that they can be stored in homogeneous containers.
Definition: BaseOutput.hpp:20
void startOfLibrary(boost::filesystem::path const &directory) final override
Called at the start of each library.
Interface to particle properties.
void endOfShower() final override
Called at the end of each shower.