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

The ObservationPlane writes PDG codes, energies, and distances of particles to the central point of the plane into its output file. More...

#include <ObservationPlane.hpp>

Inheritance diagram for corsika::ObservationPlane< TTracking, TOutput >:

Public Member Functions

template<typename... TArgs>
 ObservationPlane (Plane const &plane, DirectionVector const &x_dir, bool const absorbing=true, TArgs &&... outputArgs)
 Construct a new Observation Plane object. More...
 
template<typename TParticle >
ProcessReturn doContinuous (Step< TParticle > &, bool const stepLimit)
 
template<typename TParticle , typename TTrajectory >
LengthType getMaxStepLength (TParticle const &, TTrajectory const &vTrajectory)
 
YAML::Node getConfig () const
 

Additional Inherited Members

- Public Types inherited from corsika::BaseProcess< ObservationPlane< TTracking, TOutput > >
using process_type = ObservationPlane< TTracking, TOutput >
 Base processor type for use in other template classes.
 
- Static Public Attributes inherited from corsika::BaseProcess< ObservationPlane< TTracking, TOutput > >
static bool const is_process_sequence
 
static bool const is_switch_process_sequence
 
- Protected Member Functions inherited from corsika::BaseProcess< ObservationPlane< TTracking, TOutput > >
ObservationPlane< TTracking, TOutput > & getRef ()
 
const ObservationPlane< TTracking, TOutput > & getRef () const
 
- Protected Attributes inherited from corsika::BaseProcess< ObservationPlane< TTracking, TOutput > >
friend TDerived
 

Detailed Description

template<typename TTracking, typename TOutput = ParticleWriterParquet>
class corsika::ObservationPlane< TTracking, TOutput >

The ObservationPlane writes PDG codes, energies, and distances of particles to the central point of the plane into its output file.

By default, the particles are considered "absorbed" afterwards. You can also set the ObservationPlane as non-absorbing.

The default output format is parquet.

Note/Limitation: as discussed in https://gitlab.iap.kit.edu/AirShowerPhysics/corsika/-/issues/397 you cannot put two ObservationPlanes exactly on top of each other. Even if one of them is "permeable". You have to put a small gap in between the two plane in such a scenario, or develop another more specialized output class.

Definition at line 39 of file ObservationPlane.hpp.

Constructor & Destructor Documentation

◆ ObservationPlane()

template<typename TTracking , typename TOutput = ParticleWriterParquet>
template<typename... TArgs>
corsika::ObservationPlane< TTracking, TOutput >::ObservationPlane ( Plane const &  plane,
DirectionVector const &  x_dir,
bool const  absorbing = true,
TArgs &&...  outputArgs 
)

Construct a new Observation Plane object.

Template Parameters
TArgs
Parameters
planeThe plane.
x_dirThe x-direction/axis.
absorbingFlag to make the plane absorbing.
outputArgs

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