ATLAS Offline Software
TopoSteeringStructure.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
8 
9 #include "TrigConfData/L1Menu.h"
11 
12 #include <vector>
13 #include <map>
14 #include <string>
15 
16 namespace TXC {
17  class L1TopoMenu;
18 }
19 
20 namespace TCS {
21 
22  class Connector;
23  class DecisionConnector;
24  class SortingConnector;
25  class CountingConnector;
26  class InputConnector;
27  class ParameterSpace;
28 // class DecisionAlg;
29 // class SortingAlg;
30 
32  public:
33 
35 
37 
38  StatusCode setupFromMenu ATLAS_NOT_THREAD_SAFE (const TrigConf::L1Menu& l1menu, bool legacy = false, bool debug = false);
39 
40  // accessors
41  bool isConfigured() const { return m_isConfigured; }
42 
43  const std::vector<TCS::Connector*> & connectors() const { return m_connectors; }
44 
45  const std::map<std::string, TCS::DecisionConnector*> & outputConnectors() const { return m_outputLookup; }
46 
47  const std::map<std::string, TCS::CountingConnector*> & countConnectors() const { return m_countLookup; }
48 
49  Connector* connector(const std::string & connectorName) const;
50 
51  DecisionConnector* outputConnector(const std::string & output);
52 
53  CountingConnector* countingConnector(const std::string & output);
54 
55  // resets the connectors (status, intermediate TOBs, and decision of algs)
56  StatusCode reset();
57 
58  // print
59  void print(std::ostream & o) const;
60 
61  void printParameters(std::ostream & o) const;
62 
63  private:
64 
65  SortingConnector* sortingConnector(const std::string & output) const;
66 
68 
70 
72 
74 
75  StatusCode instantiateAlgorithms ATLAS_NOT_THREAD_SAFE (bool debug);
76 
77  private:
78 
79  bool m_isConfigured { false }; // set to true after configuration has run
80 
81  std::vector<TCS::Connector*> m_connectors; // list of connectors
82 
83  std::map<std::string, TCS::DecisionConnector*> m_outputLookup; // output connectors (subset of m_connectors) by connector name
84 
85  std::map<std::string, TCS::SortingConnector*> m_sortedLookup; // sorting connectors (subset of m_connectors) by connector name
86 
87  std::map<std::string, TCS::CountingConnector*> m_countLookup; // counting connectors (subset of m_connectors) by connector name
88 
89  std::map<std::string, TCS::InputConnector*> m_inputLookup; // input connectors (subset of m_connectors) by connector name
90 
91  std::vector<TCS::ParameterSpace*> m_parameters;
92 
93  };
94 
95 }
TCS::TopoSteeringStructure::connectors
const std::vector< TCS::Connector * > & connectors() const
Definition: TopoSteeringStructure.h:43
TCS::TopoSteeringStructure::m_sortedLookup
std::map< std::string, TCS::SortingConnector * > m_sortedLookup
Definition: TopoSteeringStructure.h:85
TCS::TopoSteeringStructure::~TopoSteeringStructure
~TopoSteeringStructure()
Definition: TopoSteeringStructure.cxx:71
checkCorrelInHIST.conn
conn
Definition: checkCorrelInHIST.py:25
TCS::TopoSteeringStructure::countConnectors
const std::map< std::string, TCS::CountingConnector * > & countConnectors() const
Definition: TopoSteeringStructure.h:47
TCS::TopoSteeringStructure::outputConnector
DecisionConnector * outputConnector(const std::string &output)
Definition: TopoSteeringStructure.cxx:498
TCS::Connector
Definition: Connector.h:22
TCS::TopoSteeringStructure::addSortingConnector
StatusCode addSortingConnector(SortingConnector *conn)
Definition: TopoSteeringStructure.cxx:403
TCS::CountingConnector
Definition: CountingConnector.h:26
TCS::SortingConnector
Definition: SortingConnector.h:24
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
TCS::TopoSteeringStructure::m_countLookup
std::map< std::string, TCS::CountingConnector * > m_countLookup
Definition: TopoSteeringStructure.h:87
TCS::TopoSteeringStructure::ATLAS_NOT_THREAD_SAFE
StatusCode instantiateAlgorithms ATLAS_NOT_THREAD_SAFE(bool debug)
TCS::TopoSteeringStructure::reset
StatusCode reset()
Definition: TopoSteeringStructure.cxx:79
TCS::TopoSteeringStructure::addCountingConnector
StatusCode addCountingConnector(CountingConnector *conn)
Definition: TopoSteeringStructure.cxx:420
TCS::TopoSteeringStructure::outputConnectors
const std::map< std::string, TCS::DecisionConnector * > & outputConnectors() const
Definition: TopoSteeringStructure.h:45
TCS::TopoSteeringStructure::countingConnector
CountingConnector * countingConnector(const std::string &output)
Definition: TopoSteeringStructure.cxx:508
StatusCode.h
TCS::TopoSteeringStructure::m_connectors
std::vector< TCS::Connector * > m_connectors
Definition: TopoSteeringStructure.h:81
TCS::TopoSteeringStructure::connector
Connector * connector(const std::string &connectorName) const
Definition: TopoSteeringStructure.cxx:470
TCS::TopoSteeringStructure::m_isConfigured
bool m_isConfigured
Definition: TopoSteeringStructure.h:79
TCS::TopoSteeringStructure::m_inputLookup
std::map< std::string, TCS::InputConnector * > m_inputLookup
Definition: TopoSteeringStructure.h:89
merge.output
output
Definition: merge.py:17
TXC
Definition: IL1TopoMenuLoader.h:10
TCS::TopoSteeringStructure::m_parameters
std::vector< TCS::ParameterSpace * > m_parameters
Definition: TopoSteeringStructure.h:91
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
TCS::TopoSteeringStructure::addDecisionConnector
StatusCode addDecisionConnector(DecisionConnector *conn)
Definition: TopoSteeringStructure.cxx:411
TCS::TopoSteeringStructure::ATLAS_NOT_THREAD_SAFE
StatusCode setupFromMenu ATLAS_NOT_THREAD_SAFE(const TrigConf::L1Menu &l1menu, bool legacy=false, bool debug=false)
TCS::TopoSteeringStructure::linkConnectors
StatusCode linkConnectors()
Definition: TopoSteeringStructure.cxx:429
TCS::TopoSteeringStructure::printParameters
void printParameters(std::ostream &o) const
Definition: TopoSteeringStructure.cxx:113
TCS::TopoSteeringStructure
Definition: TopoSteeringStructure.h:31
TCS::TopoSteeringStructure::m_outputLookup
std::map< std::string, TCS::DecisionConnector * > m_outputLookup
Definition: TopoSteeringStructure.h:83
TCS::TopoSteeringStructure::isConfigured
bool isConfigured() const
Definition: TopoSteeringStructure.h:41
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73
L1TopoAlgorithm.h
TCS::TopoSteeringStructure::sortingConnector
SortingConnector * sortingConnector(const std::string &output) const
Definition: TopoSteeringStructure.cxx:481
TCS::TopoSteeringStructure::TopoSteeringStructure
TopoSteeringStructure()
Definition: TopoSteeringStructure.cxx:66
L1Menu.h
checker_macros.h
Define macros for attributes used to control the static checker.
TCS::DecisionConnector
Definition: DecisionConnector.h:23
TCS::TopoSteeringStructure::print
void print(std::ostream &o) const
Definition: TopoSteeringStructure.cxx:87
TCS::StatusCode
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15