From 3d592fd14291b8e7b8f2088893026158f983797a Mon Sep 17 00:00:00 2001 From: Jean-Marco Alameddine <jean-marco.alameddine@tu-dortmund.de> Date: Wed, 20 Oct 2021 12:32:47 +0200 Subject: [PATCH] Add tracking of particle times to observation plane writer --- corsika/detail/modules/ObservationPlane.inl | 2 +- .../modules/writers/ObservationPlaneWriterParquet.inl | 7 +++++-- corsika/modules/writers/ObservationPlaneWriterParquet.hpp | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/corsika/detail/modules/ObservationPlane.inl b/corsika/detail/modules/ObservationPlane.inl index b3d4b916c..b40e8d772 100644 --- a/corsika/detail/modules/ObservationPlane.inl +++ b/corsika/detail/modules/ObservationPlane.inl @@ -51,7 +51,7 @@ namespace corsika { // add our particles to the output file stream this->write(particle.getPID(), energy, displacement.dot(xAxis_), - displacement.dot(yAxis_)); + displacement.dot(yAxis_), particle.getTime()); CORSIKA_LOG_TRACE("Particle detected absorbed={}", deleteOnHit_); diff --git a/corsika/detail/modules/writers/ObservationPlaneWriterParquet.inl b/corsika/detail/modules/writers/ObservationPlaneWriterParquet.inl index 60752c56a..5eef28a41 100644 --- a/corsika/detail/modules/writers/ObservationPlaneWriterParquet.inl +++ b/corsika/detail/modules/writers/ObservationPlaneWriterParquet.inl @@ -31,6 +31,8 @@ namespace corsika { parquet::ConvertedType::NONE); output_.addField("y", parquet::Repetition::REQUIRED, parquet::Type::FLOAT, parquet::ConvertedType::NONE); + output_.addField("t", parquet::Repetition::REQUIRED, parquet::Type::FLOAT, + parquet::ConvertedType::NONE); // and build the streamer output_.buildStreamer(); @@ -43,12 +45,13 @@ namespace corsika { inline void ObservationPlaneWriterParquet::write(Code const& pid, HEPEnergyType const& energy, LengthType const& x, - LengthType const& y) { + LengthType const& y, + TimeType const& t) { // write the next row - we must write `shower_` first. *(output_.getWriter()) << shower_ << static_cast<int>(get_PDG(pid)) << static_cast<float>(energy / 1_GeV) << static_cast<float>(x / 1_m) << static_cast<float>(y / 1_m) - << parquet::EndRow; + << static_cast<float>(t / 1_ns) << parquet::EndRow; } } // namespace corsika diff --git a/corsika/modules/writers/ObservationPlaneWriterParquet.hpp b/corsika/modules/writers/ObservationPlaneWriterParquet.hpp index 2a5089c26..5963aa100 100644 --- a/corsika/modules/writers/ObservationPlaneWriterParquet.hpp +++ b/corsika/modules/writers/ObservationPlaneWriterParquet.hpp @@ -50,7 +50,8 @@ namespace corsika { * Write a particle to the file. */ void write(Code const& pid, units::si::HEPEnergyType const& energy, - units::si::LengthType const& x, units::si::LengthType const& y); + units::si::LengthType const& x, units::si::LengthType const& y, + units::si::TimeType const& t); }; // class ObservationPlaneWriterParquet -- GitLab