Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef G4BBC_BBCVERTEXMAPV1_H
0002 #define G4BBC_BBCVERTEXMAPV1_H
0003 
0004 #include "BbcVertexMap.h"
0005 
0006 #include "BbcVertex.h"
0007 
0008 #include <cstddef>  // for size_t
0009 #include <iostream>
0010 #include <map>
0011 
0012 class BbcVertexMapv1 : public BbcVertexMap
0013 {
0014  public:
0015   BbcVertexMapv1() = default;
0016   ~BbcVertexMapv1() override;
0017 
0018   void identify(std::ostream& os = std::cout) const override;
0019   void Reset() override { clear(); }
0020   int isValid() const override { return 1; }
0021 
0022   bool empty() const override { return _map.empty(); }
0023   size_t size() const override { return _map.size(); }
0024   size_t count(unsigned int idkey) const override { return _map.count(idkey); }
0025   void clear() override;
0026 
0027   const BbcVertex* get(unsigned int idkey) const override;
0028   BbcVertex* get(unsigned int idkey) override;
0029   BbcVertex* insert(BbcVertex* vertex) override;
0030   size_t erase(unsigned int idkey) override
0031   {
0032     delete _map[idkey];
0033     return _map.erase(idkey);
0034   }
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   std::map<unsigned int, BbcVertex*> _map;
0046 
0047   ClassDefOverride(BbcVertexMapv1, 1);
0048 };
0049 
0050 #endif  // G4BBC_BBCVERTEXMAPV1_H