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

#include <RepeatedCondition.h>

Inheritance diagram for RepeatedCondition:
Collaboration diagram for RepeatedCondition:

Public Member Functions

 RepeatedCondition (std::unique_ptr< ICondition > cp, std::size_t mult, int clique, int chainPartind=-1, bool invert=false)
virtual ~RepeatedCondition ()
virtual bool multiplicitySatisfied (std::size_t jgMultiplicity, const Collector &) const override
virtual bool isSatisfied (const HypoJetVector &v, const std::unique_ptr< ITrigJetHypoInfoCollector > &c) const override
virtual unsigned int capacity () const override
virtual std::size_t multiplicity () const override
virtual int clique () const override
virtual std::string toString () const override
virtual int label () const override
virtual bool isFromChainPart () const override

Private Attributes

std::unique_ptr< IConditionm_condition
std::size_t m_multiplicity {1}
int m_clique {-1}
int m_chainPartInd {-1}
bool m_invert {false}

Detailed Description

Definition at line 29 of file RepeatedCondition.h.

Constructor & Destructor Documentation

◆ RepeatedCondition()

RepeatedCondition::RepeatedCondition ( std::unique_ptr< ICondition > cp,
std::size_t mult,
int clique,
int chainPartind = -1,
bool invert = false )

Definition at line 11 of file RepeatedCondition.cxx.

15 :
16 m_condition{std::move(cp)}, m_multiplicity{mult},
18 m_chainPartInd{cpInd}, m_invert{invert}{}
virtual int clique() const override
std::unique_ptr< ICondition > m_condition
std::size_t m_multiplicity

◆ ~RepeatedCondition()

RepeatedCondition::~RepeatedCondition ( )
virtual

Definition at line 21 of file RepeatedCondition.cxx.

21{}

Member Function Documentation

◆ capacity()

unsigned int RepeatedCondition::capacity ( ) const
overridevirtual

Implements ICondition.

Definition at line 37 of file RepeatedCondition.cxx.

37 {
38 return m_condition->capacity();
39}

◆ clique()

int RepeatedCondition::clique ( ) const
overridevirtual

Implements IRepeatedCondition.

Definition at line 46 of file RepeatedCondition.cxx.

46 {
47 return m_clique;
48}

◆ isFromChainPart()

bool RepeatedCondition::isFromChainPart ( ) const
overridevirtual

Implements IRepeatedCondition.

Definition at line 73 of file RepeatedCondition.cxx.

73 {
74 return m_chainPartInd >= 0;
75}

◆ isSatisfied()

bool RepeatedCondition::isSatisfied ( const HypoJetVector & v,
const std::unique_ptr< ITrigJetHypoInfoCollector > & c ) const
overridevirtual

Implements ICondition.

Definition at line 30 of file RepeatedCondition.cxx.

31 {
32
33 bool result = m_condition->isSatisfied(v, c);
34 return m_invert ? !result : result;
35}

◆ label()

int RepeatedCondition::label ( ) const
overridevirtual

Implements IRepeatedCondition.

Definition at line 69 of file RepeatedCondition.cxx.

69 {
70 return m_chainPartInd;
71}

◆ multiplicity()

std::size_t RepeatedCondition::multiplicity ( ) const
overridevirtual

Implements IRepeatedCondition.

Definition at line 41 of file RepeatedCondition.cxx.

41 {
42 return m_multiplicity;
43}

◆ multiplicitySatisfied()

bool RepeatedCondition::multiplicitySatisfied ( std::size_t jgMultiplicity,
const Collector &  ) const
overridevirtual

Implements IRepeatedCondition.

Definition at line 24 of file RepeatedCondition.cxx.

25 {
26 return m_multiplicity <= jgMultiplicity;
27}

◆ toString()

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

Implements IRepeatedCondition.

Definition at line 50 of file RepeatedCondition.cxx.

50 {
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}
static Double_t ss

Member Data Documentation

◆ m_chainPartInd

int RepeatedCondition::m_chainPartInd {-1}
private

Definition at line 81 of file RepeatedCondition.h.

81{-1};

◆ m_clique

int RepeatedCondition::m_clique {-1}
private

Definition at line 79 of file RepeatedCondition.h.

79{-1};

◆ m_condition

std::unique_ptr<ICondition> RepeatedCondition::m_condition
private

Definition at line 77 of file RepeatedCondition.h.

◆ m_invert

bool RepeatedCondition::m_invert {false}
private

Definition at line 82 of file RepeatedCondition.h.

82{false};

◆ m_multiplicity

std::size_t RepeatedCondition::m_multiplicity {1}
private

Definition at line 78 of file RepeatedCondition.h.

78{1};

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