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_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 36 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 83 of file L1ThrExtraInfo.cxx.

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

77{
78 m_thrExtraInfo.clear();
79}

◆ 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 no special extra information is supplied for the threshold type return base class
72 return std::make_unique<L1ThrExtraInfoBase>(thrTypeName, data);
73}

◆ cTAU()

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

Definition at line 144 of file L1ThrExtraInfo.cxx.

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

◆ eEM()

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

Definition at line 124 of file L1ThrExtraInfo.cxx.

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

◆ EM()

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

Definition at line 104 of file L1ThrExtraInfo.cxx.

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

◆ eTAU()

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

Definition at line 134 of file L1ThrExtraInfo.cxx.

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

◆ gJ()

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

Definition at line 159 of file L1ThrExtraInfo.cxx.

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

◆ gLJ()

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

Definition at line 164 of file L1ThrExtraInfo.cxx.

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

◆ gTE()

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

Definition at line 184 of file L1ThrExtraInfo.cxx.

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

◆ gXE()

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

Definition at line 179 of file L1ThrExtraInfo.cxx.

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

◆ hasInfo()

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

Definition at line 98 of file L1ThrExtraInfo.cxx.

99{
100 return ( m_thrExtraInfo.find(typeName) != m_thrExtraInfo.end() );
101}

◆ jEM()

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

Definition at line 129 of file L1ThrExtraInfo.cxx.

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

◆ JET()

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

Definition at line 119 of file L1ThrExtraInfo.cxx.

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

◆ jJ()

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

Definition at line 149 of file L1ThrExtraInfo.cxx.

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

◆ jLJ()

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

Definition at line 154 of file L1ThrExtraInfo.cxx.

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

◆ jTAU()

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

Definition at line 139 of file L1ThrExtraInfo.cxx.

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

◆ jTE()

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

Definition at line 174 of file L1ThrExtraInfo.cxx.

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

◆ jXE()

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

Definition at line 169 of file L1ThrExtraInfo.cxx.

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

◆ MU()

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

Definition at line 189 of file L1ThrExtraInfo.cxx.

189 {
190 return dynamic_cast<const TrigConf::L1ThrExtraInfo_MU&>( * m_thrExtraInfo.at("MU") );
191}

◆ TAU()

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

Definition at line 109 of file L1ThrExtraInfo.cxx.

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

◆ thrExtraInfo()

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

Definition at line 194 of file L1ThrExtraInfo.cxx.

195{
196 try {
197 return * m_thrExtraInfo.at(thrTypeName);
198 }
199 catch(std::exception & ex) {
200 std::cerr << "Threshold type " << thrTypeName << " does not have extra info defined" << endl;
201 throw;
202 }
203}

◆ XS()

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

Definition at line 114 of file L1ThrExtraInfo.cxx.

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

Member Data Documentation

◆ m_emptyInfo

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

Definition at line 70 of file L1ThrExtraInfo.h.

70{ nullptr };

◆ m_thrExtraInfo

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

Definition at line 69 of file L1ThrExtraInfo.h.

69{};

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