File indexing completed on 2026-08-31 08:21:36
0001 #ifndef TRACKBASEHISTORIC_SVTXTRACKSEED_V3_H
0002 #define TRACKBASEHISTORIC_SVTXTRACKSEED_V3_H
0003
0004 #include "TrackSeed.h"
0005
0006 #include <phool/PHObject.h>
0007
0008 #include <cmath>
0009 #include <iostream>
0010 #include <limits>
0011
0012 class SvtxTrackSeed_v3 : public TrackSeed
0013 {
0014 public:
0015 SvtxTrackSeed_v3();
0016 ~SvtxTrackSeed_v3() override;
0017
0018 SvtxTrackSeed_v3(const SvtxTrackSeed_v3&);
0019 SvtxTrackSeed_v3& operator=(const SvtxTrackSeed_v3& seed);
0020
0021 void identify(std::ostream& os = std::cout) const override;
0022 void Reset() override { *this = SvtxTrackSeed_v3(); }
0023 int isValid() const override { return 1; }
0024 void CopyFrom(const TrackSeed&) override;
0025 void CopyFrom(TrackSeed* seed) override { CopyFrom(*seed); }
0026 PHObject* CloneMe() const override { return new SvtxTrackSeed_v3(*this); }
0027
0028 unsigned int get_silicon_seed_index() const override { return m_silicon_seed; }
0029 unsigned int get_tpc_seed_index() const override { return m_tpc_seed; }
0030 short int get_crossing_estimate() const override { return m_crossing_estimate; }
0031 short int get_crossing() const override { return m_crossing; }
0032 void set_silicon_seed_index(const unsigned int index) override { m_silicon_seed = index; }
0033 void set_tpc_seed_index(const unsigned int index) override { m_tpc_seed = index; }
0034 void set_crossing_estimate(const short int cross) override { m_crossing_estimate = cross; }
0035 void set_crossing(const short int cross) override { m_crossing = cross; }
0036
0037 private:
0038 unsigned int m_silicon_seed {std::numeric_limits<unsigned int>::max()};
0039 unsigned int m_tpc_seed {std::numeric_limits<unsigned int>::max()};
0040 short int m_crossing_estimate {std::numeric_limits<short>::max()};
0041 short int m_crossing {std::numeric_limits<short>::max()};
0042
0043 ClassDefOverride(SvtxTrackSeed_v3, 1);
0044 };
0045
0046 #endif