EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TrkrClusterContainer.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TrkrClusterContainer.h
1 #ifndef TRACKBASE_TRKRCLUSTERCONTAINER_H
2 #define TRACKBASE_TRKRCLUSTERCONTAINER_H
3 
11 #include "TrkrDefs.h"
12 
13 #include <phool/PHObject.h>
14 
15 #include <map>
16 #include <iostream> // for cout, ostream
17 #include <utility> // for pair
18 
19 class TrkrCluster;
20 
25 {
26  public:
27 
29 
30  using Map = std::map<TrkrDefs::cluskey, TrkrCluster *>;
31  using Iterator = Map::iterator;
32  using ConstIterator = Map::const_iterator;
33  using Range = std::pair<Iterator, Iterator>;
34  using ConstRange = std::pair<ConstIterator, ConstIterator>;
36 
38  void Reset() override {}
39 
41  void identify(std::ostream &/*os*/ = std::cout) const override {}
42 
45 
48 
51 
53  virtual void removeCluster(TrkrCluster* ) {}
54 
57 
59  virtual ConstRange getClusters() const;
60 
63 
65  virtual Map* getClusterMap(TrkrDefs::hitsetkey) { return nullptr; }
66 
68  virtual TrkrCluster* findCluster(TrkrDefs::cluskey) const { return nullptr; }
69 
71  virtual unsigned int size() const { return 0; }
72 
73  protected:
75  TrkrClusterContainer() = default;
76 
77  private:
78 
79  ClassDefOverride(TrkrClusterContainer, 1)
80 
81 };
82 
83 #endif //TRACKBASE_TRKRCLUSTERCONTAINER_H