ATLAS Offline Software
Loading...
Searching...
No Matches
TrigConf::L1ThrExtraInfo Class Reference

#include <L1ThrExtraInfo.h>

Collaboration diagram for TrigConf::L1ThrExtraInfo:

Public Member Functions

std::weak_ptr< TrigConf::L1ThrExtraInfoBaseaddExtraInfo (const std::string &thrTypeName, const boost::property_tree::ptree &data)
const L1ThrExtraInfo_EMTAULegacyEM () const
const L1ThrExtraInfo_EMTAULegacyTAU () const
const L1ThrExtraInfo_JETLegacyJET () const
const L1ThrExtraInfo_XSLegacyXS () const
const L1ThrExtraInfo_eEMeEM () const
const L1ThrExtraInfo_jEMjEM () const
const L1ThrExtraInfo_eTAUeTAU () const
const L1ThrExtraInfo_jTAUjTAU () const
const L1ThrExtraInfo_cTAUcTAU () const
const L1ThrExtraInfo_jJjJ () const
const L1ThrExtraInfo_gJgJ () const
const L1ThrExtraInfo_gLJgLJ () const
const L1ThrExtraInfo_jLJjLJ () const
const L1ThrExtraInfo_gXEgXE () const
const L1ThrExtraInfo_jXEjXE () const
const L1ThrExtraInfo_gTEgTE () const
const L1ThrExtraInfo_cXEcXE () const
const L1ThrExtraInfo_jTEjTE () const
const L1ThrExtraInfo_MUMU () const
const L1ThrExtraInfoBasethrExtraInfo (const std::string &thrTypeName) const
bool hasInfo (const std::string &typeName) const
void clear ()

Static Public Member Functions

static std::unique_ptr< L1ThrExtraInfoBasecreateExtraInfo (const std::string &thrTypeName, const boost::property_tree::ptree &data)

Private Attributes

std::map< std::string, std::shared_ptr< TrigConf::L1ThrExtraInfoBase > > m_thrExtraInfo {}
std::shared_ptr< TrigConf::L1ThrExtraInfoBasem_emptyInfo { nullptr }

Detailed Description

Definition at line 39 of file L1ThrExtraInfo.h.

Member Function Documentation

◆ addExtraInfo()

std::weak_ptr< TrigConf::L1ThrExtraInfoBase > TrigConf::L1ThrExtraInfo::addExtraInfo ( const std::string & thrTypeName,
const boost::property_tree::ptree & data )

Definition at line 85 of file L1ThrExtraInfo.cxx.

85 {
86 try {
87 if( auto extraInfo = L1ThrExtraInfo::createExtraInfo( thrTypeName, data) ) {
88 auto success = m_thrExtraInfo.emplace(thrTypeName, std::shared_ptr<TrigConf::L1ThrExtraInfoBase>(std::move(extraInfo)));
89 return std::weak_ptr<TrigConf::L1ThrExtraInfoBase>( success.first->second );
90 }
91 }
92 catch(std::exception & ex) {
93 std::cerr << "L1ThrExtraInfo::addExtraInfo: exception occured when building extra info for " << thrTypeName << std::endl;
94 throw;
95 }
96 return std::weak_ptr<TrigConf::L1ThrExtraInfoBase>( m_emptyInfo );
97}
std::map< std::string, std::shared_ptr< TrigConf::L1ThrExtraInfoBase > > m_thrExtraInfo
std::shared_ptr< TrigConf::L1ThrExtraInfoBase > m_emptyInfo
static std::unique_ptr< L1ThrExtraInfoBase > createExtraInfo(const std::string &thrTypeName, const boost::property_tree::ptree &data)

◆ clear()

void TrigConf::L1ThrExtraInfo::clear ( )

Definition at line 78 of file L1ThrExtraInfo.cxx.

79{
80 m_thrExtraInfo.clear();
81}

◆ createExtraInfo()

