File indexing completed on 2025-01-18 09:55:40
0001
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
0018
0019
0020
0021 class TrackState {
0022 public:
0023 std::int32_t location{};
0024 float D0{};
0025 float phi{};
0026 float omega{};
0027 float Z0{};
0028 float tanLambda{};
0029 float time{};
0030 ::edm4hep::Vector3f referencePoint{};
0031
0032
0033 std::array<float, 21> covMatrix{};
0034
0035
0036
0037 static const int AtOther = 0;
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 }
0053
0054 #endif