ATLAS Offline Software
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 
10 #include "L1TopoInterfaces/Count.h"
13 #include "L1TopoCommon/Types.h"
15 
16 #include <vector>
17 #include <string>
18 
19 namespace TCS {
20 
21  class TOBArray;
22  class CountingAlg;
23  class InputConnector;
24 
25  //special connector for Multiplicity Algorithms
26  class CountingConnector : public Connector {
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;
59  friend class TopoSteeringStructure;
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
TCS::CountingConnector::triggers
const std::vector< TrigConf::TriggerLine > & triggers() const
Definition: CountingConnector.h:47
SGout2dot.alg
alg
Definition: SGout2dot.py:243
TCS::CountingConnector::~CountingConnector
virtual ~CountingConnector()
Definition: CountingConnector.cxx:25
TCS::CountingConnector::countingAlgorithm
TCS::CountingAlg * countingAlgorithm()
Definition: CountingConnector.h:40
TCS::Connector
Definition: Connector.h:22
TCS::CountingConnector
Definition: CountingConnector.h:26
Types.h
TCS::CountingConnector::setAlgorithm
void setAlgorithm(TCS::ConfigurableAlg *alg)
Definition: CountingConnector.cxx:65
TCS::CountingConnector::m_triggers
std::vector< TrigConf::TriggerLine > m_triggers
Definition: CountingConnector.h:72
TCS::CountingConnector::m_countingAlgorithm
TCS::CountingAlg * m_countingAlgorithm
Definition: CountingConnector.h:70
TCS::InputConnector
Definition: InputConnector.h:22
StatusCode.h
Count.h
TCS::CountingConnector::CountingConnector
CountingConnector(const std::string &name, const std::string &input, const std::string &algorithm, const std::string &output)
Definition: CountingConnector.cxx:17
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
TCS::CountingConnector::countingAlgorithm
const TCS::CountingAlg * countingAlgorithm() const
Definition: CountingConnector.h:41
L1Connector.h
TCS::TOBArray
Definition: TOBArray.h:24
Connector.h
TCS::TopoSteering
Definition: TopoSteering.h:46
TCS::ConfigurableAlg
Definition: ConfigurableAlg.h:30
TCS::Connector::algorithm
const TCS::ConfigurableAlg * algorithm() const
Definition: Connector.h:50
TCS::Connector::name
const std::string & name() const
Definition: Connector.h:44
TCS::CountingConnector::output
TOBArray const * output(const std::string &trigger) const
Definition: CountingConnector.cxx:34
L1TopoConfigOutputList.h
TCS::Count
Definition: L1Topo/L1TopoInterfaces/L1TopoInterfaces/Count.h:20
TCS::CountingConnector::m_count
Count m_count
Definition: CountingConnector.h:68
TCS::TopoSteeringStructure
Definition: TopoSteeringStructure.h:31
TCS::CountingConnector::attachOutputData
void attachOutputData(const std::vector< TOBArray * > &)
Definition: CountingConnector.cxx:75
TCS::CountingConnector::isCountingConnector
virtual bool isCountingConnector() const
Definition: CountingConnector.h:38
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::CountingConnector::outputData
const std::vector< TOBArray const * > & outputData() const
Definition: CountingConnector.h:54
TCS::CountingConnector::inputConnector
InputConnector * inputConnector() const
Definition: CountingConnector.cxx:60
TCS::CountingConnector::clearOutput
virtual StatusCode clearOutput()
Definition: CountingConnector.cxx:47
TCS::CountingConnector::setFirstOutputBit
void setFirstOutputBit(unsigned int firstOutputBit)
Definition: CountingConnector.cxx:86
TCS::operator<<
std::ostream & operator<<(std::ostream &, const TCS::CountingConnector &)
Definition: CountingConnector.cxx:93
TCS::CountingAlg
Definition: CountingAlg.h:25
TCS::CountingConnector::count
const Count & count() const
Definition: CountingConnector.h:45
TCS::StatusCode
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15
PhysDESDM_Quirks.trigger
trigger
Definition: PhysDESDM_Quirks.py:27
TCS::CountingConnector::m_outputData
std::vector< TOBArray const * > m_outputData
Definition: CountingConnector.h:75