EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CMFlashClusterContainerv1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CMFlashClusterContainerv1.h
1 
7 #ifndef TRACKBASE_CMFLASHCLUSTERCONTAINERV1_H
8 #define TRACKBASE_CMFLASHCLUSTERCONTAINERV1_H
9 
11 
12 #include <phool/PHObject.h>
13 
14 #include <map>
15 #include <iostream> // for cout, ostream
16 #include <utility> // for pair
17 
18 class CMFlashCluster;
19 
26 {
27  public:
28  typedef std::map<unsigned int, CMFlashCluster *> Map;
29  typedef Map::iterator Iterator;
30  typedef Map::const_iterator ConstIterator;
31  typedef std::pair<Iterator, Iterator> Range;
32  typedef std::pair<ConstIterator, ConstIterator> ConstRange;
33 
34  CMFlashClusterContainerv1() = default;
35 
36  void Reset() override;
37 
38  void identify(std::ostream &os = std::cout) const override;
39 
40  ConstIterator addCluster(CMFlashCluster *newClus) override;
41 
42  ConstIterator addClusterSpecifyKey(const unsigned int, CMFlashCluster *newClus) override;
43 
44  void removeCluster(unsigned int) override;
45 
46  void removeCluster(CMFlashCluster*) override;
47 
48  Iterator findOrAddCluster(unsigned int key) override;
49 
50  ConstRange getClusters() const override;
51 
52  CMFlashCluster *findCluster(unsigned int key) const override;
53 
54  unsigned int size() const override;
55 
56  private:
58  ClassDefOverride(CMFlashClusterContainerv1, 1)
59 };
60 
61 #endif //TRACKBASE_CMFLASHCLUSTERCONTAINER_H