File indexing completed on 2025-12-29 09:42:45
0001
0002
0003 #ifndef EDM4EIC_TrackPoint_H
0004 #define EDM4EIC_TrackPoint_H
0005
0006 #include "edm4eic/Cov2f.h"
0007 #include "edm4eic/Cov3f.h"
0008 #include "edm4hep/Vector3f.h"
0009 #include <cstdint>
0010 #include <ostream>
0011
0012 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0013 #include "nlohmann/json_fwd.hpp"
0014 #endif
0015
0016 namespace edm4eic {
0017
0018
0019
0020
0021
0022
0023 class TrackPoint {
0024 public:
0025 std::uint64_t surface{};
0026 std::uint32_t system{};
0027 ::edm4hep::Vector3f position{};
0028 ::edm4eic::Cov3f positionError{};
0029 ::edm4hep::Vector3f momentum{};
0030 ::edm4eic::Cov3f momentumError{};
0031 float time{};
0032 float timeError{};
0033 float theta{};
0034 float phi{};
0035 ::edm4eic::Cov2f directionError{};
0036 float pathlength{};
0037 float pathlengthError{};
0038
0039
0040 };
0041
0042 std::ostream& operator<<(std::ostream& o, const TrackPoint& value);
0043
0044 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0045 void to_json(nlohmann::json& j, const TrackPoint& value);
0046 #endif
0047
0048 namespace v850 {
0049 using TrackPoint = edm4eic::TrackPoint;
0050 }
0051
0052
0053 }
0054
0055
0056 #endif