ATLAS Offline Software
TopoSteeringStructure.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
8 
9 #include <vector>
10 #include <map>
11 #include <string>
12 #include <iosfwd>
13 
14 namespace TrigConf{
15  class L1Menu;
16 }
17 
18 namespace TXC {
19  class L1TopoMenu;
20 }
21 
22 namespace TCS {
23 
24  class Connector;
25  class DecisionConnector;
26  class SortingConnector;
27  class CountingConnector;
28  class InputConnector;
29  class ParameterSpace;
30 
31 
33  public:
34 
36 
38 
39  StatusCode setupFromMenu ATLAS_NOT_THREAD_SAFE (const TrigConf::L1Menu& l1menu, bool legacy = false, bool debug = false);
40 
41  // accessors
42  bool isConfigured() const { return m_isConfigured; }
43 
44  const std::vector<TCS::Connector*> & connectors() const { return m_connectors; }
45 
46  const std::map<std::string, TCS::DecisionConnector*> & outputConnectors() const { return m_outputLookup; }
47 
48  const std::map<std::string, TCS::CountingConnector*> & countConnectors() const { return m_countLookup; }
49 
50  Connector* connector(const std::string & connectorName) const;
51 
52  DecisionConnector* outputConnector(const std::string & output);
53 
54  CountingConnector* countingConnector(const std::string & output);
55 
56  // resets the connectors (status, intermediate TOBs, and decision of algs)
57  StatusCode reset();
58 
59  // print
60  void print(std::ostream & o) const;
61 
62  void printParameters(std::ostream & o) const;
63 
64  private:
65 
66  SortingConnector* sortingConnector(const std::string & output) const;
67 
69 
71 
73 
75 
76  StatusCode instantiateAlgorithms ATLAS_NOT_THREAD_SAFE (bool debug);
77 
78  private:
79 
80  bool m_isConfigured { false }; // set to true after configuration has run
81 
82  std::vector<TCS::Connector*> m_connectors; // list of connectors
83 
84  std::map<std::string, TCS::DecisionConnector*> m_outputLookup; // output connectors (subset of m_connectors) by connector name
85 
86  std::map<std::string, TCS::SortingConnector*> m_sortedLookup; // sorting connectors (subset of m_connectors) by connector name
87 
88  std::map<std::string, TCS::CountingConnector*> m_countLookup; // counting connectors (subset of m_connectors) by connector name
89 
90  std::map<std::string, TCS::InputConnector*> m_inputLookup; // input connectors (subset of m_connectors) by connector name
91 
92  std::vector<TCS::ParameterSpace*> m_parameters;
93 
94  };
95 
96 }
TCS::TopoSteeringStructure::connectors
const std::vector< TCS::Connector * > & connectors() const
Definition: TopoSteeringStructure.h:44
TCS::TopoSteeringStructure::m_sortedLookup
std::map< std::string, TCS::SortingConnector * > m_sortedLookup
Definition: TopoSteeringStructure.h:86
TCS::TopoSteeringStructure::~TopoSteeringStructure
~TopoSteeringStructure()
Definition: TopoSteeringStructure.cxx:72
checkCorrelInHIST.conn
conn
Definition: checkCorrelInHIST.py:25
TCS::TopoSteeringStructure::countConnectors
const std::map< std::string, TCS::CountingConnector * > & countConnectors() const
Definition: TopoSteeringStructure.h:48
TCS::TopoSteeringStructure::outputConnector
DecisionConnector * outputConnector(const std::string &output)
Definition: TopoSteeringStructure.cxx:501
TCS::Connector
Definition: Connector.h:22
TCS::TopoSteeringStructure::addSortingConnector
StatusCode addSortingConnector(SortingConnector *conn)
Definition: TopoSteeringStructure.cxx:406
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:88
TCS::TopoSteeringStructure::ATLAS_NOT_THREAD_SAFE
StatusCode instantiateAlgorithms ATLAS_NOT_THREAD_SAFE(bool debug)
TCS::TopoSteeringStructure::reset
StatusCode reset()
Definition: TopoSteeringStructure.cxx:80
TCS::TopoSteeringStructure::addCountingConnector
StatusCode addCountingConnector(CountingConnector *conn)
Definition: TopoSteeringStructure.cxx:423
TCS::TopoSteeringStructure::outputConnectors
const std::map< std::string, TCS::DecisionConnector * > & outputConnectors() const
Definition: TopoSteeringStructure.h:46
TCS::TopoSteeringStructure::countingConnector
CountingConnector * countingConnector(const std::string &output)
Definition: TopoSteeringStructure.cxx:511
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
StatusCode.h
TCS::TopoSteeringStructure::m_connectors
std::vector< TCS::Connector * > m_connectors
Definition: TopoSteeringStructure.h:82
TCS::TopoSteeringStructure::connector
Connector * connector(const std::string &connectorName) const
Definition: TopoSteeringStructure.cxx:473
TCS::TopoSteeringStructure::m_isConfigured
bool m_isConfigured
Definition: TopoSteeringStructure.h:80
TCS::TopoSteeringStructure::m_inputLookup
std::map< std::string, TCS::InputConnector * > m_inputLookup
Definition: TopoSteeringStructure.h:90
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:92
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
TCS::TopoSteeringStructure::addDecisionConnector
StatusCode addDecisionConnector(DecisionConnector *conn)
Definition: TopoSteeringStructure.cxx:414
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:432
TCS::TopoSteeringStructure::printParameters
void printParameters(std::ostream &o) const
Definition: TopoSteeringStructure.cxx:114
TCS::TopoSteeringStructure
Definition: TopoSteeringStructure.h:32
MistimedStreamPhI_runStandalone.legacy
legacy
Definition: MistimedStreamPhI_runStandalone.py:110
TCS::TopoSteeringStructure::m_outputLookup
std::map< std::string, TCS::DecisionConnector * > m_outputLookup
Definition: TopoSteeringStructure.h:84
TCS::TopoSteeringStructure::isConfigured
bool isConfigured() const
Definition: TopoSteeringStructure.h:42
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73
TCS::TopoSteeringStructure::sortingConnector
SortingConnector * sortingConnector(const std::string &output) const
Definition: TopoSteeringStructure.cxx:484
TCS::TopoSteeringStructure::TopoSteeringStructure
TopoSteeringStructure()
Definition: TopoSteeringStructure.cxx:67
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:88
TCS::StatusCode
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15