Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef TRACKBASE_TRKRHITSETV1_H
0002 #define TRACKBASE_TRKRHITSETV1_H
0003 
0004 /**
0005  * @file trackbase/TrkrHitSetv1.h
0006  * @author D. McGlinchey, H. PEREIRA DA COSTA
0007  * @date 4 June 2018
0008  * @brief Container for storing TrkrHit's
0009  */
0010 #include "TrkrDefs.h"
0011 #include "TrkrHitSet.h"
0012 
0013 #include <iostream>
0014 #include <map>
0015 #include <utility>  // for pair
0016 
0017 // forward declaration
0018 class TrkrHit;
0019 
0020 class TrkrHitSetv1 : public TrkrHitSet
0021 {
0022  public:
0023   TrkrHitSetv1() = default;
0024 
0025   ~TrkrHitSetv1() override
0026   {
0027     TrkrHitSetv1::Reset();
0028   }
0029 
0030   void identify(std::ostream& os = std::cout) const override;
0031 
0032   void Reset() override;
0033 
0034   void setHitSetKey(const TrkrDefs::hitsetkey key) override
0035   {
0036     m_hitSetKey = key;
0037   }
0038 
0039   TrkrDefs::hitsetkey getHitSetKey() const override
0040   {
0041     return m_hitSetKey;
0042   }
0043 
0044   ConstIterator addHitSpecificKey(const TrkrDefs::hitkey, TrkrHit*) override;
0045 
0046   void removeHit(TrkrDefs::hitkey) override;
0047 
0048   TrkrHit* getHit(const TrkrDefs::hitkey) const override;
0049 
0050   ConstRange getHits() const override;
0051 
0052   unsigned int size() const override
0053   {
0054     return m_hits.size();
0055   }
0056 
0057  private:
0058   /// unique key for this object
0059   TrkrDefs::hitsetkey m_hitSetKey = TrkrDefs::HITSETKEYMAX;
0060 
0061   /// storage for TrkrHit objects
0062   Map m_hits;
0063 
0064   ClassDefOverride(TrkrHitSetv1, 1);
0065 };
0066 
0067 #endif  // TRACKBASE_TrkrHitSetv1_H