File indexing completed on 2026-09-16 09:07:43
0001
0002
0003 #ifndef EDM4HEP_MCParticleDATA_H
0004 #define EDM4HEP_MCParticleDATA_H
0005
0006 #include "edm4hep/Vector2i.h"
0007 #include "edm4hep/Vector3d.h"
0008 #include "edm4hep/Vector3f.h"
0009 #include <cstdint>
0010
0011 namespace edm4hep {
0012
0013
0014
0015
0016
0017 class MCParticleData {
0018 public:
0019 std::int32_t PDG{};
0020 std::int32_t generatorStatus{};
0021 std::int32_t simulatorStatus{};
0022 float charge{};
0023 float time{};
0024
0025 double mass{};
0026 ::edm4hep::Vector3d vertex{};
0027 ::edm4hep::Vector3d endpoint{};
0028 ::edm4hep::Vector3d momentum{};
0029 ::edm4hep::Vector3d momentumAtEndpoint{};
0030 std::int32_t helicity{9};
0031
0032 unsigned int parents_begin{};
0033 unsigned int parents_end{};
0034 unsigned int daughters_begin{};
0035 unsigned int daughters_end{};
0036 };
0037
0038 namespace v6 {
0039 using MCParticleData = edm4hep::MCParticleData;
0040 }
0041
0042
0043 namespace v5 {
0044 class MCParticleData {
0045 public:
0046 std::int32_t PDG{};
0047 std::int32_t generatorStatus{};
0048 std::int32_t simulatorStatus{};
0049 float charge{};
0050 float time{};
0051
0052 double mass{};
0053 ::edm4hep::v5::Vector3d vertex{};
0054 ::edm4hep::v5::Vector3d endpoint{};
0055 ::edm4hep::v5::Vector3d momentum{};
0056 ::edm4hep::v5::Vector3d momentumAtEndpoint{};
0057 std::int32_t helicity{9};
0058
0059 unsigned int parents_begin{};
0060 unsigned int parents_end{};
0061 unsigned int daughters_begin{};
0062 unsigned int daughters_end{};
0063 };
0064 }
0065 namespace v4 {
0066 class MCParticleData {
0067 public:
0068 std::int32_t PDG{};
0069 std::int32_t generatorStatus{};
0070 std::int32_t simulatorStatus{};
0071 float charge{};
0072 float time{};
0073
0074 double mass{};
0075 ::edm4hep::v4::Vector3d vertex{};
0076 ::edm4hep::v4::Vector3d endpoint{};
0077 ::edm4hep::v4::Vector3d momentum{};
0078 ::edm4hep::v4::Vector3d momentumAtEndpoint{};
0079 std::int32_t helicity{9};
0080
0081 unsigned int parents_begin{};
0082 unsigned int parents_end{};
0083 unsigned int daughters_begin{};
0084 unsigned int daughters_end{};
0085 };
0086 }
0087 namespace v3 {
0088 class MCParticleData {
0089 public:
0090 std::int32_t PDG{};
0091 std::int32_t generatorStatus{};
0092 std::int32_t simulatorStatus{};
0093 float charge{};
0094 float time{};
0095
0096 double mass{};
0097 ::edm4hep::v3::Vector3d vertex{};
0098 ::edm4hep::v3::Vector3d endpoint{};
0099 ::edm4hep::v3::Vector3d momentum{};
0100 ::edm4hep::v3::Vector3d momentumAtEndpoint{};
0101 ::edm4hep::v3::Vector3f spin{};
0102
0103 unsigned int parents_begin{};
0104 unsigned int parents_end{};
0105 unsigned int daughters_begin{};
0106 unsigned int daughters_end{};
0107 };
0108 }
0109 namespace v2 {
0110 class MCParticleData {
0111 public:
0112 std::int32_t PDG{};
0113 std::int32_t generatorStatus{};
0114 std::int32_t simulatorStatus{};
0115 float charge{};
0116 float time{};
0117
0118 double mass{};
0119 ::edm4hep::v2::Vector3d vertex{};
0120 ::edm4hep::v2::Vector3d endpoint{};
0121 ::edm4hep::v2::Vector3d momentum{};
0122 ::edm4hep::v2::Vector3d momentumAtEndpoint{};
0123 ::edm4hep::v2::Vector3f spin{};
0124 ::edm4hep::v2::Vector2i colorFlow{};
0125
0126 unsigned int parents_begin{};
0127 unsigned int parents_end{};
0128 unsigned int daughters_begin{};
0129 unsigned int daughters_end{};
0130 };
0131 }
0132
0133 }
0134
0135 #endif