Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:17

0001 #ifndef TRACKBASEHISTORIC_TRACKSEEDCONTAINERV1_H
0002 #define TRACKBASEHISTORIC_TRACKSEEDCONTAINERV1_H
0003 
0004 #include "TrackSeed.h"
0005 #include "TrackSeedContainer.h"
0006 
0007 #include <iostream>
0008 #include <vector>
0009 
0010 class TrackSeedContainer_v1 : public TrackSeedContainer
0011 {
0012  public:
0013   TrackSeedContainer_v1();
0014   TrackSeedContainer_v1(const TrackSeedContainer_v1& trackmap);
0015   TrackSeedContainer_v1& operator=(const TrackSeedContainer_v1& seedContainer);
0016   ~TrackSeedContainer_v1() override;
0017 
0018   void identify(std::ostream& os = std::cout) const override;
0019   // cppcheck-suppress virtualCallInConstructor
0020   void Reset() override;
0021   int isValid() const override { return 1; }
0022   PHObject* CloneMe() const override { return new TrackSeedContainer_v1(*this); }
0023 
0024   bool empty() const override { return m_seeds.empty(); }
0025   std::size_t size() const override { return m_seeds.size(); }
0026   void clear() override { Reset(); }
0027 
0028   const TrackSeed* get(const std::size_t key) const override;
0029   TrackSeed* get(const std::size_t key) override;
0030   TrackSeed* insert(const TrackSeed* seed) override;
0031   void erase(const std::size_t key) override
0032   {
0033     m_seeds.at(key) = nullptr;
0034   }
0035 
0036   std::size_t index(ConstIter it) const override { return it - m_seeds.begin(); }
0037   std::size_t index(Iter it) const override { return it - m_seeds.begin(); }
0038 
0039   ConstIter begin() const override { return m_seeds.begin(); }
0040   ConstIter find(const std::size_t key) const override { return m_seeds.begin() + key; }
0041   std::size_t find(const TrackSeed*) const override;
0042   ConstIter end() const override { return m_seeds.end(); }
0043 
0044   Iter begin() override { return m_seeds.begin(); }
0045   Iter find(const std::size_t key) override { return m_seeds.begin() + key; }
0046   std::size_t find(const TrackSeed*) override;
0047   Iter end() override { return m_seeds.end(); }
0048 
0049  private:
0050   Container m_seeds;
0051 
0052   ClassDefOverride(TrackSeedContainer_v1, 1);
0053 };
0054 
0055 #endif