CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Attributes
BaseRawParticleFilter Class Referenceabstract

#include <BaseRawParticleFilter.h>

Inheritance diagram for BaseRawParticleFilter:
KineParticleFilter RawParticleTypeFilter RawStableParticleFilter

Public Member Functions

bool accept (const RawParticle &p) const
 
bool accept (const RawParticle *p) const
 
void addFilter (BaseRawParticleFilter *f)
 Add a BaseRawParticleFilter to be run after executing this one. More...
 
 BaseRawParticleFilter ()
 
virtual ~BaseRawParticleFilter ()
 

Protected Member Functions

virtual bool isOKForMe (const RawParticle *p) const =0
 Here the specific filtering is to be done. More...
 

Private Attributes

std::vector
< BaseRawParticleFilter * > 
myFilter
 

Detailed Description

Abstract base class for filtering of RawParticle s. Filters can be chained - with logical AND between them.

Author
Stephan Wynhoff

Definition at line 12 of file BaseRawParticleFilter.h.

Constructor & Destructor Documentation

BaseRawParticleFilter::BaseRawParticleFilter ( )
inline

Definition at line 15 of file BaseRawParticleFilter.h.

15 {;};
virtual BaseRawParticleFilter::~BaseRawParticleFilter ( )
inlinevirtual

Definition at line 17 of file BaseRawParticleFilter.h.

17 {;};

Member Function Documentation

bool BaseRawParticleFilter::accept ( const RawParticle p) const
bool BaseRawParticleFilter::accept ( const RawParticle p) const

Definition at line 8 of file BaseRawParticleFilter.cc.

References isOKForMe().

Referenced by Vispa.Gui.BoxContentDialog.BoxContentDialog::apply(), and Vispa.Plugins.ConfigEditor.ToolDialog.ToolDialog::apply().

9 {
10  // cout << "test a particle pointer" << endl;
11  bool acceptThis = false;
12 
13  acceptThis = this->isOKForMe(p) ;
14 
15  std::vector<BaseRawParticleFilter*>::const_iterator myFilterItr;
16  myFilterItr = myFilter.begin();
17 
18  while ( acceptThis &&
19  ( myFilterItr != myFilter.end() ) ) {
20  acceptThis = acceptThis && (*myFilterItr)->accept(p);
21  myFilterItr++;
22  }
23  return acceptThis;
24 }
virtual bool isOKForMe(const RawParticle *p) const =0
Here the specific filtering is to be done.
void BaseRawParticleFilter::addFilter ( BaseRawParticleFilter f)

Add a BaseRawParticleFilter to be run after executing this one.

Definition at line 26 of file BaseRawParticleFilter.cc.

27 {
28  myFilter.push_back(f);
29 }
virtual bool BaseRawParticleFilter::isOKForMe ( const RawParticle p) const
protectedpure virtual

Here the specific filtering is to be done.

Implemented in RawParticleTypeFilter, KineParticleFilter, and RawStableParticleFilter.

Referenced by accept().

Member Data Documentation

std::vector<BaseRawParticleFilter*> BaseRawParticleFilter::myFilter
private

Definition at line 34 of file BaseRawParticleFilter.h.