Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
0002 
0003 #ifndef EDM4HEP_TrackState_H
0004 #define EDM4HEP_TrackState_H
0005 
0006 #include "edm4hep/Vector3f.h"
0007 #include <array>
0008 #include <cstdint>
0009 #include <ostream>
0010 
0011 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0012 #include "nlohmann/json_fwd.hpp"
0013 #endif
0014 
0015 namespace edm4hep {
0016 
0017 /** @class TrackState
0018  *
0019  *  @author:
0020  */
0021 class TrackState {
0022 public:
0023   std::int32_t location{};              ///< for use with At{Other|IP|FirstHit|LastHit|Calorimeter|Vertex}|LastLocation
0024   float D0{};                           ///< transverse impact parameter
0025   float phi{};                          ///< azimuthal angle
0026   float omega{};                        ///< is the signed curvature of the track in [1/mm].
0027   float Z0{};                           ///< longitudinal impact parameter
0028   float tanLambda{};                    ///< lambda is the dip angle of the track in r-z
0029   float time{};                         ///< time of the track at this trackstate
0030   ::edm4hep::Vector3f referencePoint{}; ///< Reference point of the track parameters, e.g. the origin at the IP, or the
0031                                         ///< position  of the first/last hits or the entry point into the calorimeter.
0032                                         ///< [mm]
0033   std::array<float, 21> covMatrix{};    ///< lower triangular covariance matrix of the track parameters.  the order of
0034                                      ///< parameters is  d0, phi, omega, z0, tan(lambda), time. the array is a row-major
0035                                      ///< flattening of the matrix.
0036 
0037   static const int AtOther = 0; // any location other than the ones defined below
0038   static const int AtIP = 1;
0039   static const int AtFirstHit = 2;
0040   static const int AtLastHit = 3;
0041   static const int AtCalorimeter = 4;
0042   static const int AtVertex = 5;
0043   static const int LastLocation = AtVertex;
0044 };
0045 
0046 std::ostream& operator<<(std::ostream& o, const edm4hep::TrackState& value);
0047 
0048 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
0049 void to_json(nlohmann::json& j, const TrackState& value);
0050 #endif
0051 
0052 } // namespace edm4hep
0053 
0054 #endif