CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
pat::eventhypothesis::OrFilter Class Reference

#include <EventHypothesisTools.h>

Inheritance diagram for pat::eventhypothesis::OrFilter:
pat::eventhypothesis::ParticleFilter

Public Member Functions

OrFilteroperator&= (ParticleFilter *filter)
 
virtual bool operator() (const CandRefType &cand, const std::string &role) const
 
 OrFilter ()
 
 OrFilter (ParticleFilter *f1, ParticleFilter *f2)
 
virtual ~OrFilter ()
 
- Public Member Functions inherited from pat::eventhypothesis::ParticleFilter
bool operator() (const std::pair< std::string, CandRefType > &p) const
 
virtual ~ParticleFilter ()
 

Private Attributes

boost::ptr_vector< ParticleFilterfilters_
 

Detailed Description

Does the OR of some filters. OWNS the pointers to the filters

Definition at line 23 of file EventHypothesisTools.h.

Constructor & Destructor Documentation

pat::eventhypothesis::OrFilter::OrFilter ( )
inline

Definition at line 25 of file EventHypothesisTools.h.

25 : filters_(2) {}
boost::ptr_vector< ParticleFilter > filters_
OrFilter::OrFilter ( ParticleFilter f1,
ParticleFilter f2 
)

Definition at line 18 of file EventHypothesisTools.cc.

References filters_.

18  :
19  filters_(2)
20 {
21  filters_.push_back(f1); filters_.push_back(f2);
22 }
boost::ptr_vector< ParticleFilter > filters_
virtual pat::eventhypothesis::OrFilter::~OrFilter ( )
inlinevirtual

Definition at line 27 of file EventHypothesisTools.h.

27 {}

Member Function Documentation

OrFilter& pat::eventhypothesis::OrFilter::operator&= ( ParticleFilter filter)
inline

Definition at line 28 of file EventHypothesisTools.h.

References filters_.

28 { filters_.push_back(filter); return *this; }
boost::ptr_vector< ParticleFilter > filters_
bool OrFilter::operator() ( const CandRefType cand,
const std::string &  role 
) const
virtual

Implements pat::eventhypothesis::ParticleFilter.

Definition at line 24 of file EventHypothesisTools.cc.

References filters_.

24  {
25  for (boost::ptr_vector<ParticleFilter>::const_iterator it = filters_.begin(); it != filters_.end(); ++it) {
26  if ( (*it)(cand, role) ) return true;
27  }
28  return false;
29 }
boost::ptr_vector< ParticleFilter > filters_

Member Data Documentation

boost::ptr_vector<ParticleFilter> pat::eventhypothesis::OrFilter::filters_
private