Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:11

0001 /**
0002  * @file trackbase/TrkrClusterContainerv1.h
0003  * @author D. McGlinchey
0004  * @date June 2018
0005  * @brief Cluster container object
0006  */
0007 #ifndef TRACKBASE_TRKRCLUSTERCONTAINERV1_H
0008 #define TRACKBASE_TRKRCLUSTERCONTAINERV1_H
0009 
0010 #include "TrkrClusterContainer.h"
0011 #include "TrkrDefs.h"
0012 
0013 #include <phool/PHObject.h>
0014 
0015 #include <iostream>  // for cout, ostream
0016 #include <map>
0017 #include <utility>  // for pair
0018 
0019 class TrkrCluster;
0020 
0021 /**
0022  * @brief Cluster container object
0023  *
0024  * Container for TrkrCluster objects
0025  */
0026 class TrkrClusterContainerv1 : public TrkrClusterContainer
0027 {
0028  public:
0029   typedef std::map<TrkrDefs::cluskey, TrkrCluster *> Map;
0030   typedef Map::iterator Iterator;
0031   typedef Map::const_iterator ConstIterator;
0032   typedef std::pair<Iterator, Iterator> Range;
0033   typedef std::pair<ConstIterator, ConstIterator> ConstRange;
0034 
0035   TrkrClusterContainerv1() = default;
0036 
0037   void Reset() override;
0038 
0039   void identify(std::ostream &os = std::cout) const override;
0040 
0041   void addClusterSpecifyKey(const TrkrDefs::cluskey key, TrkrCluster *newClus) override;
0042 
0043   void removeCluster(TrkrDefs::cluskey) override;
0044 
0045   ConstRange getClusters() const override;
0046 
0047   TrkrCluster *findCluster(TrkrDefs::cluskey key) const override;
0048 
0049   unsigned int size() const override;
0050 
0051  private:
0052   Map m_clusmap;
0053   ClassDefOverride(TrkrClusterContainerv1, 1)
0054 };
0055 
0056 #endif  // TRACKBASE_TRKRCLUSTERCONTAINER_H