8#ifndef TRIGNAVIGATION_HLTNAVIGATION_H
9#define TRIGNAVIGATION_HLTNAVIGATION_H
11#include "GaudiKernel/ClassID.h"
12#include "GaudiKernel/MsgStream.h"
13#include "GaudiKernel/ServiceHandle.h"
14#include "GaudiKernel/IConversionSvc.h"
107 const std::string& name,
108 const IInterface* parent );
127 const std::string&
label=
"" );
132 const std::string&
label=
"" );
147 template<
class T>
bool findOwners(
const T* obj, std::vector<const TriggerElement*>& owners,
unsigned int id = 0);
169 Gaudi::Property<std::vector<std::string>>
m_dlls{
this,
"Dlls", {},
"Libraries to load (with trigger EDM)",
"OrderedSet<T>"};
172 StatusCode
classKey2CLIDKey(
const std::vector<std::string>& property, std::vector<CSPair>& decoded);
DataVector adapter that acts like it holds const pointers.
An STL vector of pointers that by default owns its pointed-to elements.
bool msgLvl(const MSG::Level lvl) const
DataVector adapter that acts like it holds const pointers.
NavigationCore(const AthAlgTool &logger)
constructor with parent AlgTool for printing
MemoryManagement
defines 3 possible origins of the objects which are attached to TEs This should be used like this:
The Navigation class, organizes TriggerElements into the tree structure.
ServiceHandle< IClassIDSvc > m_clidSvc
bool associateExternalCollection(const std::string &label)
StatusCode classKey2CLIDKey(const std::vector< std::string > &property, std::vector< CSPair > &decoded)
bool findOwners(const T *obj, std::vector< const TriggerElement * > &owners, unsigned int id=0)
find all TriggerElements which have this object attached given feature
bool attachFeature(TriggerElement *te, const ConstDataVector< T > *feature, MemoryManagement, std::string &key, const std::string &label="")
Navigation & operator=(const Navigation &)
bool attachFeature(TriggerElement *te, const T *feature, MemoryManagement, std::string &key, const std::string &label="")
attaches feature to given TriggerElement
FullHolderFactory m_fullholderfactory
virtual StatusCode initialize() override
Gaudi::Property< std::vector< std::string > > m_dlls
Navigation(const Navigation &)
const std::string getUniqueKey(const std::string &label="")
Get a unique key (not in the usual series) for a given object.
Navigation(const std::string &type, const std::string &name, const IInterface *parent)
ServiceHandle< IConversionSvc > m_serializerServiceHandle
const std::string getNextKey(const std::string &label="")
Get the next key for a given object.
std::string label(class_id_type clid, const index_or_label_type &sti_or_label) const
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
MsgStream & operator<<(MsgStream &m, const Navigation &nav)