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::TriggerElement * m_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::NavigationCore * m_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 bool new_result{false};
166 if (m_navigation){
167 new_result = m_navigation->getRecentFeatureDataOrElementLink( m_te, link, m_label, *m_sourceTE, sourceLabel );
168 }
169 if (new_result) {
170 if (m_teName.empty() || m_teName == Trig::getTEName(**m_sourceTE)) {
171 if (link.cptr()) {
172 // Helper to deref link
173 auto get_ptr = [](const auto& link) {
175 return link.cptr();
176 else
177 return *link;
178 };
179
181 (*m_data, get_ptr(link),
183 }
184 }
185 }
187 }
188 }
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 193 of file FeatureCollectAthena.h.

193{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 191 of file FeatureCollectAthena.h.

191{nullptr};

◆ m_label

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

Definition at line 192 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 195 of file FeatureCollectAthena.h.

195{nullptr};

◆ m_result

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

Definition at line 196 of file FeatureCollectAthena.h.

196{nullptr};

◆ m_sourceTE

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

Definition at line 197 of file FeatureCollectAthena.h.

197{0};

◆ m_te

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

Definition at line 190 of file FeatureCollectAthena.h.

190{nullptr};

◆ m_teName

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

Definition at line 194 of file FeatureCollectAthena.h.


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