Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 /**
0002  * @file trackbase/TrkrHitSetContMvtxHelper.h
0003  * @author Yasser Corrales Morales <ycmorales@bnl.gov>
0004  * @date Febraury 2025
0005  * base class for Mvtx hitsetkey container per strobe
0006  */
0007 
0008 #ifndef TRACKBASE_TRKRHITSETCONTMVTXHELPER_H
0009 #define TRACKBASE_TRKRHITSETCONTMVTXHELPER_H
0010 
0011 #include "TrkrDefs.h"  // for hitsetkey, TrkrId
0012 
0013 #include <phool/PHObject.h>
0014 
0015 #include <iostream>  // for cout, ostream
0016 #include <map>       // for map
0017 #include <memory>
0018 #include <set>      // for set
0019 #include <utility>  // for pair
0020 
0021 // class TrkrHitSetKey;
0022 
0023 /**
0024  * Container for Mvtx hitsekey per strobe
0025  */
0026 class TrkrHitSetContMvtxHelper : public PHObject
0027 {
0028  public:
0029   using map_tp_value = std::set<TrkrDefs::hitsetkey>;
0030   using Map = std::map<int32_t, map_tp_value>;
0031   using Iterator = Map::iterator;
0032   using ConstIterator = Map::const_iterator;
0033 
0034   //! cp/mv ctor
0035   TrkrHitSetContMvtxHelper(const TrkrHitSetContMvtxHelper &) = default;
0036   TrkrHitSetContMvtxHelper(TrkrHitSetContMvtxHelper &&) = default;
0037   //! cp/mv assignment
0038   TrkrHitSetContMvtxHelper &operator=(const TrkrHitSetContMvtxHelper &) = default;
0039   TrkrHitSetContMvtxHelper &operator=(TrkrHitSetContMvtxHelper &&) = default;
0040 
0041   //! dtor
0042   ~TrkrHitSetContMvtxHelper() override = default;
0043 
0044   //! PHObject functions
0045   void Reset() override;
0046 
0047   virtual bool addHitSetKey(const int32_t & /*dummy*/, const TrkrDefs::hitsetkey & /*dummy*/)
0048   {
0049     return false;
0050   }
0051 
0052   //! preferred removal method, key is currently the hit id
0053   virtual bool removeHitSetKey(int32_t /*strobe*/, const TrkrDefs::hitsetkey /*dummy*/)
0054   {
0055     return false;
0056   }
0057 
0058   //! return all HitSetKeys
0059   virtual const map_tp_value &getHitSetKeys(int32_t /*strobe*/) = 0;
0060 
0061   virtual unsigned int size() const
0062   {
0063     return 0;
0064   }
0065 
0066  protected:
0067   //! ctor
0068   TrkrHitSetContMvtxHelper() = default;
0069 
0070  private:
0071   ClassDefOverride(TrkrHitSetContMvtxHelper, 1)
0072 };
0073 
0074 #endif  // TRACKBASE_TRKRHITSETCONTAINER_H