Back to home page

sPhenix code displayed by LXR

 
 

    


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:  // so the ClassDef does not show up with doc++
0058   ClassDefOverride(TriggerRunInfov1, 1);
0059 };
0060 
0061 #endif