std::unique_ptr< TrigConf::L1ThrExtraInfoBase > TrigConf::L1ThrExtraInfo::createExtraInfo ( const std::string & thrTypeName,
const boost::property_tree::ptree & data )
static

Definition at line 13 of file L1ThrExtraInfo.cxx.

13 {
14 std::unique_ptr<TrigConf::L1ThrExtraInfoBase> extraInfo(nullptr);
15
16 if( thrTypeName == "EM" )
17 return std::make_unique<L1ThrExtraInfo_EMTAULegacy>(thrTypeName, data);
18
19 if( thrTypeName == "TAU" )
20 return std::make_unique<L1ThrExtraInfo_EMTAULegacy>(thrTypeName, data);
21
22 if( thrTypeName == "JET" )
23 return std::make_unique<L1ThrExtraInfo_JETLegacy>(thrTypeName, data);
24
25 if( thrTypeName == "XS" )
26 return std::make_unique<L1ThrExtraInfo_XSLegacy>(thrTypeName, data);
27
28 if( thrTypeName == "MU" )
29 return std::make_unique<L1ThrExtraInfo_MU>(thrTypeName, data);
30
31 if( thrTypeName == "eEM" )
32 return std::make_unique<L1ThrExtraInfo_eEM>(thrTypeName, data);
33
34 if( thrTypeName == "jEM" )
35 return std::make_unique<L1ThrExtraInfo_jEM>(thrTypeName, data);
36
37 if( thrTypeName == "eTAU" )
38 return std::make_unique<L1ThrExtraInfo_eTAU>(thrTypeName, data);
39
40 if( thrTypeName == "jTAU" )
41 return std::make_unique<L1ThrExtraInfo_jTAU>(thrTypeName, data);
42
43 if( thrTypeName == "cTAU" )
44 return std::make_unique<L1ThrExtraInfo_cTAU>(thrTypeName, data);
45
46 if( thrTypeName == "jJ" )
47 return std::make_unique<L1ThrExtraInfo_jJ>(thrTypeName, data);
48
49 if( thrTypeName == "jLJ" )
50 return std::make_unique<L1ThrExtraInfo_jLJ>(thrTypeName, data);
51
52 if( thrTypeName == "gJ" )
53 return std::make_unique<L1ThrExtraInfo_gJ>(thrTypeName, data);
54
55 if( thrTypeName == "gLJ" )
56 return std::make_unique<L1ThrExtraInfo_gLJ>(thrTypeName, data);
57
58 if( thrTypeName == "jXE" )
59 return std::make_unique<L1ThrExtraInfo_jXE>(thrTypeName, data);
60
61 if( thrTypeName == "jTE" )
62 return std::make_unique<L1ThrExtraInfo_jTE>(thrTypeName, data);
63
64 if( thrTypeName == "gXE" )
65 return std::make_unique<L1ThrExtraInfo_gXE>(thrTypeName, data);
66
67 if( thrTypeName == "gTE" )
68 return std::make_unique<L1ThrExtraInfo_gTE>(thrTypeName, data);
69
70 if( thrTypeName == "cXE" )
71 return std::make_unique<L1ThrExtraInfo_cXE>(thrTypeName, data);
72
73 // if no special extra information is supplied for the threshold type return base class
74 return std::make_unique<L1ThrExtraInfoBase>(thrTypeName, data);
75}

◆ cTAU()

const TrigConf::L1ThrExtraInfo_cTAU & TrigConf::L1ThrExtraInfo::cTAU ( ) const

Definition at line 146 of file L1ThrExtraInfo.cxx.

146 {
147 return dynamic_cast<const TrigConf::L1ThrExtraInfo_cTAU&>( * m_thrExtraInfo.at("cTAU") );
148}

◆ cXE()

const TrigConf::L1ThrExtraInfo_cXE & TrigConf::L1ThrExtraInfo::cXE ( ) const

Definition at line 191 of file L1ThrExtraInfo.cxx.

191 {
192 return dynamic_cast<const TrigConf::L1ThrExtraInfo_cXE&>( * m_thrExtraInfo.at("cXE") );
193}

