File indexing completed on 2025-08-06 08:18:10
0001
0002
0003
0004
0005
0006
0007 #ifndef TRACKBASE_TPCTPOTEVENTINFOV1_H
0008 #define TRACKBASE_TPCTPOTEVENTINFOV1_H
0009
0010 #include "TpcTpotEventInfo.h"
0011 #include "TrkrDefs.h"
0012
0013 #include <iostream>
0014
0015 class PHObject;
0016
0017
0018
0019
0020
0021 class TpcTpotEventInfov1 : public TpcTpotEventInfo
0022 {
0023 public:
0024
0025 TpcTpotEventInfov1();
0026
0027
0028 ~TpcTpotEventInfov1() override = default;
0029
0030 void identify(std::ostream& os = std::cout) const override;
0031 void Reset() override
0032 {
0033 std::fill_n(&m_bco[0][0][0], 100, UINT64_MAX);
0034 std::fill_n(&m_lvl1_count[0][0][0], 100, UINT32_MAX);
0035 std::fill_n(&m_endat_count[0][0][0], 100, UINT32_MAX);
0036 std::fill_n(&m_last_bco[0][0][0], 100, UINT64_MAX);
0037 std::fill_n(&m_modebits[0][0][0], 100, UINT8_MAX);
0038 }
0039 int isValid() const override;
0040 PHObject* CloneMe() const override { return new TpcTpotEventInfov1(*this); }
0041
0042
0043 void CopyFrom(const TpcTpotEventInfo&) override;
0044
0045
0046 void CopyFrom(TpcTpotEventInfo* source) override
0047 {
0048 CopyFrom(*source);
0049 }
0050
0051
0052
0053
0054
0055 void checkIndexes(SectorID, PCIeEndPointID, TaggerID) override;
0056
0057 uint64_t getBCO(SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) const override { return m_bco[sector][PCIe][tagger]; }
0058 void setBCO(uint64_t bco, SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) override { m_bco[sector][PCIe][tagger] = bco; }
0059 uint32_t getLevel1Count(SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) const override { return m_lvl1_count[sector][PCIe][tagger]; }
0060 void setLevel1Count(uint32_t lvl1count, SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) override { m_lvl1_count[sector][PCIe][tagger] = lvl1count; }
0061 uint32_t getEnDatCount(SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) const override { return m_endat_count[sector][PCIe][tagger]; }
0062 void setEnDatCount(uint32_t endatcount, SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) override { m_endat_count[sector][PCIe][tagger] = endatcount; }
0063 uint64_t getLastBCO(SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) const override { return m_last_bco[sector][PCIe][tagger]; }
0064 void setLastBCO(uint64_t lastbco, SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) override { m_last_bco[sector][PCIe][tagger] = lastbco; }
0065 uint8_t getModebits(SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) const override { return m_modebits[sector][PCIe][tagger]; }
0066 void setModebits(uint8_t modebits, SectorID sector, PCIeEndPointID PCIe, TaggerID tagger) override { m_modebits[sector][PCIe][tagger] = modebits; }
0067
0068 protected:
0069 uint64_t m_bco[25][2][2]{};
0070 uint32_t m_lvl1_count[25][2][2]{};
0071 uint32_t m_endat_count[25][2][2]{};
0072 uint64_t m_last_bco[25][2][2]{};
0073 uint8_t m_modebits[25][2][2]{};
0074
0075 ClassDefOverride(TpcTpotEventInfov1, 1)
0076 };
0077
0078 #endif