Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef TRACKBASEHISTORIC_SVTXTRACKMAPV2_H
0002 #define TRACKBASEHISTORIC_SVTXTRACKMAPV2_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_v2 : public SvtxTrackMap
0013 {
0014  public:
0015   SvtxTrackMap_v2();
0016   SvtxTrackMap_v2(const SvtxTrackMap_v2& trackmap);
0017   SvtxTrackMap_v2& operator=(const SvtxTrackMap_v2& trackmap);
0018   ~SvtxTrackMap_v2() override;
0019 
0020   void identify(std::ostream& os = std::cout) const override;
0021   // cppcheck-suppress virtualCallInConstructor
0022   void Reset() override;
0023   int isValid() const override { return 1; }
0024   PHObject* CloneMe() const override { return new SvtxTrackMap_v2(*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   SvtxTrack* insertWithKey(const SvtxTrack* track, unsigned int index) override;
0035   size_t erase(unsigned int idkey) override
0036   {
0037     delete _map[idkey];
0038     return _map.erase(idkey);
0039   }
0040 
0041   ConstIter begin() const override { return _map.begin(); }
0042   ConstIter find(unsigned int idkey) const override { return _map.find(idkey); }
0043   ConstIter end() const override { return _map.end(); }
0044 
0045   Iter begin() override { return _map.begin(); }
0046   Iter find(unsigned int idkey) override { return _map.find(idkey); }
0047   Iter end() override { return _map.end(); }
0048 
0049  private:
0050   TrackMap _map;
0051 
0052   ClassDefOverride(SvtxTrackMap_v2, 2);
0053 };
0054 
0055 #endif