ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
HLT::TriggerElementFactory Class Reference

The factory of TriggerElements Creation in controlled way. More...

#include <TriggerElementFactory.h>

Collaboration diagram for HLT::TriggerElementFactory:

Public Member Functions

 TriggerElementFactory ()
 
 ~TriggerElementFactory ()
 
TriggerElementproduce (unsigned int id, bool ghost=false, bool nofwd=false)
 
void reset ()
 
bool empty () const
 
const std::vector< TriggerElement * > & listOfProduced () const
 
std::vector< TriggerElement * > & listOfProduced ()
 
const std::vector< TriggerElement * > & listOfProduced (unsigned int id) const
 
std::vector< TriggerElement * > & listOfProduced (unsigned int id)
 

Private Attributes

std::vector< TriggerElement * > m_list
 
std::map< te_id_type, std::vector< TriggerElement * > > m_groupedById
 this is to speed up queries More...
 
std::vector< TriggerElement * > m_notfound
 

Detailed Description

The factory of TriggerElements Creation in controlled way.

Main reason for this class is to allow controlled creation of the TEs (may be optimized to reuse the TEs from event to event)

This can be much smarter to:

Definition at line 28 of file TriggerElementFactory.h.

Constructor & Destructor Documentation

◆ TriggerElementFactory()

HLT::TriggerElementFactory::TriggerElementFactory ( )

Definition at line 9 of file TriggerElementFactory.cxx.

9  {
10  // std::cout << "TriggerElementFactory::TriggerElementFactory() " << std::endl;
11 }

◆ ~TriggerElementFactory()

HLT::TriggerElementFactory::~TriggerElementFactory ( )

Definition at line 13 of file TriggerElementFactory.cxx.

13  {
14 }

Member Function Documentation

◆ empty()

bool HLT::TriggerElementFactory::empty ( ) const

Definition at line 24 of file TriggerElementFactory.cxx.

24  {
25  return m_list.empty();
26 }

◆ listOfProduced() [1/4]

std::vector< TriggerElement* >& HLT::TriggerElementFactory::listOfProduced ( )
inline

Definition at line 37 of file TriggerElementFactory.h.

37 { return m_list; }

◆ listOfProduced() [2/4]

const std::vector< TriggerElement* >& HLT::TriggerElementFactory::listOfProduced ( ) const
inline

Definition at line 36 of file TriggerElementFactory.h.

36 { return m_list; }

◆ listOfProduced() [3/4]

std::vector< TriggerElement* >& HLT::TriggerElementFactory::listOfProduced ( unsigned int  id)
inline

Definition at line 42 of file TriggerElementFactory.h.

42  {
43  auto found = m_groupedById.find(id);
44  return (found!=m_groupedById.end()) ? found->second : m_notfound;
45  }

◆ listOfProduced() [4/4]

const std::vector< TriggerElement* >& HLT::TriggerElementFactory::listOfProduced ( unsigned int  id) const
inline

Definition at line 38 of file TriggerElementFactory.h.

38  {
39  auto found = m_groupedById.find(id);
40  return (found!=m_groupedById.end()) ? found->second : m_notfound;
41  }

◆ produce()

HLT::TriggerElement * HLT::TriggerElementFactory::produce ( unsigned int  id,
bool  ghost = false,
bool  nofwd = false 
)

Definition at line 16 of file TriggerElementFactory.cxx.

16  {
17  HLT::TriggerElement *te = new HLT::TriggerElement(id, ghost, nofwd);
18  m_list.push_back(te);
19  m_groupedById[id].push_back(te);
20  return te;
21 }

◆ reset()

void HLT::TriggerElementFactory::reset ( )

Definition at line 28 of file TriggerElementFactory.cxx.

28  {
30  for ( i = m_list.begin(); i != m_list.end(); ++i ) {
31  delete (*i);
32  }
33  m_list.clear();
34  m_groupedById.clear();
35 }

Member Data Documentation

◆ m_groupedById

std::map<te_id_type, std::vector<TriggerElement*> > HLT::TriggerElementFactory::m_groupedById
private

this is to speed up queries

Definition at line 49 of file TriggerElementFactory.h.

◆ m_list

std::vector< TriggerElement* > HLT::TriggerElementFactory::m_list
private

Definition at line 48 of file TriggerElementFactory.h.

◆ m_notfound

std::vector< TriggerElement* > HLT::TriggerElementFactory::m_notfound
private

Definition at line 50 of file TriggerElementFactory.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
HLT::TriggerElementFactory::m_groupedById
std::map< te_id_type, std::vector< TriggerElement * > > m_groupedById
this is to speed up queries
Definition: TriggerElementFactory.h:49
HLT::TriggerElementFactory::m_notfound
std::vector< TriggerElement * > m_notfound
Definition: TriggerElementFactory.h:50
lumiFormat.i
int i
Definition: lumiFormat.py:92
HLT::TriggerElement
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
Definition: TrigNavStructure/TrigNavStructure/TriggerElement.h:27
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
HLT::TriggerElementFactory::m_list
std::vector< TriggerElement * > m_list
Definition: TriggerElementFactory.h:48