![]() |
![]() |
#include <CompositeLogicalTrajectoryFilter.h>
Public Types | |
enum | logic { OR, AND } |
Public Member Functions | |
CompositeLogicalTrajectoryFilter () | |
CompositeLogicalTrajectoryFilter (const edm::ParameterSet &pset) | |
virtual std::string | name () const |
virtual bool | qualityFilter (const Trajectory &traj) const |
virtual bool | qualityFilter (const TempTrajectory &traj) const |
virtual bool | toBeContinued (TempTrajectory &traj) const |
virtual bool | toBeContinued (Trajectory &traj) const |
~CompositeLogicalTrajectoryFilter () | |
Protected Member Functions | |
template<class T > | |
bool | QF (const T &traj) const |
template<class T > | |
bool | TBC (T &traj) const |
Protected Attributes | |
std::vector< std::pair< logic, const TrajectoryFilter * > > | filters |
Definition at line 11 of file CompositeLogicalTrajectoryFilter.h.
CompositeLogicalTrajectoryFilter::CompositeLogicalTrajectoryFilter | ( | ) | [inline, explicit] |
Definition at line 14 of file CompositeLogicalTrajectoryFilter.h.
References filters.
{filters.clear();}
CompositeLogicalTrajectoryFilter::CompositeLogicalTrajectoryFilter | ( | const edm::ParameterSet & | pset | ) | [inline, explicit] |
Definition at line 16 of file CompositeLogicalTrajectoryFilter.h.
References AND, SurfaceDeformationFactory::create(), filters, reco::get(), edm::ParameterSet::getParameter(), i, prof2calltree::l, python::rootplot::utilities::ls(), and OR.
{ //look for VPSet of filters std::vector<edm::ParameterSet> vpset=pset.getParameter<std::vector<edm::ParameterSet> >("filters"); for (unsigned int i=0;i!= vpset.size();i++) { std::string ls = vpset[i].getParameter<std::string>("logic"); logic l=OR; if (ls == "OR") l=OR; else if (ls == "AND") l=AND; else{ edm::LogError("CompositeLogicalTrajectoryFilter")<<"I don't understand the logic: "<<ls ; } filters.push_back(std::make_pair(l,TrajectoryFilterFactory::get()->create(vpset[i].getParameter<std::string>("ComponentName"), vpset[i]))); } }
CompositeLogicalTrajectoryFilter::~CompositeLogicalTrajectoryFilter | ( | ) | [inline] |
virtual std::string CompositeLogicalTrajectoryFilter::name | ( | void | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 47 of file CompositeLogicalTrajectoryFilter.h.
{return "CompositeLogicalTrajectoryFilter";}
bool CompositeLogicalTrajectoryFilter::QF | ( | const T & | traj | ) | const [inline, protected] |
Definition at line 57 of file CompositeLogicalTrajectoryFilter.h.
References AND, filters, first, i, n, and OR.
{ bool condition=true; unsigned int n=filters.size(); if (n==0) { edm::LogError("CompositeLogicalTrajectoryFilter")<<n<<" filters !." ; return false;} condition=filters[0].second->qualityFilter(traj); unsigned int i=1; for (;i<n;i++){ bool lcondition =filters[i].second->qualityFilter(traj); if (filters[i].first==OR) condition= condition || lcondition; else if (filters[i].first==AND) condition= condition && lcondition; } return condition; }
virtual bool CompositeLogicalTrajectoryFilter::qualityFilter | ( | const Trajectory & | traj | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 41 of file CompositeLogicalTrajectoryFilter.h.
{ return QF<Trajectory>(traj);}
virtual bool CompositeLogicalTrajectoryFilter::qualityFilter | ( | const TempTrajectory & | traj | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 42 of file CompositeLogicalTrajectoryFilter.h.
{ return QF<TempTrajectory>(traj);}
bool CompositeLogicalTrajectoryFilter::TBC | ( | T & | traj | ) | const [inline, protected] |
virtual bool CompositeLogicalTrajectoryFilter::toBeContinued | ( | TempTrajectory & | traj | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 45 of file CompositeLogicalTrajectoryFilter.h.
{ return TBC<TempTrajectory>(traj);}
virtual bool CompositeLogicalTrajectoryFilter::toBeContinued | ( | Trajectory & | traj | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 44 of file CompositeLogicalTrajectoryFilter.h.
{ return TBC<Trajectory>(traj);}
std::vector< std::pair< logic, const TrajectoryFilter *> > CompositeLogicalTrajectoryFilter::filters [protected] |
Definition at line 76 of file CompositeLogicalTrajectoryFilter.h.
Referenced by CompositeLogicalTrajectoryFilter(), QF(), TBC(), and ~CompositeLogicalTrajectoryFilter().