ATLAS Offline Software
Loading...
Searching...
No Matches
CountingConnector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef L1TopoCoreSim_CountingConnector
6#define L1TopoCoreSim_CountingConnector
7
9
13#include "L1TopoCommon/Types.h"
15
16#include <vector>
17#include <string>
18
19namespace TCS {
20
21 class TOBArray;
22 class CountingAlg;
23 class InputConnector;
24
25 //special connector for Multiplicity Algorithms
27 public:
28
29 CountingConnector(const std::string & name,
30 const std::string & input,
31 const std::string & algorithm,
32 const std::string & output);
33
34 virtual ~CountingConnector();
35
37
38 virtual bool isCountingConnector() const { return true; }
39
42
43 virtual StatusCode clearOutput();
44
45 const Count & count() const { return m_count; }
46
47 const std::vector<TrigConf::TriggerLine> & triggers() const { return m_triggers; }
48
49 //output data
50 void attachOutputData(const std::vector<TOBArray *>&);
51
52 TOBArray const * output(const std::string & trigger) const;
53
54 const std::vector<TOBArray const *> & outputData() const { return m_outputData; }
55
56 private: // functions
57
58 friend class TopoSteering;
60
62
63 void setFirstOutputBit(unsigned int firstOutputBit);
64
65 private: // data
66
67 // the count bit array
69
71
72 std::vector<TrigConf::TriggerLine> m_triggers;
73
74 // attached output data
75 std::vector<TOBArray const *> m_outputData;
76
77 };
78
79 std::ostream & operator<<(std::ostream &, const TCS::CountingConnector&);
80
81}
82
83#endif
Connector(const std::string &name, ConnectorType conntype)
Definition Connector.cxx:31
const std::string & name() const
Definition Connector.h:44
const TCS::ConfigurableAlg * algorithm() const
Definition Connector.h:50
TOBArray const * output(const std::string &trigger) const
void attachOutputData(const std::vector< TOBArray * > &)
CountingConnector(const std::string &name, const std::string &input, const std::string &algorithm, const std::string &output)
TCS::CountingAlg * m_countingAlgorithm
friend class TopoSteeringStructure
std::vector< TrigConf::TriggerLine > m_triggers
void setFirstOutputBit(unsigned int firstOutputBit)
const std::vector< TrigConf::TriggerLine > & triggers() const
const Count & count() const
void setAlgorithm(TCS::ConfigurableAlg *alg)
std::vector< TOBArray const * > m_outputData
InputConnector * inputConnector() const
virtual bool isCountingConnector() const
virtual StatusCode clearOutput()
const TCS::CountingAlg * countingAlgorithm() const
const std::vector< TOBArray const * > & outputData() const
TCS::CountingAlg * countingAlgorithm()
std::ostream & operator<<(std::ostream &os, const TCS::Bin &bin)