Back to home page

sPhenix code displayed by LXR

 
 

    


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); }  // backward compatibility
0029   uint64_t getLiveVector() const override { return LiveVector; }
0030   uint64_t getTriggerVector() const override { return getLiveVector(); }  // backward compatibility
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   //  long long lValue(const int /*i*/, const std::string &what) const override;
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