File indexing completed on 2025-10-17 08:19:38
0001 #ifndef GLOBALVERTEX_TRUTHVERTEXV1_H
0002 #define GLOBALVERTEX_TRUTHVERTEXV1_H
0003
0004 #include "TruthVertex.h"
0005
0006 #include <iostream>
0007 #include <limits>
0008
0009 class TruthVertex_v1 : public TruthVertex
0010 {
0011 public:
0012 TruthVertex_v1() = default;
0013 ~TruthVertex_v1() override = default;
0014
0015
0016 void identify(std::ostream& os = std::cout) const override;
0017 void Reset() override { *this = TruthVertex_v1(); }
0018 int isValid() const override;
0019 PHObject* CloneMe() const override { return new TruthVertex_v1(*this); }
0020
0021
0022 unsigned int get_id() const override { return _id; }
0023 void set_id(unsigned int id) override { _id = id; }
0024
0025 float get_t() const override { return _t; }
0026 void set_t(float t) override { _t = t; }
0027
0028 float get_t_err() const override { return _t_err; }
0029 void set_t_err(float t_err) override { _t_err = t_err; }
0030
0031 float get_z() const override { return _z; }
0032 void set_z(float z) override { _z = z; }
0033
0034 float get_z_err() const override { return _z_err; }
0035 void set_z_err(float z_err) override { _z_err = z_err; }
0036
0037 float get_x() const override { return _x; }
0038 void set_x(float x) override { _x = x; }
0039
0040 float get_x_err() const override { return _x_err; }
0041 void set_x_err(float x_err) override { _x_err = x_err; }
0042
0043 float get_y() const override { return _y; }
0044 void set_y(float y) override { _y = y; }
0045
0046 float get_y_err() const override { return _y_err; }
0047 void set_y_err(float y_err) override { _y_err = y_err; }
0048
0049 private:
0050 unsigned int _id{std::numeric_limits<unsigned int>::max()};
0051 float _t{std::numeric_limits<float>::quiet_NaN()};
0052 float _t_err{std::numeric_limits<float>::quiet_NaN()};
0053 float _z{std::numeric_limits<float>::quiet_NaN()};
0054 float _z_err{std::numeric_limits<float>::quiet_NaN()};
0055 float _x{std::numeric_limits<float>::quiet_NaN()};
0056 float _x_err{std::numeric_limits<float>::quiet_NaN()};
0057 float _y{std::numeric_limits<float>::quiet_NaN()};
0058 float _y_err{std::numeric_limits<float>::quiet_NaN()};
0059
0060 ClassDefOverride(TruthVertex_v1, 1);
0061 };
0062
0063 #endif