ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST > Struct Template Reference

#include <FeatureCollectAthena.h>

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

Public Member Functions

 get_links ()
 
 get_links (const HLT::TriggerElement *te, std::vector< Trig::Feature< REQUESTED > > *data, const std::string &label, unsigned int condition, const std::string &teName, const HLT::NavigationCore *navigation, bool *result, const HLT::TriggerElement **sourceTE)
 
template<class FEATURE >
void do_it ()
 
template<class FEATURE , bool do_flatten>
void _do_it (false_type dummy=false_type())
 
template<class FEATURE , bool do_flatten>
void _do_it (true_type=true_type())
 

Public Attributes

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

Detailed Description

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

Definition at line 218 of file FeatureCollectAthena.h.

Constructor & Destructor Documentation

◆ get_links() [1/2]

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

Definition at line 219 of file FeatureCollectAthena.h.

219  {
220  //std::cout << "TrigDecisionTool::Feature::get_links: getting links from navi for element in feature list: " << ClassID_traits<FEATURE>::typeName() << std::endl;
221  //std::cout << "TrigDecisionTool::Feature::get_links: type originally requested is: " << ClassID_traits<REQUESTED>::typeName() << std::endl;
222 
223  typedef typename Features2Container<FEATURE,EDMLIST>::type container_type;
225 

◆ get_links() [2/2]

template<class REQUESTED , class EDMLIST >
Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::get_links ( const HLT::TriggerElement te,
std::vector< Trig::Feature< REQUESTED > > *  data,
const std::string &  label,
unsigned int  condition,
const std::string &  teName,
const HLT::NavigationCore navigation,
bool *  result,
const HLT::TriggerElement **  sourceTE 
)
inline

Definition at line 226 of file FeatureCollectAthena.h.

234  {(void)dummy;/* do nothing */;}

Member Function Documentation

◆ _do_it() [1/2]

template<class REQUESTED , class EDMLIST >
template<class FEATURE , bool do_flatten>
void Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::_do_it ( false_type  dummy = false_type())
inline

Definition at line 252 of file FeatureCollectAthena.h.

253 {

◆ _do_it() [2/2]

template<class REQUESTED , class EDMLIST >
template<class FEATURE , bool do_flatten>
void Trig::FeatureAccessImpl::get_links< REQUESTED, EDMLIST >::_do_it ( true_type  = true_type())
inline

Definition at line 255 of file FeatureCollectAthena.h.

255  {
256  //std::cout << "TrigDecisionTool::Feature::get_links: actually we got a feature here" << std::endl;
257  insert_and_flatten<REQUESTED,FEATURE, do_flatten,link_type>::do_it(*m_data,
258  print_features<link_type,std::is_same<FEATURE,container_type>::value>::get_ptr(link),
259  *m_sourceTE, sourceLabel, m_condition, m_navigation,link);
260  }
261  }
262  }
263  *m_result = *m_result && new_result;
264  }
265 
266  const HLT::TriggerElement* m_te;
267  std::vector<Trig::Feature<REQUESTED> >* m_data;
268  const std::string m_label;
269  unsigned int m_condition;
270  std::string m_teName;
272  bool* m_result;
274  };
275 
280  template<class T>
281  void collect(const HLT::TriggerElement* te, std::vector<Trig::Feature<T> >& data, const std::string& label, unsigned int condition,
282  const std::string& teName, const HLT::TrigNavStructure* navstructure) {

◆ do_it()

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

Definition at line 237 of file FeatureCollectAthena.h.

237  {
238 
239  //const HLT::TriggerElement* sourceTE(0);
240  std::string sourceLabel;
241 
242  typedef typename Features2Container<FEATURE,EDMLIST>::type container_type;
243  //typedef typename Features2Object<FEATURE,EDMLIST>::type object_type;
244  typedef typename Features2LinkHelper<FEATURE,container_type>::type link_type;
245 
246  //std::cout << "TrigDecisionTool::Feature::get_links: link_type is: " << typeid(link_type).name() << std::endl;
247 
248 
249 

Member Data Documentation

◆ m_condition

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

Definition at line 287 of file FeatureCollectAthena.h.

◆ m_data

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

Definition at line 285 of file FeatureCollectAthena.h.

◆ m_label

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

Definition at line 286 of file FeatureCollectAthena.h.

◆ m_navigation

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

Definition at line 289 of file FeatureCollectAthena.h.

◆ m_result

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

Definition at line 290 of file FeatureCollectAthena.h.

◆ m_sourceTE

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

Definition at line 291 of file FeatureCollectAthena.h.

◆ m_te

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

Definition at line 284 of file FeatureCollectAthena.h.

◆ m_teName

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

Definition at line 288 of file FeatureCollectAthena.h.


The documentation for this struct was generated from the following file:
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
Trig::Feature
Definition: Feature.h:112
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
navigation2dot.teName
def teName(teid)
Definition: navigation2dot.py:59
athena.value
value
Definition: athena.py:122
LArG4GenerateShowerLib.condition
condition
Definition: LArG4GenerateShowerLib.py:19
HLT::TrigNavStructure
Definition: TrigNavStructure.h:40
HLT::NavigationCore
The NavigationCore class, adds on top of the TrigNavStructure the EDM read-only handling.
Definition: NavigationCore.h:96
HLT::TriggerElement
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
Definition: TrigNavStructure/TrigNavStructure/TriggerElement.h:27
python.xAODType.dummy
dummy
Definition: xAODType.py:4
Features2LinkHelper::type
lnk_helper< CONTAINER, isCont >::type type
Definition: EDM_TypeInfoMethods.h:74
IsoCloseByCorrectionTest.object_type
object_type
Definition: IsoCloseByCorrectionTest.py:56
Trig::FeatureAccessImpl::collect
void collect(const HLT::TriggerElement *te, std::vector< Trig::Feature< T > > &data, const std::string &label, unsigned int condition, const std::string &teName, const HLT::TrigNavStructure *navstructure)
actual feature acceess implementation It has (thanks to the ClassTraits) functionality to flatten con...
Definition: FeatureCollectAthena.h:299
Features2Object::type
master_search< typename EDMLIST::map, HLT::TypeInformation::get_feat, FEATURE >::result::search_result::object type
Definition: EDM_TypeInfoMethods.h:52
Features2Container::type
master_search< typename EDMLIST::map, HLT::TypeInformation::get_feat, FEATURE >::result::search_result::container type
Definition: EDM_TypeInfoMethods.h:45