2 #ifndef L1GCTPROCESSOR_H_
3 #define L1GCTPROCESSOR_H_
46 inline void setBxRange(
const int firstBx,
const int numberOfBx) {
99 void reset(
const unsigned nBx) {
104 void store(
const T& thisBx,
const int bxNum) {
108 void store(
const std::vector<T>& thisBx,
const int bxNum) {
void reset()
complete reset of processor
virtual ~L1GctProcessor()
bool setupOk() const
Method to check the setup for this processor. Returns true by default.
Pipeline(const unsigned size)
void store(const T &thisBx, const int bxNum)
bool m_verbose
Flag to control output messages.
int bxMin() const
Support for multiple beam crossing operation.
void store(const std::vector< T > &thisBx, const int bxNum)
ABC for a GCT trigger data processing unit.
void setVerbose()
control output messages
void resize(const unsigned size)
void setBxRange(const int firstBx, const int numberOfBx)
define the bunch crossing range to process
virtual void process()=0
process the data and set outputs
void reset(const unsigned nBx)
virtual void resetPipelines()=0
virtual void resetProcessor()=0
Separate reset methods for the processor itself and any data stored in pipelines. ...
volatile std::atomic< bool > shutdown_flag false
void setNextBx(const int bxnum)
clear input data buffers and process a new bunch crossing
std::vector< T > contents
virtual void setupObjects()=0
Initialise inputs with null objects for the correct bunch crossing if required.
int m_bx
Support for multiple beam crossing operation.
tuple size
Write out results.
virtual void fetchInput()=0
set the input buffers