ATLAS Offline Software
Loading...
Searching...
No Matches
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
11#include <functional>
12#include <vector>
13
14namespace TrigCompositeUtils
15{
16
18 {
19 public:
21
23 const std::vector<std::size_t> &legMultiplicities,
24 const std::vector<VecLInfo_t> &legFeatures,
25 const IPartCombItr::FilterFunc_t &filter);
26
28 const std::vector<std::size_t> &legMultiplicities,
29 const std::vector<VecLInfo_t> &legFeatures,
31
33
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:
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::VecLInfo_t VecLInfo_t
IPartCombItr::FilterFunc_t m_filter
void reserve(std::size_t capacity)
void addLeg(std::size_t multiplicity, const VecLInfo_t &features)
std::vector< VecLInfo_t > m_legFeatures
Combinations(const std::vector< std::size_t > &legMultiplicities, const std::vector< VecLInfo_t > &legFeatures, const IPartCombItr::FilterFunc_t &filter)
std::vector< std::size_t > m_legMultiplicities
std::vector< LinkInfo< xAOD::IParticleContainer > > VecLInfo_t
std::function< bool(const IPartCombItr::VecLInfo_t &)> FilterFunc_t
@ UniqueObjects
Do not allow any repeated objects.