ATLAS Offline Software
Loading...
Searching...
No Matches
ConditionFilter Class Reference

#include <ConditionFilter.h>

Inheritance diagram for ConditionFilter:
Collaboration diagram for ConditionFilter:

Public Member Functions

 ConditionFilter ()
 ConditionFilter (ConditionPtrs &&)
virtual HypoJetVector filter (const HypoJetVector &jv, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override
virtual std::string toString () const override

Private Attributes

ConditionPtrs m_conditions

Detailed Description

Definition at line 12 of file ConditionFilter.h.

Constructor & Destructor Documentation

◆ ConditionFilter() [1/2]

ConditionFilter::ConditionFilter ( )
inline

Definition at line 15 of file ConditionFilter.h.

15{};

◆ ConditionFilter() [2/2]

ConditionFilter::ConditionFilter ( ConditionPtrs && conditions)

Definition at line 9 of file ConditionFilter.cxx.

9 :
10 m_conditions(std::move(conditions)) {
11}
ConditionPtrs m_conditions

Member Function Documentation

◆ filter()

HypoJetVector ConditionFilter::filter ( const HypoJetVector & jv,
const std::unique_ptr< ITrigJetHypoInfoCollector > & collector ) const
overridevirtual

Implements IHypoJetVectorFilter.

Definition at line 31 of file ConditionFilter.cxx.

32 {
33
34
35 if (m_conditions.empty()) {
36 return jv;
37 }
38
39 auto filtered = HypoJetVector(jv.cbegin(), jv.cend());
40 auto filtered_begin = filtered.begin();
41 auto filtered_end = filtered.end();
42
43 for (const auto& cptr : m_conditions) {
44 filtered_end = std::partition(filtered_begin,
45 filtered_end,
46 FilterPred(cptr, collector));
47 }
48
49 filtered.resize(filtered_end - filtered_begin);
50
51 return filtered;
52}
std::vector< pHypoJet > HypoJetVector
Definition HypoJetDefs.h:27
DataModel_detail::iterator< DVL > partition(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end, Predicate pred)
Specialization of partition for DataVector/List.

◆ toString()

std::string ConditionFilter::toString ( ) const
overridevirtual

Implements IHypoJetVectorFilter.

Definition at line 54 of file ConditionFilter.cxx.

54 {
55 std::stringstream ss;
56 const void* address = static_cast<const void*>(this);
57 ss << "ConditionFilter: (" << address << ")\n"
58 << "Conditions [" << m_conditions.size() << "]:\n";
59 for (const auto& c : m_conditions) {
60 if (c) {
61 ss << " " << c->toString() << "\n\n";
62 }
63 }
64
65 return ss.str();
66}
static Double_t ss

Member Data Documentation

◆ m_conditions

ConditionPtrs ConditionFilter::m_conditions
private

Definition at line 28 of file ConditionFilter.h.


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