Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:09

0001 #ifndef FUN4ALLRAW_TPCRAWTHIT_H
0002 #define FUN4ALLRAW_TPCRAWTHIT_H
0003 
0004 #include <phool/PHObject.h>
0005 
0006 #include <limits>
0007 
0008 class TpcRawHit : public PHObject
0009 {
0010  public:
0011   TpcRawHit() = default;
0012   virtual ~TpcRawHit() = default;
0013 
0014   virtual uint64_t get_bco() const { return std::numeric_limits<uint64_t>::max(); }
0015   virtual void set_bco(const uint64_t) { return; }
0016 
0017   virtual uint64_t get_gtm_bco() const { return std::numeric_limits<uint64_t>::max(); }
0018   virtual void set_gtm_bco(const uint64_t) { return; }
0019 
0020   virtual int32_t get_packetid() const { return std::numeric_limits<int32_t>::max(); }
0021   virtual void set_packetid(const int32_t) { return; }
0022 
0023   virtual uint16_t get_fee() const { return std::numeric_limits<uint16_t>::max(); }
0024   virtual void set_fee(const uint16_t) { return; }
0025 
0026   virtual uint16_t get_channel() const { return std::numeric_limits<uint16_t>::max(); }
0027   virtual void set_channel(const uint16_t) { return; }
0028 
0029   virtual uint16_t get_sampaaddress() const { return std::numeric_limits<uint16_t>::max(); }
0030   virtual void set_sampaaddress(const uint16_t) { return; }
0031 
0032   virtual uint16_t get_sampachannel() const { return std::numeric_limits<uint16_t>::max(); }
0033   virtual void set_sampachannel(const uint16_t) { return; }
0034 
0035   virtual uint16_t get_samples() const { return std::numeric_limits<uint16_t>::max(); }
0036   virtual void set_samples(const uint16_t) { return; }
0037 
0038   virtual uint16_t get_adc(const uint16_t /*sample*/) const { return std::numeric_limits<uint16_t>::max(); }
0039   virtual void set_adc(const uint16_t /*sample*/, const uint16_t) { return; }
0040 
0041   virtual uint16_t get_type() const { return std::numeric_limits<uint16_t>::max(); }
0042   virtual void set_type(const uint16_t) { return; }
0043 
0044   virtual uint16_t get_userword() const { return std::numeric_limits<uint16_t>::max(); }
0045   virtual void set_userword(const uint16_t) { return; }
0046 
0047   virtual uint16_t get_checksum() const { return std::numeric_limits<uint16_t>::max(); }
0048   virtual void set_checksum(const uint16_t /*i*/) { return; }
0049 
0050   virtual uint16_t get_parity() const { return std::numeric_limits<uint16_t>::max(); }
0051   virtual void set_parity(const uint16_t /*i*/) { return; }
0052 
0053   //! FEE waveform CRC check. If true, FEE data transmission from FEE to offline is broken
0054   virtual bool get_checksumerror() const { return false; }
0055   virtual void set_checksumerror(const bool /*b*/) { return; }
0056 
0057   //! SAMPA data payload parity check. If true, data from SAMPA is broken, e.g. from SEU
0058   virtual bool get_parityerror() const { return false; }
0059   virtual void set_parityerror(const bool /*b*/) { return; }
0060 
0061   class AdcIterator
0062   {
0063    public:
0064     AdcIterator() = default;
0065     virtual ~AdcIterator() = default;
0066     virtual void First() = 0;
0067     virtual void Next() = 0;
0068     virtual bool IsDone() const = 0;
0069     virtual uint16_t CurrentTimeBin() const = 0;
0070     virtual uint16_t CurrentAdc() const = 0;
0071   };
0072   virtual AdcIterator* CreateAdcIterator() const = 0;
0073 
0074  private:
0075   ClassDefOverride(TpcRawHit, 0)
0076 };
0077 
0078 #endif