◆ eEM()

const TrigConf::L1ThrExtraInfo_eEM & TrigConf::L1ThrExtraInfo::eEM ( ) const

Definition at line 126 of file L1ThrExtraInfo.cxx.

126 {
127 return dynamic_cast<const TrigConf::L1ThrExtraInfo_eEM&>( * m_thrExtraInfo.at("eEM") );
128}

◆ EM()

const TrigConf::L1ThrExtraInfo_EMTAULegacy & TrigConf::L1ThrExtraInfo::EM ( ) const

Definition at line 106 of file L1ThrExtraInfo.cxx.

106 {
107 return dynamic_cast<const TrigConf::L1ThrExtraInfo_EMTAULegacy&>( * m_thrExtraInfo.at("EM") );
108}

◆ eTAU()

const TrigConf::L1ThrExtraInfo_eTAU & TrigConf::L1ThrExtraInfo::eTAU ( ) const

Definition at line 136 of file L1ThrExtraInfo.cxx.

136 {
137 return dynamic_cast<const TrigConf::L1ThrExtraInfo_eTAU&>( * m_thrExtraInfo.at("eTAU") );
138}

◆ gJ()

const TrigConf::L1ThrExtraInfo_gJ & TrigConf::L1ThrExtraInfo::gJ ( ) const

Definition at line 161 of file L1ThrExtraInfo.cxx.

161 {
162 return dynamic_cast<const TrigConf::L1ThrExtraInfo_gJ&>( * m_thrExtraInfo.at("gJ") );
163}

◆ gLJ()

const TrigConf::L1ThrExtraInfo_gLJ & TrigConf::L1ThrExtraInfo::gLJ ( ) const

Definition at line 166 of file L1ThrExtraInfo.cxx.

166 {
167 return dynamic_cast<const TrigConf::L1ThrExtraInfo_gLJ&>( * m_thrExtraInfo.at("gLJ") );
168}

◆ gTE()

const TrigConf::L1ThrExtraInfo_gTE & TrigConf::L1ThrExtraInfo::gTE ( ) const

Definition at line 186 of file L1ThrExtraInfo.cxx.

186 {
187 return dynamic_cast<const TrigConf::L1ThrExtraInfo_gTE&>( * m_thrExtraInfo.at("gTE") );
188}

◆ gXE()

const TrigConf::L1ThrExtraInfo_gXE & TrigConf::L1ThrExtraInfo::gXE ( ) const

Definition at line 181 of file L1ThrExtraInfo.cxx.

181 {
182 return dynamic_cast<const TrigConf::L1ThrExtraInfo_gXE&>( * m_thrExtraInfo.at("gXE") );
183}

◆ hasInfo()

bool TrigConf::L1ThrExtraInfo::hasInfo ( const std::string & typeName) const

Definition at line 100 of file L1ThrExtraInfo.cxx.

101{
102 return ( m_thrExtraInfo.find(typeName) != m_thrExtraInfo.end() );
103}

◆ jEM()

const TrigConf::L1ThrExtraInfo_jEM & TrigConf::L1ThrExtraInfo::jEM ( ) const

Definition at line 131 of file L1ThrExtraInfo.cxx.

131 {
132 return dynamic_cast<const TrigConf::L1ThrExtraInfo_jEM&>( * m_thrExtraInfo.at("jEM") );
133}

◆ JET()

const TrigConf::L1ThrExtraInfo_JETLegacy & TrigConf::L1ThrExtraInfo::JET ( ) const

Definition at line 121 of file L1ThrExtraInfo.cxx.

121 {
122 return dynamic_cast<const TrigConf::L1ThrExtraInfo_JETLegacy&>( * m_thrExtraInfo.at("JET") );
123}

◆ jJ()

const TrigConf::L1ThrExtraInfo_jJ & TrigConf::L1ThrExtraInfo::jJ ( ) const

