ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
CompoundCondition Class Reference

#include <CompoundCondition.h>

Inheritance diagram for CompoundCondition:
Collaboration diagram for CompoundCondition:

Public Member Functions

 CompoundCondition (std::vector< Condition > &elements)
 
 CompoundCondition (const CompoundCondition &)=delete
 
virtual bool isSatisfied (const HypoJetVector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &) const override
 
virtual unsigned int capacity () const override
 
std::string toString () const override
 

Private Attributes

std::vector< Conditionm_elements
 
unsigned int m_capacity
 

Detailed Description

Definition at line 22 of file CompoundCondition.h.

Constructor & Destructor Documentation

◆ CompoundCondition() [1/2]

CompoundCondition::CompoundCondition ( std::vector< Condition > &  elements)

Definition at line 13 of file CompoundCondition.cxx.

13  {
14 
15  for(auto& el : elements){
16  if(el != nullptr) {
17  m_elements.push_back(std::move(el));
18  }
19  }
20  unsigned int capacity{0};
21 
22  // mis-configuration of elemental Conditions with differing capacities
23  // not caught...
24  if(!m_elements.empty()){
25  capacity = (m_elements.front())->capacity();
26  }
28 }

◆ CompoundCondition() [2/2]

CompoundCondition::CompoundCondition ( const CompoundCondition )
delete

Member Function Documentation

◆ capacity()

virtual unsigned int CompoundCondition::capacity ( ) const
inlineoverridevirtual

Implements ICondition.

Definition at line 31 of file CompoundCondition.h.

31 {return m_capacity;}

◆ isSatisfied()

bool CompoundCondition::isSatisfied ( const HypoJetVector ips,
const std::unique_ptr< ITrigJetHypoInfoCollector > &  collector 
) const
overridevirtual

Implements ICondition.

Definition at line 31 of file CompoundCondition.cxx.

32  {
33 
34  bool pass{true};
35  for(const auto& el : m_elements){
36  pass = pass and (el->isSatisfied(ips, collector));
37  if(!pass){break;}
38  }
39 
40 
41  if(collector){
42  const void* address = static_cast<const void*>(this);
43 
44  std::stringstream ss0;
45  ss0 << "CompoundCondition: (" << address << ") "
46  << " pass: " << std::boolalpha << pass << '\n';
47 
48  std::stringstream ss1;
49  for(const auto& ip : ips){
50  auto j_addr = static_cast<const void*>(ip.get());
51  ss1 << " jet : ("<< j_addr << ")\n";
52  }
53  collector->collect(ss0.str(), ss1.str());
54  }
55  return pass;
56 }

◆ toString()

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

Implements ICondition.

Definition at line 59 of file CompoundCondition.cxx.

59  {
60  std::stringstream ss;
61  ss << "CompoundCondition (" << this << ") Capacity: " << m_capacity << '\n';
62  for(const auto& el :m_elements){
63  ss << el->toString() + '\n';
64  }
65  return ss.str();
66 }

Member Data Documentation

◆ m_capacity

unsigned int CompoundCondition::m_capacity
private

Definition at line 39 of file CompoundCondition.h.

◆ m_elements

std::vector<Condition> CompoundCondition::m_elements
private

Definition at line 37 of file CompoundCondition.h.


The documentation for this class was generated from the following files:
CompoundCondition::m_elements
std::vector< Condition > m_elements
Definition: CompoundCondition.h:37
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
ITrigJetHypoInfoCollector::collect
virtual void collect(const std::string &, const std::string &)=0
CompoundCondition::m_capacity
unsigned int m_capacity
Definition: CompoundCondition.h:39
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
CompoundCondition::capacity
virtual unsigned int capacity() const override
Definition: CompoundCondition.h:31
RTTAlgmain.address
address
Definition: RTTAlgmain.py:55