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::AndFilter Class Reference

#include <EventHypothesisTools.h>

Inheritance diagram for pat::eventhypothesis::AndFilter:
pat::eventhypothesis::ParticleFilter

Public Member Functions

 AndFilter ()
 
 AndFilter (ParticleFilter *f1, ParticleFilter *f2)
 
AndFilteroperator&= (ParticleFilter *filter)
 
virtual bool operator() (const CandRefType &cand, const std::string &role) const
 
virtual ~AndFilter ()
 
- 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 AND of some filters. OWNS the pointers to the filters

Definition at line 11 of file EventHypothesisTools.h.

Constructor & Destructor Documentation

pat::eventhypothesis::AndFilter::AndFilter ( )
inline

Definition at line 13 of file EventHypothesisTools.h.

13 : filters_(2) {}
boost::ptr_vector< ParticleFilter > filters_
AndFilter::AndFilter ( ParticleFilter f1,
ParticleFilter f2 
)

Definition at line 5 of file EventHypothesisTools.cc.

References filters_.

5  :
6  filters_(2)
7 {
8  filters_.push_back(f1); filters_.push_back(f2);
9 }
boost::ptr_vector< ParticleFilter > filters_
virtual pat::eventhypothesis::AndFilter::~AndFilter ( )
inlinevirtual

Definition at line 15 of file EventHypothesisTools.h.

15 {}

Member Function Documentation

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

Definition at line 16 of file EventHypothesisTools.h.

References filters_.

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

Implements pat::eventhypothesis::ParticleFilter.

Definition at line 11 of file EventHypothesisTools.cc.

References filters_.

11  {
12  for (boost::ptr_vector<ParticleFilter>::const_iterator it = filters_.begin(); it != filters_.end(); ++it) {
13  if (! (*it)(cand, role) ) return false;
14  }
15  return true;
16 }
boost::ptr_vector< ParticleFilter > filters_

Member Data Documentation

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