CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
TrackWriter.hpp
1 /*
2  * (c) Copyright 2020 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/framework/process/ContinuousProcess.hpp>
12 #include <corsika/modules/writers/TrackWriterParquet.hpp>
13 #include <corsika/modules/writers/WriterOff.hpp>
14 #include <corsika/framework/core/Step.hpp>
15 
16 namespace corsika {
17 
31  template <typename TOutput = TrackWriterParquet>
32  class TrackWriter : public ContinuousProcess<TrackWriter<TOutput>>, public TOutput {
33 
34  public:
35  TrackWriter();
36 
37  template <typename TParticle>
38  ProcessReturn doContinuous(Step<TParticle> const&, bool const limitFlag);
39 
40  template <typename TParticle, typename TTrack>
41  LengthType getMaxStepLength(TParticle const&, TTrack const&);
42 
43  YAML::Node getConfig() const;
44 
45  private:
46  };
47 
49 
50 } // namespace corsika
51 
52 #include <corsika/detail/modules/TrackWriter.inl>
Processes with continuous effects along a particle Trajectory.
`, since they are used everywhere as integral part of the framework.
ProcessReturn
since in a process sequence many status updates can accumulate for a single particle, this enum should define only bit-flags that can be accumulated easily with "|="
To write 3D track data to disk.
Definition: TrackWriter.hpp:32