IAP GITLAB

Skip to content
Snippets Groups Projects
Commit d4d16712 authored by Ralf Ulrich's avatar Ralf Ulrich
Browse files

Merge branch 'andre-times' into 'master'

add times to tracks.parquet

See merge request !386
parents e17afb41 f81c1154
No related branches found
No related tags found
1 merge request!386add times to tracks.parquet
Pipeline #5383 passed with warnings
...@@ -28,7 +28,8 @@ namespace corsika { ...@@ -28,7 +28,8 @@ namespace corsika {
auto const end = vT.getPosition(1).getCoordinates(); auto const end = vT.getPosition(1).getCoordinates();
// write the track to the file // write the track to the file
this->write(vP.getPID(), vP.getEnergy(), start, end); this->write(vP.getPID(), vP.getEnergy(), start, vP.getTime() - vT.getDuration(), end,
vP.getTime());
return ProcessReturn::Ok; return ProcessReturn::Ok;
} }
...@@ -48,7 +49,7 @@ namespace corsika { ...@@ -48,7 +49,7 @@ namespace corsika {
// add default units for values // add default units for values
node["type"] = "TrackWriter"; node["type"] = "TrackWriter";
node["units"] = "GeV | m"; node["units"] = "GeV | m | s";
return node; return node;
} }
......
...@@ -30,12 +30,16 @@ namespace corsika { ...@@ -30,12 +30,16 @@ namespace corsika {
parquet::ConvertedType::NONE); parquet::ConvertedType::NONE);
output_.addField("start_z", parquet::Repetition::REQUIRED, parquet::Type::FLOAT, output_.addField("start_z", parquet::Repetition::REQUIRED, parquet::Type::FLOAT,
parquet::ConvertedType::NONE); parquet::ConvertedType::NONE);
output_.addField("start_t", parquet::Repetition::REQUIRED, parquet::Type::FLOAT,
parquet::ConvertedType::NONE);
output_.addField("end_x", parquet::Repetition::REQUIRED, parquet::Type::FLOAT, output_.addField("end_x", parquet::Repetition::REQUIRED, parquet::Type::FLOAT,
parquet::ConvertedType::NONE); parquet::ConvertedType::NONE);
output_.addField("end_y", parquet::Repetition::REQUIRED, parquet::Type::FLOAT, output_.addField("end_y", parquet::Repetition::REQUIRED, parquet::Type::FLOAT,
parquet::ConvertedType::NONE); parquet::ConvertedType::NONE);
output_.addField("end_z", parquet::Repetition::REQUIRED, parquet::Type::FLOAT, output_.addField("end_z", parquet::Repetition::REQUIRED, parquet::Type::FLOAT,
parquet::ConvertedType::NONE); parquet::ConvertedType::NONE);
output_.addField("end_t", parquet::Repetition::REQUIRED, parquet::Type::FLOAT,
parquet::ConvertedType::NONE);
// and build the streamer // and build the streamer
output_.buildStreamer(); output_.buildStreamer();
...@@ -47,7 +51,9 @@ namespace corsika { ...@@ -47,7 +51,9 @@ namespace corsika {
inline void TrackWriterParquet::write(Code const& pid, HEPEnergyType const& energy, inline void TrackWriterParquet::write(Code const& pid, HEPEnergyType const& energy,
QuantityVector<length_d> const& start, QuantityVector<length_d> const& start,
QuantityVector<length_d> const& end) { TimeType const& t_start,
QuantityVector<length_d> const& end,
TimeType const& t_end) {
// write the next row - we must write `shower_` first. // write the next row - we must write `shower_` first.
// clang-format off // clang-format off
...@@ -58,9 +64,11 @@ namespace corsika { ...@@ -58,9 +64,11 @@ namespace corsika {
<< static_cast<float>(start[0] / 1_m) << static_cast<float>(start[0] / 1_m)
<< static_cast<float>(start[1] / 1_m) << static_cast<float>(start[1] / 1_m)
<< static_cast<float>(start[2] / 1_m) << static_cast<float>(start[2] / 1_m)
<< static_cast<float>(t_start / 1_ns)
<< static_cast<float>(end[0] / 1_m) << static_cast<float>(end[0] / 1_m)
<< static_cast<float>(end[1] / 1_m) << static_cast<float>(end[1] / 1_m)
<< static_cast<float>(end[2] / 1_m) << static_cast<float>(end[2] / 1_m)
<< static_cast<float>(t_end / 1_ns)
<< parquet::EndRow; << parquet::EndRow;
// clang-format on // clang-format on
} }
......
...@@ -49,8 +49,8 @@ namespace corsika { ...@@ -49,8 +49,8 @@ namespace corsika {
* Write a track to the file. * Write a track to the file.
*/ */
void write(Code const& pid, units::si::HEPEnergyType const& energy, void write(Code const& pid, units::si::HEPEnergyType const& energy,
QuantityVector<length_d> const& start, QuantityVector<length_d> const& start, TimeType const& t_start,
QuantityVector<length_d> const& end); QuantityVector<length_d> const& end, TimeType const& t_end);
private: private:
ParquetStreamer output_; ///< The primary output file. ParquetStreamer output_; ///< The primary output file.
......
...@@ -21,7 +21,8 @@ struct TestWriterTrack : public TrackWriterParquet { ...@@ -21,7 +21,8 @@ struct TestWriterTrack : public TrackWriterParquet {
YAML::Node getConfig() const { return YAML::Node(); } YAML::Node getConfig() const { return YAML::Node(); }
void checkWrite() { void checkWrite() {
TrackWriterParquet::write(Code::Unknown, 1_eV, {2_m, 3_m, 4_m}, {5_m, 6_m, 7_m}); TrackWriterParquet::write(Code::Unknown, 1_eV, {2_m, 3_m, 4_m}, 5_s, {6_m, 7_m, 8_m},
9_s);
} }
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment