|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef XAODTRIGGER_VERSIONS_TRIGCOMPOSITE_V1_H
8 #define XAODTRIGGER_VERSIONS_TRIGCOMPOSITE_V1_H
20 #include "AthLinks/ElementLink.h"
34 :
public std::runtime_error
71 const std::string&
name()
const;
76 const std::vector<TrigCompositeUtils::DecisionID>&
decisions()
const;
86 template<
typename TYPE >
90 template<
typename TYPE >
94 template<
typename TYPE >
98 template<
typename TYPE>
107 template<
class CONTAINER >
113 template<
class CONTAINER >
117 template<
class OBJECT >
121 template<
class CONTAINER >
125 template<
class CONTAINER >
131 template<
class CONTAINER >
132 std::vector<ElementLink< CONTAINER >>
160 std::vector<sgkey_t>& keyVec,
161 std::vector<uint32_t>& clidVec,
162 std::vector<index_type>& indexVec)
const;
167 template<
class CONTAINER >
172 template<
class CONTAINER >
301 template<
class CONTAINER >
320 #endif // XAODTRIGGER_VERSIONS_TRIGCOMPOSITE_V1_H
const std::vector< sgkey_t > & linkColKeysRemap() const
Raw access to the persistent link labels. Will attempt to access remapped link data.
bool addObjectCollectionLinks(const std::string &collectionName, const std::vector< ElementLink< CONTAINER >> &links)
Add links to multiple objects within a collection. Performs de-duplication.
ExcNotIParticleContainer(const std::string &msg)
bool setDetail(const std::string &name, const TYPE &value)
Set an TYPE detail on the object.
static const std::string s_collectionSuffix
bool typelessGetObjectLink(const std::string &name, sgkey_t &key, uint32_t &clid, index_type &index) const
Fetches a single link without type.
ElementLink< CONTAINER > objectLink(const std::string &name) const
Get the link with the requested name.
Base class for elements of a container that can have aux data.
bool hasObjectLink(const std::string &name, const CLID clid=CLID_NULL) const
Check if a link to an object with a given name and type exists. CLID_NULL to not check type.
const OBJECT * object(const std::string &name) const
Get a bare pointer with the requested name.
static const std::string s_featureString
Constant used to identify a feature.
bool hasDetail(const std::string &name) const
Check if a given type of detail is available.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
void setDecisions(const std::vector< TrigCompositeUtils::DecisionID > &decisions)
Set positive HLT chain decisions associated with this TrigComposite. Navigation use.
static const std::string s_seedString
Constant used to identify a seed (parent)
bool hasObjectCollectionLinks(const std::string &collectionName, const CLID clid=CLID_NULL) const
Check if links exist to a collection of objects with given name and type. CLID_NULL to not check type...
static const std::string s_initialRoIString
Constant used to identify an initial ROI from L1.
std::vector< std::string > & linkColNamesNC()
Raw access to the persistent link names (non-const)
std::vector< ElementLink< CONTAINER > > objectCollectionLinks(const std::string &collectionName) const
Get a vector of all element links from the collection.
const std::vector< uint32_t > & linkColClids() const
Raw access to the persistent link CLIDs.
static const std::string s_hypoAlgNodeNameString
Constant used to identify a navigation graph node as being from a Hypo Alg.
void typelessSetObjectLink(const std::string &name, const sgkey_t key, const uint32_t clid, const index_type beginIndex, const index_type endIndex=0)
Add a link without type.
static const std::string s_summaryPassNodeNameString
Constant used to identify the single terminus graph node the end point of all chains which accept the...
std::vector< std::string > getObjectNames() const
Look up all links stored to objects of (container) type CONTAINER.
bool addObjectCollectionLink(const std::string &collectionName, const ElementLink< CONTAINER > &link)
Add a link to a single object within a collection. Performs de-duplication.
static bool s_throwOnCopyError ATLAS_THREAD_SAFE
For use in validation, when copying element links from one object to another.
bool copyLinkCollectionFrom(const xAOD::TrigComposite_v1 &other, const std::string &name, std::string newName="")
Copy one named link collection from another object.
static const std::string s_comboHypoAlgNodeNameString
Constant used to identify a navigation graph node as being from a Combo Hypo Alg.
bool setObjectLink(const std::string &name, const ElementLink< CONTAINER > &link)
Set the link to an object.
TYPE getDetail(const std::string &name) const
Get a detail by name, missing detail will result on std::runtime_error exception.
static const std::string s_filterNodeNameString
Constant used to identify a navigation graph node as being from a Filter.
bool copyLinkFrom(const xAOD::TrigComposite_v1 &other, const std::string &name, std::string newName="")
Copy one named link from another object.
bool hasObjectLinkExact(const std::string &name, const sgkey_t key, const index_type index, const uint32_t clid) const
TrigComposite_v1 & operator=(const TrigComposite_v1 &rhs)
Assignment operator.
std::vector< std::string > getObjectCollectionNames() const
Look up all links stored to collections objects from (container) type CONTAINER.
bool copyAllLinksFrom(const xAOD::TrigComposite_v1 &other)
Copy all single links and collections of links from another object.
std::vector< sgkey_t > & linkColKeysNC()
Raw access to the persistent link labels (non-const)
const std::vector< index_type > & linkColIndicesRemap() const
Raw access to the persistent link indices. Will attempt to access remapped link data.
void setName(const std::string &name)
Set a human-readable name for the object.
static const std::string s_summaryFilterNodeNameString
Constant used to identify a navigation graph node as being from a final Filter created by the Decisio...
const std::vector< TrigCompositeUtils::DecisionID > & decisions() const
Get positive HLT chain decisions associated with this TrigComposite. Navigation use.
std::vector< index_type > & linkColIndicesNC()
Raw access to the persistent link indices (non-const)
Class used to describe composite objects in the HLT.
uint32_t CLID
The Class ID type.
const std::vector< index_type > & linkColIndices() const
Raw access to the persistent link indices.
static const std::string s_hltSeedingNodeNameString
Constant used to identify a navigation graph node as being from the HLTSeeding.
#define TYPE(CODE, TYP, IOTYP)
static const std::string s_initialRecRoIString
Constant used to identify an initial HLT ROI derived from L1.
void copyLinkInternal(const xAOD::TrigComposite_v1 &other, const size_t index, const std::string &newName)
Helper function, copy one link into this object.
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
bool removeObjectCollectionLinks(const std::string &name)
Delete any stored collection of element links with the given name.
const std::vector< std::string > & linkColNames() const
Raw access to the persistent link names.
const std::string & name() const
Get a human-readable name for the object.
TrigComposite_v1()
Default constructor.
Define the type used for hashed StoreGate key+CLID pairs.
const std::vector< sgkey_t > & linkColKeys() const
Raw access to the persistent link labels.
std::set< DecisionID > DecisionIDContainer
bool isRemapped() const
Information on if linkColKeys() and linkColIndices() are able to access remapped link data Remapping ...
void checkTypes(const CLID storedCLID, const std::string &name) const
Helper function. Contains type logic check for use during actual link retrieval. Throws on error.
static const std::string s_viewString
Constant used to identify a view.
bool removeObjectLink(const std::string &name)
Delete any stored element link with the given name.
static const std::string s_inputMakerNodeNameString
Constant used to identify a navigation graph node as being from a Input Maker.
static const std::string s_summaryPrescaledNodeNameString
Constant used to identify the single prescaled graph node.
bool getDetail(const std::string &name, TYPE &value) const
Get an TYPE detail from the object.
static const std::string s_summaryPassExpressNodeNameString
Constant used to identify the single express-accept graph node.
Define macros for attributes used to control the static checker.
bool derivesFromIParticle(const CLID clid) const
Helper function. Check if the requested type can be down cast to an IParticle transient interface.
bool typelessGetObjectCollectionLinks(const std::string &name, std::vector< sgkey_t > &keyVec, std::vector< uint32_t > &clidVec, std::vector< index_type > &indexVec) const
Fetches a collection of links without type.
Base class for elements of a container that can have aux data.
std::ostream & operator<<(std::ostream &out, const std::pair< FIRST, SECOND > &pair)
Helper print operator.
static const std::string s_roiString
Constant used to identify an (explicitly) updated HLT ROI.
std::vector< uint32_t > & linkColClidsNC()
Raw access to the persistent link CLIDs (non-const)