Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:33

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 /** @class TrackPoint
0019  *  
0020  *  @author: 
0021  */
0022 class TrackPoint {
0023 public:
0024   std::uint64_t surface{}; ///< Surface track was propagated to (possibly multiple per detector)
0025   std::uint32_t system{}; ///< Detector system track was propagated to
0026   ::edm4hep::Vector3f position{}; ///< Position of the trajectory point [mm]
0027   ::edm4eic::Cov3f positionError{}; ///< Error on the position
0028   ::edm4hep::Vector3f momentum{}; ///< 3-momentum at the point [GeV]
0029   ::edm4eic::Cov3f momentumError{}; ///< Error on the 3-momentum
0030   float time{}; ///< Time at this point [ns]
0031   float timeError{}; ///< Error on the time at this point
0032   float theta{}; ///< polar direction of the track at the surface [rad]
0033   float phi{}; ///< azimuthal direction of the track at the surface [rad]
0034   ::edm4eic::Cov2f directionError{}; ///< Error on the polar and azimuthal angles
0035   float pathlength{}; ///< Pathlength from the origin to this point
0036   float pathlengthError{}; ///< Error on the pathlength
0037 
0038 
0039 };
0040 
0041 std::ostream& operator<<(std::ostream& o, const edm4eic::TrackPoint& value);
0042 
0043 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0044 void to_json(nlohmann::json& j, const TrackPoint& value);
0045 #endif
0046 
0047 } // namespace edm4eic
0048 
0049 
0050 #endif