File indexing completed on 2026-08-31 08:21:22
0001
0002
0003 #ifndef TPCTRACKRECO_TPCMODULETRACKV1_H
0004 #define TPCTRACKRECO_TPCMODULETRACKV1_H
0005
0006 #include "Tpc_ModuleTrack.h"
0007
0008 #include <iostream>
0009 #include <utility>
0010 #include <vector>
0011
0012 class Tpc_ModuleTrackv1 : public Tpc_ModuleTrack
0013 {
0014 public:
0015 Tpc_ModuleTrackv1();
0016 ~Tpc_ModuleTrackv1() override = default;
0017
0018 void identify(std::ostream& os = std::cout) const override;
0019 void Reset() override;
0020 int isValid() const override;
0021 PHObject* CloneMe() const override { return new Tpc_ModuleTrackv1(*this); }
0022
0023
0024 unsigned int get_event() const override { return m_event; }
0025 unsigned int get_track_id() const override { return m_track_id; }
0026
0027 unsigned int get_region() const override { return m_region; }
0028 unsigned int get_sector() const override { return m_sector; }
0029 int get_side() const override { return m_side; }
0030
0031
0032 unsigned int get_nblobs() const override { return m_nblobs; }
0033 unsigned int get_nrawhits() const override { return m_nrawhits; }
0034
0035 unsigned int get_first_layer() const override { return m_first_layer; }
0036 unsigned int get_last_layer() const override { return m_last_layer; }
0037
0038
0039 void set_event(unsigned int v) override { m_event = v; }
0040 void set_track_id(unsigned int v) override { m_track_id = v; }
0041
0042 void set_region(unsigned int v) override { m_region = v; }
0043 void set_sector(unsigned int v) override { m_sector = v; }
0044 void set_side(int v) override { m_side = v; }
0045
0046 void set_nblobs(unsigned int v) override { m_nblobs = v; }
0047 void set_nrawhits(unsigned int v) override { m_nrawhits = v; }
0048
0049 void set_first_layer(unsigned int v) override { m_first_layer = v; }
0050 void set_last_layer(unsigned int v) override { m_last_layer = v; }
0051
0052
0053 void add_hit_index(TrkrDefs::hitsetkey hsk, TrkrDefs::hitkey hk) override
0054 {
0055 m_hit_indices.emplace_back(hsk, hk);
0056 }
0057
0058 unsigned int size_hit_indices() const override
0059 {
0060 return static_cast<unsigned int>(m_hit_indices.size());
0061 }
0062
0063 HitIndex get_hit_index(unsigned int i) const override
0064 {
0065 if (i >= m_hit_indices.size()) return {0, 0};
0066 return m_hit_indices[i];
0067 }
0068
0069 const std::vector<HitIndex>& get_hit_indices() const override
0070 {
0071 return m_hit_indices;
0072 }
0073
0074 private:
0075 unsigned int m_event{0};
0076 unsigned int m_track_id{0};
0077
0078 unsigned int m_region{0};
0079 unsigned int m_sector{0};
0080 int m_side{0};
0081
0082 unsigned int m_nblobs{0};
0083 unsigned int m_nrawhits{0};
0084
0085 unsigned int m_first_layer{0};
0086 unsigned int m_last_layer{0};
0087
0088 std::vector<HitIndex> m_hit_indices;
0089
0090 ClassDefOverride(Tpc_ModuleTrackv1, 1)
0091 };
0092 #endif