ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigSteer
TrigCompositeUtils
TrigCompositeUtils
Combinations.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGCOMPOSITEUTILS_COMBINATIONS_H
6
#define TRIGCOMPOSITEUTILS_COMBINATIONS_H
7
8
#include "
TrigCompositeUtils/IPartCombItr.h
"
9
#include "
TrigCompositeUtils/LinkInfo.h
"
10
#include "
xAODBase/IParticleContainer.h
"
11
#include <functional>
12
#include <vector>
13
14
namespace
TrigCompositeUtils
15
{
16
17
class
Combinations
18
{
19
public
:
20
using
VecLInfo_t
=
IPartCombItr::VecLInfo_t
;
21
22
Combinations
(
23
const
std::vector<std::size_t> &legMultiplicities,
24
const
std::vector<VecLInfo_t> &legFeatures,
25
const
IPartCombItr::FilterFunc_t
&filter);
26
27
Combinations
(
28
const
std::vector<std::size_t> &legMultiplicities,
29
const
std::vector<VecLInfo_t> &legFeatures,
30
FilterType
filter =
FilterType::UniqueObjects
);
31
32
Combinations
(
const
IPartCombItr::FilterFunc_t
&filter);
33
34
Combinations
(
FilterType
filter =
FilterType::UniqueObjects
);
35
36
void
reserve
(std::size_t capacity);
37
38
bool
empty
()
const
;
39
40
std::size_t
size
()
const
;
41
42
void
addLeg
(std::size_t multiplicity,
const
VecLInfo_t
&features);
43
void
addLeg
(std::size_t multiplicity,
VecLInfo_t
&& features);
44
void
addLeg
(
const
VecLInfo_t
&features);
45
void
addLeg
(
VecLInfo_t
&& features);
46
47
IPartCombItr
begin
()
const
;
48
IPartCombItr
end
()
const
;
49
50
private
:
51
IPartCombItr::FilterFunc_t
m_filter
;
52
std::vector<std::size_t>
m_legMultiplicities
;
53
std::vector<VecLInfo_t>
m_legFeatures
;
54
};
//> end class Combinations
55
}
// namespace TrigCompositeUtils
56
57
#endif
//> TRIGCOMPOSITEUTILS_COMBINATIONS_H
IPartCombItr.h
LinkInfo.h
TrigCompositeUtils::Combinations::VecLInfo_t
IPartCombItr::VecLInfo_t VecLInfo_t
Definition
Combinations.h:20
TrigCompositeUtils::Combinations::empty
bool empty() const
Definition
Combinations.cxx:45
TrigCompositeUtils::Combinations::end
IPartCombItr end() const
Definition
Combinations.cxx:89
TrigCompositeUtils::Combinations::m_filter
IPartCombItr::FilterFunc_t m_filter
Definition
Combinations.h:51
TrigCompositeUtils::Combinations::reserve
void reserve(std::size_t capacity)
Definition
Combinations.cxx:39
TrigCompositeUtils::Combinations::begin
IPartCombItr begin() const
Definition
Combinations.cxx:77
TrigCompositeUtils::Combinations::addLeg
void addLeg(std::size_t multiplicity, const VecLInfo_t &features)
Definition
Combinations.cxx:55
TrigCompositeUtils::Combinations::m_legFeatures
std::vector< VecLInfo_t > m_legFeatures
Definition
Combinations.h:53
TrigCompositeUtils::Combinations::Combinations
Combinations(const std::vector< std::size_t > &legMultiplicities, const std::vector< VecLInfo_t > &legFeatures, const IPartCombItr::FilterFunc_t &filter)
Definition
Combinations.cxx:12
TrigCompositeUtils::Combinations::size
std::size_t size() const
Definition
Combinations.cxx:50
TrigCompositeUtils::Combinations::m_legMultiplicities
std::vector< std::size_t > m_legMultiplicities
Definition
Combinations.h:52
TrigCompositeUtils::IPartCombItr
Definition
IPartCombItr.h:41
TrigCompositeUtils::IPartCombItr::VecLInfo_t
std::vector< LinkInfo< xAOD::IParticleContainer > > VecLInfo_t
Definition
IPartCombItr.h:43
TrigCompositeUtils::IPartCombItr::FilterFunc_t
std::function< bool(const IPartCombItr::VecLInfo_t &)> FilterFunc_t
Definition
IPartCombItr.h:45
TrigCompositeUtils
Definition
TrigComposite.h:19
TrigCompositeUtils::FilterType
FilterType
Definition
IPartCombItr.h:23
TrigCompositeUtils::FilterType::UniqueObjects
@ UniqueObjects
Do not allow any repeated objects.
Definition
IPartCombItr.h:27
IParticleContainer.h
Generated on
for ATLAS Offline Software by
1.17.0