Prescaler

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#ifndef HLTrigger_HLTcore_TriggerExpressionPrescaler_h
#define HLTrigger_HLTcore_TriggerExpressionPrescaler_h

#include "HLTrigger/HLTcore/interface/TriggerExpressionOperators.h"

namespace triggerExpression {

  class Prescaler : public UnaryOperator {
  public:
    Prescaler(Evaluator* arg, unsigned int prescale) : UnaryOperator(arg), m_prescale(prescale), m_counter() {}

    bool operator()(const Data& data) const override;

    void init(const Data& data) override;

    void dump(std::ostream& out, bool const ignoreMasks = false) const override {
      out << '(';
      m_arg->dump(out, ignoreMasks);
      out << " / " << m_prescale << ')';
    }

  private:
    unsigned int m_prescale;
    mutable unsigned int m_counter;
  };

}  // namespace triggerExpression

#endif  // HLTrigger_HLTcore_TriggerExpressionPrescaler_h