File indexing completed on 2025-08-06 08:18:13
0001 #ifndef TRACKBASEHISTORIC_SVTXALIGNMENTSTATEMAP_V1_H
0002 #define TRACKBASEHISTORIC_SVTXALIGNMENTSTATEMAP_V1_H
0003
0004 #include "SvtxAlignmentState.h"
0005 #include "SvtxAlignmentStateMap.h"
0006
0007 class PHObject;
0008
0009 class SvtxAlignmentStateMap_v1 : public SvtxAlignmentStateMap
0010 {
0011 public:
0012 SvtxAlignmentStateMap_v1();
0013 ~SvtxAlignmentStateMap_v1() override;
0014
0015 void identify(std::ostream& os = std::cout) const override;
0016
0017 void Reset() override;
0018 int isValid() const override { return 1; }
0019 PHObject* CloneMe() const override { return new SvtxAlignmentStateMap_v1(*this); }
0020
0021 bool empty() const override { return m_map.empty(); }
0022 std::size_t size() const override { return m_map.size(); }
0023 std::size_t count(unsigned int track) const override { return m_map.count(track); }
0024 void clear() override { Reset(); }
0025
0026 const StateVec get(unsigned int track) const override;
0027 StateVec get(unsigned int track) override;
0028 StateVec insertWithKey(unsigned int track, StateVec states) override;
0029 std::size_t erase(unsigned int track) override;
0030
0031 ConstIter begin() const override { return m_map.begin(); }
0032 ConstIter find(unsigned int track) const override { return m_map.find(track); }
0033 ConstIter end() const override { return m_map.end(); }
0034
0035 Iter begin() override { return m_map.begin(); }
0036 Iter find(unsigned int track) override { return m_map.find(track); }
0037 Iter end() override { return m_map.end(); }
0038
0039 private:
0040 StateMap m_map;
0041
0042 ClassDefOverride(SvtxAlignmentStateMap_v1, 1);
0043 };
0044
0045 #endif