Back to home page

sPhenix code displayed by LXR

 
 

    


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

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