EICd
EIC data model
TrackPoint.h
Go to the documentation of this file.
1// AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2
3#ifndef EICD_TrackPoint_H
4#define EICD_TrackPoint_H
5
6#include "eicd/Cov2f.h"
7#include "eicd/Cov3f.h"
8#include "edm4hep/Vector3f.h"
9#include <ostream>
10
11#ifdef PODIO_JSON_OUTPUT
12#include "nlohmann/json.hpp"
13#endif
14
15namespace eicd {
16
17
19public:
20 ::edm4hep::Vector3f position{}; ///< Position of the trajectory point [mm]
21 ::eicd::Cov3f positionError{}; ///< Error on the position
22 ::edm4hep::Vector3f momentum{}; ///< 3-momentum at the point [GeV]
23 ::eicd::Cov3f momentumError{}; ///< Error on the 3-momentum
24 float time{}; ///< Time at this point [ns]
25 float timeError{}; ///< Error on the time at this point
26 float theta{}; ///< polar direction of the track at the surface [rad]
27 float phi{}; ///< azimuthal direction of the track at the surface [rad]
28 ::eicd::Cov2f directionError{}; ///< Error on the polar and azimuthal angles
29 float pathlength{}; ///< Pathlength from the origin to this point
30 float pathlengthError{}; ///< Error on the pathlenght
31
32
33};
34
35inline std::ostream& operator<<(std::ostream& o, const eicd::TrackPoint& value) {
36 o << value.position << " ";
37 o << value.positionError << " ";
38 o << value.momentum << " ";
39 o << value.momentumError << " ";
40 o << value.time << " ";
41 o << value.timeError << " ";
42 o << value.theta << " ";
43 o << value.phi << " ";
44 o << value.directionError << " ";
45 o << value.pathlength << " ";
46 o << value.pathlengthError << " ";
47
48 return o;
49}
50
51#ifdef PODIO_JSON_OUTPUT
52inline void to_json(nlohmann::json& j, const TrackPoint& value) {
53 j = nlohmann::json{
54 {"position", value.position}
55 ,{"positionError", value.positionError}
56 ,{"momentum", value.momentum}
57 ,{"momentumError", value.momentumError}
58 ,{"time", value.time}
59 ,{"timeError", value.timeError}
60 ,{"theta", value.theta}
61 ,{"phi", value.phi}
62 ,{"directionError", value.directionError}
63 ,{"pathlength", value.pathlength}
64 ,{"pathlengthError", value.pathlengthError}
65 };
66}
67#endif
68
69} // namespace eicd
70
71
72#endif
Definition: Cov2f.h:15
Definition: Cov3f.h:15
Definition: TrackPoint.h:18
::edm4hep::Vector3f position
Position of the trajectory point [mm].
Definition: TrackPoint.h:20
float pathlength
Pathlength from the origin to this point.
Definition: TrackPoint.h:29
::edm4hep::Vector3f momentum
3-momentum at the point [GeV]
Definition: TrackPoint.h:22
float pathlengthError
Error on the pathlenght.
Definition: TrackPoint.h:30
float phi
azimuthal direction of the track at the surface [rad]
Definition: TrackPoint.h:27
::eicd::Cov2f directionError
Error on the polar and azimuthal angles.
Definition: TrackPoint.h:28
float theta
polar direction of the track at the surface [rad]
Definition: TrackPoint.h:26
::eicd::Cov3f momentumError
Error on the 3-momentum.
Definition: TrackPoint.h:23
float time
Time at this point [ns].
Definition: TrackPoint.h:24
float timeError
Error on the time at this point.
Definition: TrackPoint.h:25
::eicd::Cov3f positionError
Error on the position.
Definition: TrackPoint.h:21
Definition: CalorimeterHit.cc:13
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition: CalorimeterHit.cc:93