ATLAS Offline Software
Loading...
Searching...
No Matches
RepeatedCondition.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#include <memory>
8#include <string>
9
10
11RepeatedCondition::RepeatedCondition(std::unique_ptr<ICondition> cp,
12 std::size_t mult,
13 int clique,
14 int cpInd,
15 bool invert):
16 m_condition{std::move(cp)}, m_multiplicity{mult},
18 m_chainPartInd{cpInd}, m_invert{invert}{}
19
20
22
23bool
25 const Collector&) const {
26 return m_multiplicity <= jgMultiplicity;
27}
28
29bool
31 const std::unique_ptr<ITrigJetHypoInfoCollector>& c) const {
32
33 bool result = m_condition->isSatisfied(v, c);
34 return m_invert ? !result : result;
35}
36
37unsigned int RepeatedCondition::capacity() const {
38 return m_condition->capacity();
39}
40
42 return m_multiplicity;
43}
44
45
47 return m_clique;
48}
49
50std::string RepeatedCondition::toString() const {
51 std::stringstream ss;
52 const void* address = static_cast<const void*>(this);
53
54 ss << "RepeatedCondition (" << address << ") Multiplicity: "
56 << " clique " << m_clique
57 << " chainPartInd " << m_chainPartInd
58 << " invert " << std::boolalpha << m_invert
59 << '\n';
60 if (m_condition){
61 ss << m_condition->toString();
62 } else {
63 ss << " no internal condition ";
64 }
65
66 return ss.str();
67}
68
70 return m_chainPartInd;
71}
72
74 return m_chainPartInd >= 0;
75}
76
77std::ostream& operator<<(std::ostream& out,
78 const RepeatedCondition& c){
79
80 out << c.toString();
81 return out;
82}
std::unique_ptr< ITrigJetHypoInfoCollector > Collector
Definition FastReducer.h:22
std::vector< pHypoJet > HypoJetVector
Definition HypoJetDefs.h:27
static Double_t ss
std::ostream & operator<<(std::ostream &out, const RepeatedCondition &c)
virtual int label() const override
RepeatedCondition(std::unique_ptr< ICondition > cp, std::size_t mult, int clique, int chainPartind=-1, bool invert=false)
virtual bool isSatisfied(const HypoJetVector &v, const std::unique_ptr< ITrigJetHypoInfoCollector > &c) const override
virtual std::string toString() const override
virtual std::size_t multiplicity() const override
virtual unsigned int capacity() const override
virtual bool isFromChainPart() const override
virtual bool multiplicitySatisfied(std::size_t jgMultiplicity, const Collector &) const override
virtual int clique() const override
std::unique_ptr< ICondition > m_condition
std::size_t m_multiplicity
STL namespace.