ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GlobalVertexMapv1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file GlobalVertexMapv1.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4VERTEX_GLOBALVERTEXMAPV1_H
4 #define G4VERTEX_GLOBALVERTEXMAPV1_H
5 
6 #include "GlobalVertexMap.h"
7 
8 #include "GlobalVertex.h"
9 
10 #include <cstddef> // for size_t
11 #include <iostream>
12 #include <map>
13 
15 {
16  public:
18  ~GlobalVertexMapv1() override;
19 
20  void identify(std::ostream& os = std::cout) const override;
21  void Reset() override { clear(); }
22  int isValid() const override { return 1; }
23 
24  bool empty() const override { return _map.empty(); }
25  size_t size() const override { return _map.size(); }
26  size_t count(unsigned int idkey) const override { return _map.count(idkey); }
27  void clear() override;
28 
29  const GlobalVertex* get(unsigned int idkey) const override;
30  GlobalVertex* get(unsigned int idkey) override;
31  GlobalVertex* insert(GlobalVertex* vertex) override;
32  size_t erase(unsigned int idkey) override
33  {
34  delete _map[idkey];
35  return _map.erase(idkey);
36  }
37 
38  ConstIter begin() const override { return _map.begin(); }
39  ConstIter find(unsigned int idkey) const override { return _map.find(idkey); }
40  ConstIter end() const override { return _map.end(); }
41 
42  Iter begin() override { return _map.begin(); }
43  Iter find(unsigned int idkey) override { return _map.find(idkey); }
44  Iter end() override { return _map.end(); }
45 
46  private:
47  std::map<unsigned int, GlobalVertex*> _map;
48 
50 };
51 
52 #endif // G4VERTEX_GLOBALVERTEXMAPv1_H