Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-29 09:42:45

0001 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
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 /** @class TrackPoint
0020  *  
0021  *  @author: 
0022  */
0023 class TrackPoint {
0024 public:
0025   std::uint64_t surface{}; ///< Surface track was propagated to (possibly multiple per detector)
0026   std::uint32_t system{}; ///< Detector system track was propagated to
0027   ::edm4hep::Vector3f position{}; ///< Position of the trajectory point [mm]
0028   ::edm4eic::Cov3f positionError{}; ///< Error on the position
0029   ::edm4hep::Vector3f momentum{}; ///< 3-momentum at the point [GeV]
0030   ::edm4eic::Cov3f momentumError{}; ///< Error on the 3-momentum
0031   float time{}; ///< Time at this point [ns]
0032   float timeError{}; ///< Error on the time at this point
0033   float theta{}; ///< polar direction of the track at the surface [rad]
0034   float phi{}; ///< azimuthal direction of the track at the surface [rad]
0035   ::edm4eic::Cov2f directionError{}; ///< Error on the polar and azimuthal angles
0036   float pathlength{}; ///< Pathlength from the origin to this point
0037   float pathlengthError{}; ///< Error on the pathlength
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 } // namespace v850
0051 
0052 
0053 } // namespace edm4eic
0054 
0055 
0056 #endif