CMS 3D CMS Logo

EgMultiCut< T > Struct Template Reference

#include <DQMOffline/Trigger/interface/EgHLTDQMCut.h>

Inheritance diagram for EgMultiCut< T >:

EgHLTDQMCut< T >

List of all members.

Public Member Functions

EgHLTDQMCut< T > * clone () const
 EgMultiCut (const EgMultiCut< T > &rhs)
 EgMultiCut ()
EgMultiCut< T > & operator<< (const EgHLTDQMCut< T > *inputCut)
bool pass (const T &obj, const EgHLTOffData &evtData) const
 ~EgMultiCut ()

Private Attributes

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


Detailed Description

template<class T>
struct EgMultiCut< T >

Definition at line 87 of file EgHLTDQMCut.h.


Constructor & Destructor Documentation

template<class T>
EgMultiCut< T >::EgMultiCut (  )  [inline]

Definition at line 92 of file EgHLTDQMCut.h.

00092 {}  

template<class T>
EgMultiCut< T >::EgMultiCut ( const EgMultiCut< T > &  rhs  )  [inline]

Definition at line 106 of file EgHLTDQMCut.h.

References EgMultiCut< T >::cuts_.

00107 {
00108   for(size_t cutNr=0;cutNr<rhs.cuts_.size();cutNr++){
00109     cuts_.push_back(rhs.cuts_[cutNr]->clone());
00110   }
00111 }

template<class T>
EgMultiCut< T >::~EgMultiCut (  )  [inline]

Definition at line 94 of file EgHLTDQMCut.h.

References i.

00094 {for(size_t i=0;i<cuts_.size();i++) delete cuts_[i];}


Member Function Documentation

template<class T>
EgHLTDQMCut<T>* EgMultiCut< T >::clone ( void   )  const [inline, virtual]

Implements EgHLTDQMCut< T >.

Definition at line 103 of file EgHLTDQMCut.h.

00103 {return new EgMultiCut(*this);}

template<class T>
EgMultiCut< T > & EgMultiCut< T >::operator<< ( const EgHLTDQMCut< T > *  inputCut  )  [inline]

Definition at line 114 of file EgHLTDQMCut.h.

References EgMultiCut< T >::cuts_, and NULL.

00115 {
00116   if(typeid(*inputCut)==typeid(EgMultiCut)){
00117     edm::LogError("EgMultiCut") <<" Error can not currently load an EgMultiCut inside a EgMultiCut, the practical upshot is that the selection you think is being loaded isnt ";
00118   }else if(inputCut==NULL){
00119     edm::LogError("EgMultiCut") << "Error, cut being loaded is null, ignoring";
00120   }else cuts_.push_back(inputCut);
00121   return *this;
00122 }

template<class T>
bool EgMultiCut< T >::pass ( const T &  obj,
const EgHLTOffData evtData 
) const [inline, virtual]

Implements EgHLTDQMCut< T >.

Definition at line 124 of file EgHLTDQMCut.h.

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

00125 {
00126   for(size_t i=0;i<cuts_.size();i++){
00127     if(!cuts_[i]->pass(obj,evtData)) return false;
00128   }
00129   return true;
00130 
00131 }


Member Data Documentation

template<class T>
std::vector<const EgHLTDQMCut<T>*> EgMultiCut< T >::cuts_ [private]

Definition at line 89 of file EgHLTDQMCut.h.

Referenced by EgMultiCut< T >::EgMultiCut(), EgMultiCut< T >::operator<<(), and EgMultiCut< T >::pass().


The documentation for this struct was generated from the following file:
Generated on Tue Jun 9 18:20:12 2009 for CMSSW by  doxygen 1.5.4