ATLAS Offline Software
Loading...
Searching...
No Matches
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
17namespace TCS {
18
19 class TOBArray;
20 class DecisionAlg;
21
22 // special connector for Decision algorithms
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;
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
76std::ostream & operator<<(std::ostream &, const TCS::DecisionConnector&);
77
78}
79
80#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
TCS::DecisionAlg * decisionAlgorithm()
DecisionConnector(const std::string &name, const std::vector< std::string > &inputs, const std::string &algorithm, const std::vector< std::string > &outputs)
const std::vector< TrigConf::TriggerLine > & triggers() const
std::vector< TrigConf::TriggerLine > m_triggers
friend class TopoSteeringStructure
void attachOutputData(const std::vector< TOBArray * > &)
TOBArray const * output(const std::string &trigger) const
virtual bool isDecisionConnector() const
void setAlgorithm(TCS::ConfigurableAlg *alg)
const TCS::DecisionAlg * decisionAlgorithm() const
std::vector< TOBArray const * > m_outputData
const std::vector< TOBArray const * > & outputData() const
const Decision & decision() const
void setFirstOutputBit(unsigned int firstOutputBit)
TCS::DecisionAlg * m_decisionAlgorithm
virtual StatusCode clearOutput()
std::ostream & operator<<(std::ostream &os, const TCS::Bin &bin)