File indexing completed on 2025-08-06 08:18:39
0001 #ifndef TRIGGER_TRIGGERRUNINFOV1_H_
0002 #define TRIGGER_TRIGGERRUNINFOV1_H_
0003
0004 #include "TriggerRunInfo.h"
0005
0006 #include <array>
0007 #include <cstdint>
0008 #include <iostream>
0009 #include <string>
0010
0011 class TriggerRunInfov1 : public TriggerRunInfo
0012 {
0013 public:
0014 TriggerRunInfov1() = default;
0015
0016 ~TriggerRunInfov1() override = default;
0017
0018 void setTrigger(int index, const std::string& name, int bit, int prescale) override;
0019
0020 void setTriggerScalers(int index, int scalertype, uint64_t scalers) override;
0021
0022 void setTriggerPrescale(int index, double prescale) override;
0023
0024 double getPrescaleByName(const std::string& name) const override;
0025
0026 double getPrescaleByBit(int triggerbit) const override;
0027
0028 int getInitialPrescaleByName(const std::string& name) const override;
0029
0030 int getInitialPrescaleByBit(int triggerbit) const override;
0031
0032 uint64_t getScalersByName(const std::string& name) const override;
0033
0034 uint64_t getScalersByBit(int triggerbit) const override;
0035
0036 uint64_t getLiveScalersByName(const std::string& name) const override;
0037
0038 uint64_t getLiveScalersByBit(int triggerbit) const override;
0039
0040 uint64_t getRawScalersByName(const std::string& name) const override;
0041
0042 uint64_t getRawScalersByBit(int triggerbit) const override;
0043
0044 uint32_t getTriggerBitByName(const std::string& name) const override;
0045
0046 void identify(std::ostream& os = std::cout) const override;
0047
0048 std::string getTriggerName(int triggerbit) const override;
0049
0050 private:
0051 std::array<std::string, 64> trigger_names{};
0052 std::array<int, 64> trigger_bits{};
0053 std::array<int, 64> trigger_initial_prescales{};
0054 std::array<double, 64> trigger_prescales{};
0055 std::array<std::array<uint64_t, 3>, 64> trigger_scalers{};
0056
0057 private:
0058 ClassDefOverride(TriggerRunInfov1, 1);
0059 };
0060
0061 #endif