CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Attributes

BaseRawParticleFilter Class Reference

#include <BaseRawParticleFilter.h>

Inheritance diagram for BaseRawParticleFilter:
KineParticleFilter RawParticleTypeFilter RawStableParticleFilter

List of all members.

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.
 BaseRawParticleFilter ()
virtual ~BaseRawParticleFilter ()

Protected Member Functions

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

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.

{;};
virtual BaseRawParticleFilter::~BaseRawParticleFilter ( ) [inline, virtual]

Definition at line 17 of file BaseRawParticleFilter.h.

{;};

Member Function Documentation

bool BaseRawParticleFilter::accept ( const RawParticle p) const

Definition at line 3 of file BaseRawParticleFilter.cc.

Referenced by TrajectoryManager::reconstruct().

{
  return this->accept(&p);
}
bool BaseRawParticleFilter::accept ( const RawParticle p) const

Definition at line 8 of file BaseRawParticleFilter.cc.

References isOKForMe().

{
  //  cout << "test a particle pointer" << endl;
  bool acceptThis = false;

  acceptThis = this->isOKForMe(p) ;
  
  std::vector<BaseRawParticleFilter*>::const_iterator myFilterItr;
  myFilterItr = myFilter.begin();

  while ( acceptThis && 
          ( myFilterItr != myFilter.end() ) ) {
    acceptThis = acceptThis && (*myFilterItr)->accept(p);
    myFilterItr++;
  }
  return acceptThis;
}
void BaseRawParticleFilter::addFilter ( BaseRawParticleFilter f)

Add a BaseRawParticleFilter to be run after executing this one.

Definition at line 26 of file BaseRawParticleFilter.cc.

{
  myFilter.push_back(f);
}
virtual bool BaseRawParticleFilter::isOKForMe ( const RawParticle p) const [protected, pure virtual]

Here the specific filtering is to be done.

Implemented in KineParticleFilter, RawParticleTypeFilter, and RawStableParticleFilter.

Referenced by accept().


Member Data Documentation

Definition at line 34 of file BaseRawParticleFilter.h.