ATLAS Offline Software
Loading...
Searching...
No Matches
LinkInfo< T > Struct Template Reference

Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGroup) linked together (for convenience) More...

#include <LinkInfo.h>

Collaboration diagram for LinkInfo< T >:

Public Member Functions

 LinkInfo ()=default
 LinkInfo (const Decision *s, const ElementLink< T > &l, ActiveState as=ActiveState::UNSET)
 LinkInfo (const Decision *s, const ElementLink< T > &l, ActiveState as, const DecisionIDContainer &decisionIDs)
 LinkInfo (const TypelessLinkInfo &li, const ElementLink< T > &l)
bool isValid () const
 operator StatusCode ()
 helper conversion to make it usable with CHECK macro expecting StatusCode

Public Attributes

const Decisionsource {nullptr}
 The node in the NavGraph for this feature.
ElementLink< T > link
 Link to the feature.
ActiveState state {ActiveState::UNSET}
 Was the linked feature active for any requested chains.
std::optional< std::unordered_set< DecisionID > > decisions
 All decision IDs active for this feature.

Detailed Description

template<typename T>
struct LinkInfo< T >

Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGroup) linked together (for convenience)

Definition at line 22 of file LinkInfo.h.

Constructor & Destructor Documentation

◆ LinkInfo() [1/4]

template<typename T>
TrigCompositeUtils::LinkInfo< T >::LinkInfo ( )
default

◆ LinkInfo() [2/4]

template<typename T>
TrigCompositeUtils::LinkInfo< T >::LinkInfo ( const Decision * s,
const ElementLink< T > & l,
ActiveState as = ActiveState::UNSET )
inline

Definition at line 24 of file LinkInfo.h.

25 : source{s}, link{l}, state{as} {
26 if (s) decisions.emplace(s->decisions().begin(), s->decisions().end());
27 }
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...
Definition LinkInfo.h:22
ActiveState state
Was the linked feature active for any requested chains.
Definition LinkInfo.h:57
const Decision * source
The node in the NavGraph for this feature.
Definition LinkInfo.h:53
std::optional< std::unordered_set< DecisionID > > decisions
All decision IDs active for this feature.
Definition LinkInfo.h:60
ElementLink< T > link
Link to the feature.
Definition LinkInfo.h:55

◆ LinkInfo() [3/4]

template<typename T>
TrigCompositeUtils::LinkInfo< T >::LinkInfo ( const Decision * s,
const ElementLink< T > & l,
ActiveState as,
const DecisionIDContainer & decisionIDs )
inline

Definition at line 29 of file LinkInfo.h.

30 : source{s}, link{l}, state{as} {
31 decisions.emplace(decisionIDs.begin(), decisionIDs.end());
32 }

◆ LinkInfo() [4/4]

template<typename T>
TrigCompositeUtils::LinkInfo< T >::LinkInfo ( const TypelessLinkInfo< T > & li,
const ElementLink< T > & l )
inline

Definition at line 34 of file LinkInfo.h.

Member Function Documentation

◆ isValid()

template<typename T>
bool TrigCompositeUtils::LinkInfo< T >::isValid ( ) const
inline

Definition at line 37 of file LinkInfo.h.

37 {
38 return source && link.isValid();
39 }

◆ operator StatusCode()

template<typename T>
TrigCompositeUtils::LinkInfo< T >::operator StatusCode ( )
inline

helper conversion to make it usable with CHECK macro expecting StatusCode

Definition at line 43 of file LinkInfo.h.

43 {
45 }
bool isValid() const
Definition LinkInfo.h:37

Member Data Documentation

◆ decisions

template<typename T>
std::optional<std::unordered_set<DecisionID> > TrigCompositeUtils::LinkInfo< T >::decisions

All decision IDs active for this feature.

Only available if filled explicitly via constructor or findLinks called with TrigDefs::fillDecisions.

Definition at line 60 of file LinkInfo.h.

◆ link

template<typename T>
ElementLink<T> TrigCompositeUtils::LinkInfo< T >::link

Link to the feature.

Definition at line 55 of file LinkInfo.h.

◆ source

template<typename T>
const Decision* TrigCompositeUtils::LinkInfo< T >::source {nullptr}

The node in the NavGraph for this feature.

Note that when retrieving features for multi-leg chains the same feature can be attached to multiple nodes and only one of those nodes will be returned here.

Definition at line 53 of file LinkInfo.h.

53{nullptr};

◆ state

template<typename T>
ActiveState TrigCompositeUtils::LinkInfo< T >::state {ActiveState::UNSET}

Was the linked feature active for any requested chains.

Definition at line 57 of file LinkInfo.h.


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