diff --git a/corsika/detail/modules/ObservationPlane.inl b/corsika/detail/modules/ObservationPlane.inl index 99d416bc3ff7f566e9ed98ebd194e2d15c431bde..a8882c7d38d2addf91684563651d0890c000f4f8 100644 --- a/corsika/detail/modules/ObservationPlane.inl +++ b/corsika/detail/modules/ObservationPlane.inl @@ -9,15 +9,18 @@ namespace corsika { template <typename TOutput> + template <typename... TArgs> ObservationPlane<TOutput>::ObservationPlane(Plane const& obsPlane, DirectionVector const& x_axis, - bool const deleteOnHit) + bool const deleteOnHit, + TArgs&&... args) : plane_(obsPlane) , deleteOnHit_(deleteOnHit) , energy_ground_(0_GeV) , count_ground_(0) , xAxis_(x_axis.normalized()) - , yAxis_(obsPlane.getNormal().cross(xAxis_)) {} + , yAxis_(obsPlane.getNormal().cross(xAxis_)) + , TOutput(std::forward<TArgs>(args)...) {} template <typename TTracking, typename TOutput> template <typename TParticle, typename TTrajectory> diff --git a/corsika/modules/ObservationPlane.hpp b/corsika/modules/ObservationPlane.hpp index b2c276ee64abcf89a58d84be2b7a184a178b7930..cb84db4be4adbbce215d1d5cc8afcec2018ad833 100644 --- a/corsika/modules/ObservationPlane.hpp +++ b/corsika/modules/ObservationPlane.hpp @@ -36,7 +36,9 @@ namespace corsika { public TOutputWriter { public: - ObservationPlane(Plane const&, DirectionVector const&, bool const = true); + template <typename... TArgs> + ObservationPlane(Plane const&, DirectionVector const&, bool const = true, + TArgs&&... args); ~ObservationPlane() {}