Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

HepMC_helper::NCutter Class Reference

#include <NCutter.h>

Inheritance diagram for HepMC_helper::NCutter:

Inheritance graph
[legend]
Collaboration diagram for HepMC_helper::NCutter:

Collaboration graph
[legend]
List of all members.

Public Methods

 NCutter ()
 NCutter (const Selectors selectors)
 NCutter (const IMCselector *selector)
 NCutter (const NCutter &src)
 ~NCutter ()
IMCselectorcreate () const
bool operator() (const Particle *const) const
bool operator() (const Particle &p) const

Private Types

typedef std::vector< IMCselector * > Selectors

Private Attributes

Selectors m_selectors

Member Typedef Documentation

typedef std::vector<IMCselector*> HepMC_helper::NCutter::Selectors [private]
 

Definition at line 28 of file NCutter.h.

Referenced by NCutter().


Constructor & Destructor Documentation

HepMC_helper::NCutter::NCutter   [inline]
 

Definition at line 34 of file NCutter.h.

References m_selectors.

Referenced by create().

00034 {m_selectors.push_back( new All() ); }

HepMC_helper::NCutter::NCutter const Selectors    selectors [inline]
 

Definition at line 36 of file NCutter.h.

References m_selectors, and Selectors.

00036                                       {
00037       Selectors::const_iterator i=selectors.begin();
00038       for(; i != selectors.end(); ++i) m_selectors.push_back((*i)->create());
00039     }

HepMC_helper::NCutter::NCutter const IMCselector   selector [inline]
 

Definition at line 41 of file NCutter.h.

References HepMC_helper::IMCselector::create(), and m_selectors.

00041                                         { 
00042       m_selectors.push_back(selector->create() );
00043     }    

HepMC_helper::NCutter::NCutter const NCutter &    src [inline]
 

Definition at line 45 of file NCutter.h.

References m_selectors.

00045                                  :IMCselector(){
00046       Selectors::const_iterator i=(src.m_selectors).begin();
00047       for(;i != (src.m_selectors).end(); ++i){
00048         m_selectors.push_back((*i)->create());
00049       }
00050     }  

HepMC_helper::NCutter::~NCutter   [inline]
 

Definition at line 52 of file NCutter.h.

References m_selectors.

00052                {
00053       Selectors::iterator i=m_selectors.begin();
00054       for(; i != m_selectors.end(); ++i) delete(*i);
00055     }

Member Function Documentation

IMCselector * HepMC_helper::NCutter::create   const [virtual]
 

Implements HepMC_helper::IMCselector.

Definition at line 56 of file HepMC_helper.cxx.

References NCutter().

00056 {return new NCutter(*this);}

bool HepMC_helper::NCutter::operator() const Particle   const const [virtual]
 

Implements HepMC_helper::IMCselector.

Definition at line 46 of file HepMC_helper.cxx.

References m_selectors, and HepMC_helper::Particle.

Referenced by operator()().

00046                                                           {
00047     for (vector<IMCselector*>::const_iterator i = m_selectors.begin();
00048          i != m_selectors.end(); i++) { 
00049       if ( !(*i)->operator()(p) ) return false;
00050     }
00051     return true;
00052   }

bool HepMC_helper::NCutter::operator() const Particle   p const
 

Definition at line 53 of file HepMC_helper.cxx.

References operator()(), and HepMC_helper::Particle.

00053                                                      {
00054     return this->operator()(&p);
00055   } 

Member Data Documentation

Selectors HepMC_helper::NCutter::m_selectors [private]
 

Definition at line 30 of file NCutter.h.

Referenced by NCutter(), operator()(), and ~NCutter().


The documentation for this class was generated from the following files:
Generated on Wed Jan 15 11:00:35 2003 for AtlfastUtils by doxygen1.3-rc1