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 37 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 86 of file L1ThrExtraInfo.cxx.

86 {
87 try {
88 if( auto extraInfo = L1ThrExtraInfo::createExtraInfo( thrTypeName, data) ) {
89 auto success = m_thrExtraInfo.emplace(thrTypeName, std::shared_ptr<TrigConf::L1ThrExtraInfoBase>(std::move(extraInfo)));
90 return std::weak_ptr<TrigConf::L1ThrExtraInfoBase>( success.first->second );
91 }
92 }
93 catch(std::exception & ex) {
94 std::cerr << "L1ThrExtraInfo::addExtraInfo: exception occured when building extra info for " << thrTypeName << std::endl;
95 throw;
96 }
97 return std::weak_ptr<TrigConf::L1ThrExtraInfoBase>( m_emptyInfo );
98}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
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 79 of file L1ThrExtraInfo.cxx.

80{
81 m_thrExtraInfo.clear();
82}

◆ createExtraInfo()

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

Definition at line 14 of file L1ThrExtraInfo.cxx.

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

◆ cTAU()

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

Definition at line 147 of file L1ThrExtraInfo.cxx.

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

◆ cXE()

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

Definition at line 192 of file L1ThrExtraInfo.cxx.

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

◆ eEM()

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

Definition at line 127 of file L1ThrExtraInfo.cxx.

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

◆ EM()

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

Definition at line 107 of file L1ThrExtraInfo.cxx.

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

◆ eTAU()

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

Definition at line 137 of file L1ThrExtraInfo.cxx.

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

◆ gJ()

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

Definition at line 162 of file L1ThrExtraInfo.cxx.

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

◆ gLJ()

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

Definition at line 167 of file L1ThrExtraInfo.cxx.

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

◆ gTE()

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

Definition at line 187 of file L1ThrExtraInfo.cxx.

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

◆ gXE()

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

Definition at line 182 of file L1ThrExtraInfo.cxx.

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

◆ hasInfo()

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

Definition at line 101 of file L1ThrExtraInfo.cxx.

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

◆ jEM()

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

Definition at line 132 of file L1ThrExtraInfo.cxx.

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

◆ JET()

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

Definition at line 122 of file L1ThrExtraInfo.cxx.

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

◆ jJ()

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

Definition at line 152 of file L1ThrExtraInfo.cxx.

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

◆ jLJ()

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

Definition at line 157 of file L1ThrExtraInfo.cxx.

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

◆ jTAU()

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

Definition at line 142 of file L1ThrExtraInfo.cxx.

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

◆ jTE()

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

Definition at line 177 of file L1ThrExtraInfo.cxx.

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

◆ jXE()

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

Definition at line 172 of file L1ThrExtraInfo.cxx.

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

◆ MU()

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

Definition at line 197 of file L1ThrExtraInfo.cxx.

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

◆ TAU()

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

Definition at line 112 of file L1ThrExtraInfo.cxx.

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

◆ thrExtraInfo()

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

Definition at line 202 of file L1ThrExtraInfo.cxx.

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

◆ XS()

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

Definition at line 117 of file L1ThrExtraInfo.cxx.

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

Member Data Documentation

◆ m_emptyInfo

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

Definition at line 72 of file L1ThrExtraInfo.h.

72{ nullptr };

◆ m_thrExtraInfo

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

Definition at line 71 of file L1ThrExtraInfo.h.

71{};

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