ATLAS Offline Software
PeriodicScaler.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /**********************************************************************************
6  * @Project: HLT Steering
7  * @Package: TrigSteering
8  * @class : PeriodicScaler
9  *
10  * @brief : implementation of Prescale/PassThrough engine using periodic algorithm
11  *
12  * @author Nicolas Berger <Nicolas.Berger@cern.ch> - CERN
13  *
14  * File and Version Information:
15  **********************************************************************************/
16 
17 #ifndef TRIGSTEERING_PeriodicScaler_H
18 #define TRIGSTEERING_PeriodicScaler_H
19 
20 //#include "TrigSteering/Scaler.h"
21 
22 #include <vector>
23 
24 namespace LVL1 {
25 
33  class PeriodicScaler {
34 
35  public:
36 
38  virtual ~PeriodicScaler() { }
39 
44  virtual bool decision(float factor);
45 
48  void reset();
49 
50  protected:
51  unsigned int m_counter;
52  unsigned int m_last;
53  };
54 
55 
63  class PeriodicScalerTake1st : public PeriodicScaler {
64  public:
66  virtual ~PeriodicScalerTake1st() { }
67 
72  virtual bool decision(float factor) override;
73  };
74 
75 }
76 #endif
LVL1::PeriodicScaler::decision
virtual bool decision(float factor)
make decision based on given factor
Definition: PeriodicScaler.cxx:26
LVL1::PeriodicScaler::PeriodicScaler
PeriodicScaler()
Definition: PeriodicScaler.cxx:22
LVL1::PeriodicScalerTake1st::decision
virtual bool decision(float factor) override
make decision based on given factor (but always take first event)
Definition: PeriodicScaler.cxx:46
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::PeriodicScalerTake1st
Definition: PeriodicScaler.h:73
LVL1::PeriodicScalerTake1st::~PeriodicScalerTake1st
virtual ~PeriodicScalerTake1st()
Definition: PeriodicScaler.h:76
LVL1::PeriodicScaler::m_last
unsigned int m_last
last integer
Definition: PeriodicScaler.h:62
LVL1::PeriodicScaler::reset
void reset()
Reset scaler to initial state.
Definition: PeriodicScaler.cxx:36
LVL1::PeriodicScaler::~PeriodicScaler
virtual ~PeriodicScaler()
Definition: PeriodicScaler.h:48
LVL1::PeriodicScalerTake1st::PeriodicScalerTake1st
PeriodicScalerTake1st()
Definition: PeriodicScaler.cxx:42
LVL1::PeriodicScaler
Definition: PeriodicScaler.h:43
LVL1::PeriodicScaler::m_counter
unsigned int m_counter
event counter
Definition: PeriodicScaler.h:61