Definition at line 151 of file L1ThrExtraInfo.cxx.

151 {
152 return dynamic_cast<const TrigConf::L1ThrExtraInfo_jJ&>( * m_thrExtraInfo.at("jJ") );
153}

◆ jLJ()

const TrigConf::L1ThrExtraInfo_jLJ & TrigConf::L1ThrExtraInfo::jLJ ( ) const

Definition at line 156 of file L1ThrExtraInfo.cxx.

156 {
157 return dynamic_cast<const TrigConf::L1ThrExtraInfo_jLJ&>( * m_thrExtraInfo.at("jLJ") );
158}

◆ jTAU()

const TrigConf::L1ThrExtraInfo_jTAU & TrigConf::L1ThrExtraInfo::jTAU ( ) const

Definition at line 141 of file L1ThrExtraInfo.cxx.

141 {
142 return dynamic_cast<const TrigConf::L1ThrExtraInfo_jTAU&>( * m_thrExtraInfo.at("jTAU") );
143}

◆ jTE()

const TrigConf::L1ThrExtraInfo_jTE & TrigConf::L1ThrExtraInfo::jTE ( ) const

Definition at line 176 of file L1ThrExtraInfo.cxx.

176 {
177 return dynamic_cast<const TrigConf::L1ThrExtraInfo_jTE&>( * m_thrExtraInfo.at("jTE") );
178}

◆ jXE()

const TrigConf::L1ThrExtraInfo_jXE & TrigConf::L1ThrExtraInfo::jXE ( ) const

Definition at line 171 of file L1ThrExtraInfo.cxx.

171 {
172 return dynamic_cast<const TrigConf::L1ThrExtraInfo_jXE&>( * m_thrExtraInfo.at("jXE") );
173}

◆ MU()

const TrigConf::L1ThrExtraInfo_MU & TrigConf::L1ThrExtraInfo::MU ( ) const

Definition at line 196 of file L1ThrExtraInfo.cxx.

196 {
197 return dynamic_cast<const TrigConf::L1ThrExtraInfo_MU&>( * m_thrExtraInfo.at("MU") );
198}

◆ TAU()

const TrigConf::L1ThrExtraInfo_EMTAULegacy & TrigConf::L1ThrExtraInfo::TAU ( ) const

Definition at line 111 of file L1ThrExtraInfo.cxx.

111 {
112 return dynamic_cast<const TrigConf::L1ThrExtraInfo_EMTAULegacy&>( * m_thrExtraInfo.at("TAU") );
113}

◆ thrExtraInfo()

const TrigConf::L1ThrExtraInfoBase & TrigConf::L1ThrExtraInfo::thrExtraInfo ( const std::string & thrTypeName) const

Definition at line 201 of file L1ThrExtraInfo.cxx.

202{
203 try {
204 return * m_thrExtraInfo.at(thrTypeName);
205 }
206 catch(std::exception & ex) {
207 std::cerr << "Threshold type " << thrTypeName << " does not have extra info defined" << endl;
208 throw;
209 }
210}

◆ XS()

const TrigConf::L1ThrExtraInfo_XSLegacy & TrigConf::L1ThrExtraInfo::XS ( ) const

Definition at line 116 of file L1ThrExtraInfo.cxx.

116 {
117 return dynamic_cast<const TrigConf::L1ThrExtraInfo_XSLegacy&>( * m_thrExtraInfo.at("XS") );
118}

Member Data Documentation

◆ m_emptyInfo

std::shared_ptr<TrigConf::L1ThrExtraInfoBase> TrigConf::L1ThrExtraInfo::m_emptyInfo { nullptr }
private

Definition at line 74 of file L1ThrExtraInfo.h.

74{ nullptr };

◆ m_thrExtraInfo

std::map<std::string, std::shared_ptr<TrigConf::L1ThrExtraInfoBase> > TrigConf::L1ThrExtraInfo::m_thrExtraInfo {}
private

Definition at line 73 of file L1ThrExtraInfo.h.

73{};

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