Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:20:33

0001 #ifndef TRACKBASE_RAWHITSETV1_H
0002 #define TRACKBASE_RAWHITSETV1_H
0003 
0004 /**
0005  * @file trackbase/RawHitSetv1.h
0006  * @author D. McGlinchey, H. PEREIRA DA COSTA
0007  * @date 4 June 2018
0008  * @brief Container for storing RawHit's
0009  */
0010 #include "RawHitSet.h"
0011 #include "TrkrDefs.h"
0012 
0013 #include <iostream>
0014 #include <map>
0015 #include <utility>  // for pair
0016 
0017 // forward declaration
0018 class RawHit;
0019 
0020 class RawHitSetv1 : public RawHitSet
0021 {
0022  public:
0023   RawHitSetv1() = default;
0024 
0025   ~RawHitSetv1() override
0026   {
0027     RawHitSetv1::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   void addHit(RawHit*) override;
0045   //  void addTpcHit(unsigned short phibin, RawHit*) override;
0046   void setTpcPhiBins(unsigned short phibins) override;
0047  
0048   //  void removeHit(TrkrDefs::hitkey) override;
0049 
0050   // RawHit* getHit(const TrkrDefs::hitkey) const override;
0051 
0052   ConstRange getHits() const override;
0053   //  ConstRange getTpcHits(unsigned short phibin) const override;
0054 
0055   unsigned int size() const override
0056   {
0057     return m_hits.size();
0058   }
0059   unsigned int tpcphibins() const override
0060   {
0061     return m_tpchits.size();
0062   }
0063   
0064   ConstVecIterator getHits(int phibin) override
0065     {
0066       return m_tpchits.begin()+phibin;
0067     }
0068   unsigned int size(int phibin) const override
0069   {
0070     return (*(m_tpchits.begin()+phibin)).size();
0071   }
0072 
0073  private:
0074   /// unique key for this object
0075   TrkrDefs::hitsetkey m_hitSetKey = TrkrDefs::HITSETKEYMAX;
0076 
0077   /// storage for RawHit objects
0078   Vector m_hits;
0079   
0080   VectorTpc2D m_tpchits;
0081   ClassDefOverride(RawHitSetv1, 1);
0082 };
0083 
0084 #endif  // TRACKBASE_RawHitSetv1_H