File indexing completed on 2025-08-06 08:18:10
0001
0002
0003 #ifndef MVTXEVENTINFOV1_H
0004 #define MVTXEVENTINFOV1_H
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <iostream>
0014
0015 #include <set>
0016
0017 #include "MvtxEventInfo.h"
0018
0019
0020 class MvtxEventInfov3 : public MvtxEventInfo
0021 {
0022 public:
0023
0024 MvtxEventInfov3() = default;
0025
0026
0027 MvtxEventInfov3(const MvtxEventInfov3 &) = default;
0028 MvtxEventInfov3(MvtxEventInfov3 &&) = default;
0029
0030
0031 MvtxEventInfov3 &operator=(const MvtxEventInfov3 &) = default;
0032 MvtxEventInfov3 &operator=(MvtxEventInfov3 &&) = default;
0033
0034
0035 ~MvtxEventInfov3() override = default;
0036
0037 PHObject *CloneMe() const override;
0038
0039
0040 void Reset() override;
0041
0042
0043
0044
0045 void identify(std::ostream &os = std::cout) const override;
0046
0047
0048 int isValid() const override;
0049
0050 unsigned int get_number_strobes() const override { return m_strobe_BCOs.size(); }
0051 unsigned int get_number_L1s() const override { return m_L1_BCOs.size(); }
0052
0053 std::set<uint64_t> get_strobe_BCOs() const override { return m_strobe_BCOs; }
0054 std::set<uint64_t> get_L1_BCOs() const override { return m_L1_BCOs; }
0055
0056 void add_strobe_BCO(const uint64_t &strb_val) override { m_strobe_BCOs.insert(strb_val); }
0057 void add_L1_BCO(const uint64_t &strb_val) override { m_L1_BCOs.insert(strb_val); }
0058
0059 protected:
0060 private:
0061 void warning(const std::string &func) const;
0062
0063 std::set<uint64_t> m_strobe_BCOs;
0064 std::set<uint64_t> m_L1_BCOs;
0065
0066 ClassDefOverride(MvtxEventInfov3, 1)
0067 };
0068
0069 #endif