ATLAS Offline Software
Loading...
Searching...
No Matches
Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST > Struct Template Reference

#include <FeatureCollectAthena.h>

Collaboration diagram for Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >:

Public Member Functions

template<class FEATURE>
void operator() ()

Public Attributes

const HLT::TriggerElementm_te {nullptr}
std::vector< Trig::Feature< REQUESTED > > * m_data {nullptr}
const std::string m_label
unsigned int m_condition {0}
std::string m_teName
const HLT::NavigationCorem_navigation {nullptr}
bool * m_result {nullptr}
const HLT::TriggerElement ** m_sourceTE {0}

Detailed Description

template<class REQUESTED, class EDMLIST>
struct Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >

Definition at line 146 of file FeatureCollectAthena.h.

Member Function Documentation

◆ operator()()

template<class REQUESTED, class EDMLIST>
template<class FEATURE>
void Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::operator() ( )
inline

Definition at line 149 of file FeatureCollectAthena.h.

149 {
150
154
157
158 if constexpr( !do_retrieve ) {
159 // no retrieve -> do nothing
160 }
161 else {
162 // do retrieve
165 const bool new_result = m_navigation->getRecentFeatureDataOrElementLink( m_te, link, m_label, *m_sourceTE, sourceLabel );
166
167 if (new_result) {
168 if (m_teName.empty() || m_teName == Trig::getTEName(**m_sourceTE)) {
169 if (link.cptr()) {
170 // Helper to deref link
171 auto get_ptr = [](const auto& link) {
173 return link.cptr();
174 else
175 return *link;
176 };
177
179 (*m_data, get_ptr(link),
181 }
182 }
183 }
185 }
186 }
void insert_and_flatten(std::vector< Trig::Feature< T > > &destination, const STORED *source, const HLT::TriggerElement *te, const std::string &label, unsigned int condition, const HLT::NavigationCore *navigation, const LINK &lnk)

Member Data Documentation

◆ m_condition

template<class REQUESTED, class EDMLIST>
unsigned int Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::m_condition {0}

Definition at line 191 of file FeatureCollectAthena.h.

191{0};

◆ m_data

template<class REQUESTED, class EDMLIST>
std::vector<Trig::Feature<REQUESTED> >* Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::m_data {nullptr}

Definition at line 189 of file FeatureCollectAthena.h.

189{nullptr};

◆ m_label

template<class REQUESTED, class EDMLIST>
const std::string Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::m_label

Definition at line 190 of file FeatureCollectAthena.h.

◆ m_navigation

template<class REQUESTED, class EDMLIST>
const HLT::NavigationCore* Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::m_navigation {nullptr}

Definition at line 193 of file FeatureCollectAthena.h.

193{nullptr};

◆ m_result

template<class REQUESTED, class EDMLIST>
bool* Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::m_result {nullptr}

Definition at line 194 of file FeatureCollectAthena.h.

194{nullptr};

◆ m_sourceTE

template<class REQUESTED, class EDMLIST>
const HLT::TriggerElement** Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::m_sourceTE {0}

Definition at line 195 of file FeatureCollectAthena.h.

195{0};

◆ m_te

template<class REQUESTED, class EDMLIST>
const HLT::TriggerElement* Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::m_te {nullptr}

Definition at line 188 of file FeatureCollectAthena.h.

188{nullptr};

◆ m_teName

template<class REQUESTED, class EDMLIST>
std::string Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::m_teName

Definition at line 192 of file FeatureCollectAthena.h.


The documentation for this struct was generated from the following file: