CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
egHLT::EgMultiCut< T > Struct Template Reference

#include <EgHLTDQMCut.h>

Inheritance diagram for egHLT::EgMultiCut< T >:
egHLT::EgHLTDQMCut< T >

Public Member Functions

EgHLTDQMCut< T > * clone () const override
 
 EgMultiCut ()=default
 
 EgMultiCut (const EgMultiCut< T > &rhs)
 
EgMultiCut< T > & operator<< (const EgHLTDQMCut< T > *inputCut)
 
bool pass (const T &obj, const OffEvt &evt) const override
 
 ~EgMultiCut () override
 
- Public Member Functions inherited from egHLT::EgHLTDQMCut< T >
 EgHLTDQMCut ()=default
 
virtual ~EgHLTDQMCut ()=default
 

Private Attributes

std::vector< const EgHLTDQMCut< T > * > cuts_
 

Additional Inherited Members

- Protected Member Functions inherited from egHLT::EgHLTDQMCut< T >
 EgHLTDQMCut (const EgHLTDQMCut &rhs)=default
 

Detailed Description

template<class T>
struct egHLT::EgMultiCut< T >

Definition at line 116 of file EgHLTDQMCut.h.

Constructor & Destructor Documentation

◆ EgMultiCut() [1/2]

template<class T>
egHLT::EgMultiCut< T >::EgMultiCut ( )
default

◆ EgMultiCut() [2/2]

template<class T >
egHLT::EgMultiCut< T >::EgMultiCut ( const EgMultiCut< T > &  rhs)

Definition at line 138 of file EgHLTDQMCut.h.

138  {
139  for (size_t cutNr = 0; cutNr < rhs.cuts_.size(); cutNr++) {
140  cuts_.push_back(rhs.cuts_[cutNr]->clone());
141  }
142  }

References egHLT::EgMultiCut< T >::cuts_.

◆ ~EgMultiCut()

template<class T>
egHLT::EgMultiCut< T >::~EgMultiCut ( )
inlineoverride

Definition at line 123 of file EgHLTDQMCut.h.

123  {
124  for (size_t i = 0; i < cuts_.size(); i++)
125  delete cuts_[i];
126  }

References egHLT::EgMultiCut< T >::cuts_, and mps_fire::i.

Member Function Documentation

◆ clone()

template<class T>
EgHLTDQMCut<T>* egHLT::EgMultiCut< T >::clone ( void  ) const
inlineoverridevirtual

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 134 of file EgHLTDQMCut.h.

134 { return new EgMultiCut(*this); }

References egHLT::EgMultiCut< T >::EgMultiCut().

◆ operator<<()

template<class T >
EgMultiCut< T > & egHLT::EgMultiCut< T >::operator<< ( const EgHLTDQMCut< T > *  inputCut)

Definition at line 145 of file EgHLTDQMCut.h.

145  {
146  if (typeid(*inputCut) == typeid(EgMultiCut)) {
147  edm::LogError("EgMultiCut") << " Error can not currently load an EgMultiCut inside a EgMultiCut, the practical "
148  "upshot is that the selection you think is being loaded isnt ";
149  } else if (inputCut == nullptr) {
150  edm::LogError("EgMultiCut") << "Error, cut being loaded is null, ignoring";
151  } else
152  cuts_.push_back(inputCut);
153  return *this;
154  }

◆ pass()

template<class T >
bool egHLT::EgMultiCut< T >::pass ( const T obj,
const OffEvt evt 
) const
overridevirtual

Implements egHLT::EgHLTDQMCut< T >.

Definition at line 157 of file EgHLTDQMCut.h.

157  {
158  for (size_t i = 0; i < cuts_.size(); i++) {
159  if (!cuts_[i]->pass(obj, evt))
160  return false;
161  }
162  return true;
163  }

References mps_fire::i, and getGTfromDQMFile::obj.

Member Data Documentation

◆ cuts_

template<class T>
std::vector<const EgHLTDQMCut<T>*> egHLT::EgMultiCut< T >::cuts_
private
mps_fire.i
i
Definition: mps_fire.py:355
egHLT::EgMultiCut::EgMultiCut
EgMultiCut()=default
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
edm::LogError
Definition: MessageLogger.h:183
egHLT::EgMultiCut::pass
bool pass(const T &obj, const OffEvt &evt) const override
Definition: EgHLTDQMCut.h:157
egHLT::EgMultiCut::cuts_
std::vector< const EgHLTDQMCut< T > * > cuts_
Definition: EgHLTDQMCut.h:118