File indexing completed on 2025-08-03 08:17:38
0001 #ifndef TRACKBASEHISTORIC_SVTXTRACKMAPV1_H
0002 #define TRACKBASEHISTORIC_SVTXTRACKMAPV1_H
0003
0004 #include "SvtxTrack.h"
0005 #include "SvtxTrackMap.h"
0006
0007 #include <cstddef> // for size_t
0008 #include <iostream> // for cout, ostream
0009
0010 class PHObject;
0011
0012 class SvtxTrackMap_v1 : public SvtxTrackMap
0013 {
0014 public:
0015 SvtxTrackMap_v1();
0016 SvtxTrackMap_v1(const SvtxTrackMap_v1& trackmap);
0017 SvtxTrackMap_v1& operator=(const SvtxTrackMap_v1& trackmap);
0018 ~SvtxTrackMap_v1() override;
0019
0020 void identify(std::ostream& os = std::cout) const override;
0021
0022 void Reset() override;
0023 int isValid() const override { return 1; }
0024 PHObject* CloneMe() const override { return new SvtxTrackMap_v1(*this); }
0025
0026 bool empty() const override { return _map.empty(); }
0027 size_t size() const override { return _map.size(); }
0028 size_t count(unsigned int idkey) const override { return _map.count(idkey); }
0029 void clear() override { Reset(); }
0030
0031 const SvtxTrack* get(unsigned int idkey) const override;
0032 SvtxTrack* get(unsigned int idkey) override;
0033 SvtxTrack* insert(const SvtxTrack* track) override;
0034 size_t erase(unsigned int idkey) override;
0035
0036 ConstIter begin() const override { return _map.begin(); }
0037 ConstIter find(unsigned int idkey) const override { return _map.find(idkey); }
0038 ConstIter end() const override { return _map.end(); }
0039
0040 Iter begin() override { return _map.begin(); }
0041 Iter find(unsigned int idkey) override { return _map.find(idkey); }
0042 Iter end() override { return _map.end(); }
0043
0044 private:
0045 TrackMap _map;
0046
0047 ClassDefOverride(SvtxTrackMap_v1, 1);
0048 };
0049
0050 #endif