File indexing completed on 2026-08-31 08:21:23
0001
0002
0003 #ifndef TPCTRACKRECO_TPCPOLYTRACKCONTAINERV1_H
0004 #define TPCTRACKRECO_TPCPOLYTRACKCONTAINERV1_H
0005
0006 #include "Tpc_PolyTrackContainer.h"
0007
0008 #include <iostream>
0009 #include <vector>
0010
0011 class Tpc_PolyTrack;
0012
0013 class Tpc_PolyTrackContainerv1 : public Tpc_PolyTrackContainer
0014 {
0015 public:
0016 Tpc_PolyTrackContainerv1();
0017 ~Tpc_PolyTrackContainerv1() override;
0018
0019 void identify(std::ostream& os = std::cout) const override;
0020 void Reset() override;
0021 int isValid() const override;
0022 PHObject* CloneMe() const override;
0023
0024 unsigned int size() const override { return static_cast<unsigned int>(m_tracks.size()); }
0025 void add_track(Tpc_PolyTrack* trk) override { m_tracks.push_back(trk); }
0026 const Tpc_PolyTrack* get_track(unsigned int i) const override
0027 {
0028 if (i >= m_tracks.size()) return nullptr;
0029 return m_tracks[i];
0030 }
0031 Tpc_PolyTrack* get_track(unsigned int i) override
0032 {
0033 if (i >= m_tracks.size()) return nullptr;
0034 return m_tracks[i];
0035 }
0036
0037 private:
0038 std::vector<Tpc_PolyTrack*> m_tracks;
0039
0040 ClassDefOverride(Tpc_PolyTrackContainerv1, 1)
0041 };
0042 #endif