ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigSteer
TrigCompositeUtils
TrigCompositeUtils
LinkInfo.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGCOMPOSITEUTILS_LINKINFO_H
6
#define TRIGCOMPOSITEUTILS_LINKINFO_H
7
8
#include "
xAODTrigger/TrigComposite.h
"
9
#include "AthLinks/ElementLink.h"
10
#include "
AsgMessaging/StatusCode.h
"
11
#include "
ActiveState.h
"
12
#include "
TypelessLinkInfo.h
"
13
14
#include <optional>
15
#include <unordered_set>
16
17
namespace
TrigCompositeUtils
{
21
template
<
typename
T>
22
struct
LinkInfo
{
23
LinkInfo
() =
default
;
24
LinkInfo
(
const
Decision
* s,
const
ElementLink<T>
& l,
ActiveState
as =
ActiveState::UNSET
)
25
:
source
{s},
link
{l},
state
{as} {
26
if
(s)
decisions
.emplace(s->decisions().begin(), s->decisions().end());
27
}
28
29
LinkInfo
(
const
Decision
* s,
const
ElementLink<T>
& l,
ActiveState
as,
const
DecisionIDContainer
&
decisionIDs
)
30
:
source
{s},
link
{l},
state
{as} {
31
decisions
.emplace(
decisionIDs
.begin(),
decisionIDs
.end());
32
}
33
34
LinkInfo
(
const
TypelessLinkInfo
& li,
const
ElementLink<T>
& l) :
source
{li.
source
},
link
{l},
state
{li.
state
},
decisions
{li.
decisions
} {
35
}
36
37
bool
isValid
()
const
{
38
return
source
&&
link
.isValid();
39
}
40
43
operator
StatusCode () {
44
return
(
isValid
() ? StatusCode::SUCCESS : StatusCode::FAILURE);
45
}
46
53
const
Decision
*
source
{
nullptr
};
55
ElementLink<T>
link
;
57
ActiveState
state
{
ActiveState::UNSET
};
60
std::optional<std::unordered_set<DecisionID>>
decisions
;
61
};
62
}
//> end namespace TrigCompositeUtils
63
64
#endif
//> !TRIGCOMPOSITEUTILS_LINKINFO_H
ActiveState.h
StatusCode.h
TrigComposite.h
TypelessLinkInfo.h
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
TrigCompositeUtils
Definition
TrigComposite.h:19
TrigCompositeUtils::Decision
xAOD::TrigComposite Decision
Definition
TrigComposite.h:20
TrigCompositeUtils::ActiveState
ActiveState
Additional information returned by the TrigerDecisionTool's feature retrieval, contained within the L...
Definition
ActiveState.h:18
TrigCompositeUtils::UNSET
@ UNSET
Default property of state.
Definition
ActiveState.h:19
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition
TrigComposite_v1.h:28
TrigCompositeUtils::decisionIDs
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
Definition
TrigCompositeUtilsRoot.cxx:65
LinkInfo::LinkInfo
LinkInfo()=default
TrigCompositeUtils::LinkInfo::LinkInfo
LinkInfo(const Decision *s, const ElementLink< T > &l, ActiveState as, const DecisionIDContainer &decisionIDs)
Definition
LinkInfo.h:29
TrigCompositeUtils::LinkInfo::LinkInfo
LinkInfo()=default
TrigCompositeUtils::LinkInfo::LinkInfo
LinkInfo(const Decision *s, const ElementLink< T > &l, ActiveState as=ActiveState::UNSET)
Definition
LinkInfo.h:24
TrigCompositeUtils::LinkInfo::LinkInfo
LinkInfo(const TypelessLinkInfo &li, const ElementLink< T > &l)
Definition
LinkInfo.h:34
TrigCompositeUtils::LinkInfo< TrigRoiDescriptorCollection >::state
ActiveState state
Definition
LinkInfo.h:57
TrigCompositeUtils::LinkInfo::isValid
bool isValid() const
Definition
LinkInfo.h:37
TrigCompositeUtils::LinkInfo< TrigRoiDescriptorCollection >::source
const Decision * source
Definition
LinkInfo.h:53
TrigCompositeUtils::LinkInfo< TrigRoiDescriptorCollection >::decisions
std::optional< std::unordered_set< DecisionID > > decisions
Definition
LinkInfo.h:60
TrigCompositeUtils::LinkInfo< TrigRoiDescriptorCollection >::link
ElementLink< TrigRoiDescriptorCollection > link
Definition
LinkInfo.h:55
TrigCompositeUtils::TypelessLinkInfo
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...
Definition
TypelessLinkInfo.h:19
Generated on
for ATLAS Offline Software by
1.17.0