ATLAS Offline Software
DecisionConnector.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_DecisionConnector
6 #define L1TopoCoreSim_DecisionConnector
7 
9 
13 
14 #include <vector>
15 #include <string>
16 
17 namespace TCS {
18 
19  class TOBArray;
20  class DecisionAlg;
21 
22  // special connector for Decision algorithms
23  class DecisionConnector : public Connector {
24  public:
25 
26  DecisionConnector(const std::string & name,
27  const std::vector<std::string> & inputs,
28  const std::string & algorithm,
29  const std::vector<std::string> & outputs);
30 
31  virtual ~DecisionConnector();
32 
33  virtual bool isDecisionConnector() const { return true; }
34 
37 
38  virtual StatusCode clearOutput();
39 
40  const Decision & decision() const { return m_decision; }
41 
42  bool decision(const std::string & trigger) const;
43 
44  const std::vector<TrigConf::TriggerLine> & triggers() const { return m_triggers; }
45 
46  // output data
47  void attachOutputData(const std::vector<TOBArray *>&);
48 
49  TOBArray const * output(const std::string & trigger) const;
50 
51  const std::vector<TOBArray const *> & outputData() const { return m_outputData; }
52 
53  private: // functions
54 
55  friend class TopoSteering;
56  friend class TopoSteeringStructure;
57 
59 
60  void setFirstOutputBit(unsigned int firstOutputBit);
61 
62  private: // data
63 
64  // the decision bit array
66 
68 
69  std::vector<TrigConf::TriggerLine> m_triggers;
70 
71  // attached output data
72  std::vector<TOBArray const *> m_outputData;
73 
74  };
75 
76 std::ostream & operator<<(std::ostream &, const TCS::DecisionConnector&);
77 
78 }
79 
80 #endif
SGout2dot.alg
alg
Definition: SGout2dot.py:243
TCS::Connector
Definition: Connector.h:22
TCS::DecisionConnector::outputData
const std::vector< TOBArray const * > & outputData() const
Definition: DecisionConnector.h:51
TCS::DecisionConnector::attachOutputData
void attachOutputData(const std::vector< TOBArray * > &)
Definition: DecisionConnector.cxx:77
DecisionAlg
Call through interface to FilteredAlgorithm.
Definition: Control/AthenaServices/src/DecisionAlg.h:17
Decision.h
TCS::DecisionConnector::DecisionConnector
DecisionConnector(const std::string &name, const std::vector< std::string > &inputs, const std::string &algorithm, const std::vector< std::string > &outputs)
Definition: DecisionConnector.cxx:14
TCS::DecisionConnector::m_decisionAlgorithm
TCS::DecisionAlg * m_decisionAlgorithm
Definition: DecisionConnector.h:67
postInclude.inputs
inputs
Definition: postInclude.SortInput.py:15
TCS::DecisionConnector::m_decision
Decision m_decision
Definition: DecisionConnector.h:65
TCS::DecisionConnector::m_triggers
std::vector< TrigConf::TriggerLine > m_triggers
Definition: DecisionConnector.h:69
TCS::DecisionAlg
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:22
TCS::DecisionConnector::~DecisionConnector
virtual ~DecisionConnector()
Definition: DecisionConnector.cxx:22
TCS::DecisionConnector::decisionAlgorithm
TCS::DecisionAlg * decisionAlgorithm()
Definition: DecisionConnector.h:35
TCS::DecisionConnector::output
TOBArray const * output(const std::string &trigger) const
Definition: DecisionConnector.cxx:40
L1Connector.h
TCS::TOBArray
Definition: TOBArray.h:24
TCS::Decision
Definition: L1Topo/L1TopoInterfaces/L1TopoInterfaces/Decision.h:19
Connector.h
python.CreateTierZeroArgdict.outputs
outputs
Definition: CreateTierZeroArgdict.py:189
TCS::TopoSteering
Definition: TopoSteering.h:46
TCS::ConfigurableAlg
Definition: ConfigurableAlg.h:30
TCS::DecisionConnector::triggers
const std::vector< TrigConf::TriggerLine > & triggers() const
Definition: DecisionConnector.h:44
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::DecisionConnector::clearOutput
virtual StatusCode clearOutput()
Definition: DecisionConnector.cxx:53
L1TopoConfigOutputList.h
TCS::DecisionConnector::m_outputData
std::vector< TOBArray const * > m_outputData
Definition: DecisionConnector.h:72
TCS::TopoSteeringStructure
Definition: TopoSteeringStructure.h:31
TCS::DecisionConnector::setFirstOutputBit
void setFirstOutputBit(unsigned int firstOutputBit)
Definition: DecisionConnector.cxx:89
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::DecisionConnector::decision
const Decision & decision() const
Definition: DecisionConnector.h:40
TCS::DecisionConnector::decisionAlgorithm
const TCS::DecisionAlg * decisionAlgorithm() const
Definition: DecisionConnector.h:36
TCS::DecisionConnector::isDecisionConnector
virtual bool isDecisionConnector() const
Definition: DecisionConnector.h:33
TCS::operator<<
std::ostream & operator<<(std::ostream &, const TCS::CountingConnector &)
Definition: CountingConnector.cxx:93
TCS::DecisionConnector
Definition: DecisionConnector.h:23
TCS::StatusCode
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15
PhysDESDM_Quirks.trigger
trigger
Definition: PhysDESDM_Quirks.py:27
TCS::DecisionConnector::setAlgorithm
void setAlgorithm(TCS::ConfigurableAlg *alg)
Definition: DecisionConnector.cxx:66