Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-07-16 08:14:34

0001 /**
0002  * @file trackbase/TrkrHitv3.h
0003  * @author Cheng-Wei Shih
0004  * @brief Derived class v3 for hit object with INTT timing information
0005  */
0006 #ifndef TRACKBASE_TRKRHITV3_H
0007 #define TRACKBASE_TRKRHITV3_H
0008 
0009 #include "TrkrHitv2.h"
0010 
0011 #include <cstdint>
0012 #include <iostream>
0013 
0014 class TrkrHitv3 : public TrkrHitv2
0015 {
0016  public:
0017   //! ctor
0018   explicit TrkrHitv3() = default;
0019 
0020   //! dtor
0021   ~TrkrHitv3() override = default;
0022 
0023   void identify(std::ostream& os = std::cout) const override
0024   {
0025     os << "TrkrHitv3 class with adc = " << m_adc
0026        << " and FPHX_BCO = " << m_fphx_bco
0027        << " and BCO = " << m_bco << std::endl;
0028   }
0029 
0030   //! import PHObject CopyFrom, in order to avoid clang warning
0031   using PHObject::CopyFrom;
0032 
0033   //! copy content from base class
0034   void CopyFrom(const TrkrHit&) override;
0035 
0036   //! copy content from base class
0037   void CopyFrom(TrkrHit* source) override
0038   {
0039     CopyFrom(*source);
0040   }
0041 
0042   void setFPHXBCO(const uint16_t bco) override { m_fphx_bco = bco; }
0043   uint16_t getFPHXBCO() const override { return m_fphx_bco; }
0044   void setBCO(const uint64_t bco) override { m_bco = bco; }
0045   uint64_t getBCO() const override { return m_bco; }
0046 
0047  protected:
0048   uint16_t m_fphx_bco = 0;
0049   uint64_t m_bco = 0;
0050 
0051   ClassDefOverride(TrkrHitv3, 1);
0052 };
0053 
0054 #endif  // TRACKBASE_TRKRHITV3_H