File indexing completed on 2025-08-05 08:16:07
0001 #ifndef FUN4ALLRAW_GL1PACKETV2_H
0002 #define FUN4ALLRAW_GL1PACKETV2_H
0003
0004 #include "Gl1Packet.h"
0005
0006 #include <array>
0007 #include <limits>
0008
0009 class Gl1Packetv2 : public Gl1Packet
0010 {
0011 public:
0012 Gl1Packetv2() = default;
0013 ~Gl1Packetv2() override = default;
0014
0015 void Reset() override;
0016 void identify(std::ostream &os = std::cout) const override;
0017 void FillFrom(const Gl1Packet *pkt) override;
0018
0019 void setPacketNumber(const unsigned int i) override { packet_nr = i; }
0020 unsigned int getPacketNumber() const override { return packet_nr; }
0021
0022 void setBunchNumber(const uint64_t i) override { BunchNumber = i; }
0023 uint64_t getBunchNumber() const override { return BunchNumber; }
0024 void setTriggerInput(const uint64_t i) override { TriggerInput = i; }
0025 uint64_t getTriggerInput() const override { return TriggerInput; }
0026
0027 void setLiveVector(const uint64_t i) override { LiveVector = i; }
0028 void setTriggerVector(const uint64_t i) override { setLiveVector(i); }
0029 uint64_t getLiveVector() const override { return LiveVector; }
0030 uint64_t getTriggerVector() const override { return getLiveVector(); }
0031
0032 void setScaledVector(const uint64_t i) override { ScaledVector = i; }
0033 uint64_t getScaledVector() const override { return ScaledVector; }
0034
0035 void setGTMBusyVector(const uint64_t i) override { GTMBusyVector = i; }
0036 uint64_t getGTMBusyVector() const override { return GTMBusyVector; }
0037
0038 void setScaler(int iscal, int index, uint64_t lval) override { scaler.at(iscal).at(index) = lval; }
0039 uint64_t getScaler(int iscal, int index) const override { return scaler.at(iscal).at(index); }
0040 void setGl1pScaler(int iscal, int index, uint64_t lval) override { gl1pscaler.at(iscal).at(index) = lval; }
0041 uint64_t getGl1pScaler(int iscal, int index) const override { return gl1pscaler.at(iscal).at(index); }
0042
0043
0044
0045 void dump(std::ostream &os = std::cout) const override;
0046
0047 private:
0048 unsigned int packet_nr{0};
0049 uint64_t BunchNumber{std::numeric_limits<uint64_t>::max()};
0050 uint64_t TriggerInput{0};
0051 uint64_t LiveVector{0};
0052 uint64_t ScaledVector{0};
0053 uint64_t GTMBusyVector{0};
0054 std::array<std::array<uint64_t, 3>, 64> scaler{{{0}}};
0055 std::array<std::array<uint64_t, 3>, 16> gl1pscaler{{{0}}};
0056
0057 ClassDefOverride(Gl1Packetv2, 3)
0058 };
0059
0060 #endif