ATLAS Offline Software
Loading...
Searching...
No Matches
TXC::L1TopoMenu Class Reference

#include <L1TopoMenu.h>

Collaboration diagram for TXC::L1TopoMenu:

Public Member Functions

 L1TopoMenu ()
 L1TopoMenu (const std::string &name, const std::string &version)
 L1TopoMenu (L1TopoMenu &&o) noexcept=default
 L1TopoMenu (const L1TopoMenu &)=delete
 ~L1TopoMenu ()
const std::string & getName () const
const std::string & getVersion () const
const unsigned int & getSMK () const
const L1TopoConfigAlgalgorithm (const std::string &name) const
const std::vector< TXC::L1TopoConfigAlg > & getL1TopoConfigAlgs () const
const L1TopoConfigGlobalgetL1TopoConfigGlobal () const
const L1TopoConfigOutputListgetL1TopoConfigOutputList () const
void print () const
 print menu
L1TopoMenuoperator= (L1TopoMenu &&o) noexcept=default
void setName (const std::string &name)
 setter methods
void setVersion (const std::string &version)
void setSMK (const unsigned int &smk)
void addAlgorithm (TXC::L1TopoConfigAlg &&alg)
 add algorithm
void addL1TopoXMLOutput (const TXC::OutputListElement &output)
 add output
void addL1TopoConfigGlobal (const TXC::TopoConfigElement &topoconfig)
 add config

Private Member Functions

L1TopoMenuoperator= (const L1TopoMenu &)=delete
TCS::StatusCode setTriggerList ()

Private Attributes

std::string m_name {""}
std::string m_version {""}
unsigned int m_smk {0}
std::vector< TXC::L1TopoConfigAlgm_algos
TXC::L1TopoConfigGlobal m_topoconfig
TXC::L1TopoConfigOutputList m_outputlist

Friends

class TrigConf::L1TopoConfig
class TrigConf::L1TopoMenuLoader

Detailed Description

Definition at line 25 of file L1TopoMenu.h.

Constructor & Destructor Documentation

◆ L1TopoMenu() [1/4]

L1TopoMenu::L1TopoMenu ( )

Definition at line 14 of file L1TopoMenu.cxx.

14{}

◆ L1TopoMenu() [2/4]

L1TopoMenu::L1TopoMenu ( const std::string & name,
const std::string & version )

Definition at line 16 of file L1TopoMenu.cxx.

16 :
17 m_name(name),
18 m_version(version),
19 m_smk(0)
20{}
unsigned int m_smk
Definition L1TopoMenu.h:91
std::string m_name
Definition L1TopoMenu.h:89
std::string m_version
Definition L1TopoMenu.h:90

◆ L1TopoMenu() [3/4]

TXC::L1TopoMenu::L1TopoMenu ( L1TopoMenu && o)
defaultnoexcept

◆ L1TopoMenu() [4/4]

TXC::L1TopoMenu::L1TopoMenu ( const L1TopoMenu & )
delete

◆ ~L1TopoMenu()

L1TopoMenu::~L1TopoMenu ( )

Definition at line 24 of file L1TopoMenu.cxx.

24{}

Member Function Documentation

◆ addAlgorithm()

void L1TopoMenu::addAlgorithm ( TXC::L1TopoConfigAlg && alg)

add algorithm

Definition at line 27 of file L1TopoMenu.cxx.

27 {
28 m_algos.emplace_back(std::move(alg));
29}
std::vector< TXC::L1TopoConfigAlg > m_algos
Definition L1TopoMenu.h:94

◆ addL1TopoConfigGlobal()

void TXC::L1TopoMenu::addL1TopoConfigGlobal ( const TXC::TopoConfigElement & topoconfig)
inline

add config

Definition at line 72 of file L1TopoMenu.h.

72{ m_topoconfig.addTopoConfigElement(topoconfig); }
TXC::L1TopoConfigGlobal m_topoconfig
Definition L1TopoMenu.h:95

◆ addL1TopoXMLOutput()

void TXC::L1TopoMenu::addL1TopoXMLOutput ( const TXC::OutputListElement & output)
inline

add output

Definition at line 69 of file L1TopoMenu.h.

69{ m_outputlist.addOutputListElement(output); }
TXC::L1TopoConfigOutputList m_outputlist
Definition L1TopoMenu.h:96

◆ algorithm()

const L1TopoConfigAlg & L1TopoMenu::algorithm ( const std::string & name) const

Definition at line 32 of file L1TopoMenu.cxx.

32 {
33 for(const L1TopoConfigAlg & alg: m_algos)
34 if(alg.name() == name) return alg;
35 TCS_EXCEPTION("L1TopoMenu: algorithm of name " << name << " doesn't exist");
36}

◆ getL1TopoConfigAlgs()

const std::vector< TXC::L1TopoConfigAlg > & TXC::L1TopoMenu::getL1TopoConfigAlgs ( ) const
inline

Definition at line 53 of file L1TopoMenu.h.

