ATLAS Offline Software
Loading...
Searching...
No Matches
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
14namespace TrigConf{
15 class L1Menu;
16}
17
18namespace TXC {
19 class L1TopoMenu;
20}
21
22namespace TCS {
23
24 class Connector;
26 class SortingConnector;
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)
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}
const bool debug
Define macros for attributes used to control the static checker.
void printParameters(std::ostream &o) const
StatusCode addDecisionConnector(DecisionConnector *conn)
std::vector< TCS::Connector * > m_connectors
const std::map< std::string, TCS::CountingConnector * > & countConnectors() const
const std::map< std::string, TCS::DecisionConnector * > & outputConnectors() const
DecisionConnector * outputConnector(const std::string &output)
StatusCode setupFromMenu ATLAS_NOT_THREAD_SAFE(const TrigConf::L1Menu &l1menu, bool legacy=false, bool debug=false)
CountingConnector * countingConnector(const std::string &output)
void print(std::ostream &o) const
std::vector< TCS::ParameterSpace * > m_parameters
std::map< std::string, TCS::SortingConnector * > m_sortedLookup
std::map< std::string, TCS::CountingConnector * > m_countLookup
std::map< std::string, TCS::InputConnector * > m_inputLookup
std::map< std::string, TCS::DecisionConnector * > m_outputLookup
const std::vector< TCS::Connector * > & connectors() const
StatusCode addCountingConnector(CountingConnector *conn)
StatusCode addSortingConnector(SortingConnector *conn)
Connector * connector(const std::string &connectorName) const
StatusCode instantiateAlgorithms ATLAS_NOT_THREAD_SAFE(bool debug)
SortingConnector * sortingConnector(const std::string &output) const
L1 menu configuration.
Definition L1Menu.h:28
Forward iterator to traverse the main components of the trigger configuration.
Definition Config.h:22