53{ return m_algos; }

◆ getL1TopoConfigGlobal()

const L1TopoConfigGlobal & TXC::L1TopoMenu::getL1TopoConfigGlobal ( ) const
inline

Definition at line 54 of file L1TopoMenu.h.

54{ return m_topoconfig; }

◆ getL1TopoConfigOutputList()

const L1TopoConfigOutputList & TXC::L1TopoMenu::getL1TopoConfigOutputList ( ) const
inline

Definition at line 55 of file L1TopoMenu.h.

55{ return m_outputlist; }

◆ getName()

const std::string & TXC::L1TopoMenu::getName ( ) const
inline

Definition at line 46 of file L1TopoMenu.h.

46{return m_name; }

◆ getSMK()

const unsigned int & TXC::L1TopoMenu::getSMK ( ) const
inline

Definition at line 48 of file L1TopoMenu.h.

48{return m_smk; }

◆ getVersion()

const std::string & TXC::L1TopoMenu::getVersion ( ) const
inline

Definition at line 47 of file L1TopoMenu.h.

47{return m_version; }

◆ operator=() [1/2]

L1TopoMenu & TXC::L1TopoMenu::operator= ( const L1TopoMenu & )
privatedelete

◆ operator=() [2/2]

L1TopoMenu & TXC::L1TopoMenu::operator= ( L1TopoMenu && o)
defaultnoexcept

◆ print()

void TXC::L1TopoMenu::print ( ) const

print menu

Definition at line 64 of file L1TopoMenu.cxx.

64 {
65
66 cout << "==========================================" << endl
67 << "Menu Name : " << getName() << endl
68 << "Menu Version: " << getVersion() << endl
69 << m_topoconfig << endl;
70
71 for(const TXC::L1TopoConfigAlg & alg: getL1TopoConfigAlgs())
72 cout << alg << endl;
73
74 cout << m_outputlist << endl;
75
76}
const std::string & getVersion() const
Definition L1TopoMenu.h:47
const std::vector< TXC::L1TopoConfigAlg > & getL1TopoConfigAlgs() const
Definition L1TopoMenu.h:53
const std::string & getName() const
Definition L1TopoMenu.h:46

◆ setName()

void TXC::L1TopoMenu::setName ( const std::string & name)
inline

setter methods

set menu attributes

Definition at line 61 of file L1TopoMenu.h.

◆ setSMK()

void TXC::L1TopoMenu::setSMK ( const unsigned int & smk)
inline

Definition at line 63 of file L1TopoMenu.h.

◆ setTriggerList()

TCS::StatusCode L1TopoMenu::setTriggerList ( )
private

Definition at line 40 of file L1TopoMenu.cxx.

40 {
41
42 for(const OutputListElement & out: m_outputlist.getOutputList() ) {
43
44 const L1TopoConfigAlg & alg = algorithm( out.algoname() );
45
46 if(! alg.isDecAlg()) {
47 TCS_EXCEPTION("L1TopoMenu: output list contains an algorithm " << out.algoname() << " that is not an decision algorithm");
48 }
49
50 unsigned int bit = out.firstbit();
51 for (const string& outputname : alg.getOutputNames() ) {
52 m_outputlist.addTriggerLine( TriggerLine(outputname, out.algoname(),
53 out.algoid(), out.module(), out.fpga(), out.clock(),
54 bit++) );
55 }
56 }
57
58 m_outputlist.sort();
59
61}
std::string algorithm
Definition hcg.cxx:85

◆ setVersion()

void TXC::L1TopoMenu::setVersion ( const std::string & version)
inline

Definition at line 62 of file L1TopoMenu.h.

◆ TrigConf::L1TopoConfig

friend class TrigConf::L1TopoConfig
friend

Definition at line 84 of file L1TopoMenu.h.

◆ TrigConf::L1TopoMenuLoader

friend class TrigConf::L1TopoMenuLoader
friend

Definition at line 85 of file L1TopoMenu.h.

Member Data Documentation

◆ m_algos

std::vector<TXC::L1TopoConfigAlg> TXC::L1TopoMenu::m_algos
private

Definition at line 94 of file L1TopoMenu.h.

◆ m_name

std::string TXC::L1TopoMenu::m_name {""}
private

Definition at line 89 of file L1TopoMenu.h.

89{""};

◆ m_outputlist

TXC::L1TopoConfigOutputList TXC::L1TopoMenu::m_outputlist
private

Definition at line 96 of file L1TopoMenu.h.

◆ m_smk

unsigned int TXC::L1TopoMenu::m_smk {0}
private

Definition at line 91 of file L1TopoMenu.h.

91{0};

◆ m_topoconfig

TXC::L1TopoConfigGlobal TXC::L1TopoMenu::m_topoconfig
private

Definition at line 95 of file L1TopoMenu.h.

◆ m_version

std::string TXC::L1TopoMenu::m_version {""}
private

Definition at line 90 of file L1TopoMenu.h.

90{""};

The documentation for this class was generated from the following files: