00001 //************************************************************************* 00002 //* * 00003 //* class RejectType GenParticle Selector * 00004 //* * 00005 //* Rejects GenParticles accordimg to particle pdg id * 00006 //*Note: it is charge blind, ie. is rejects particle and anti-particle * 00007 //* * 00008 //************************************************************************* 00009 00010 #ifndef HEPMCHELPER_REJECTTYPE_H 00011 #define HEPMCHELPER_REJECTTYPE_H 00012 00013 #ifndef HEPMCHELPER_IMCSELECTOR_H 00014 #include "AtlfastUtils/HepMC_helper/IMCselector.h" 00015 #endif 00016 00017 #ifndef HEPMCHELPER_SELECTTYPE_H 00018 #include "AtlfastUtils/HepMC_helper/SelectType.h" 00019 #endif 00020 00021 #ifndef STD_VECTOR_H 00022 #include <vector> 00023 #define STD_VECTOR_H 00024 #endif 00025 00026 namespace HepMC_helper{ 00027 class RejectType: public IMCselector{ 00028 public: 00029 RejectType( std::vector<int> ids); 00030 RejectType( int id); 00031 RejectType(const RejectType& src ); 00032 ~RejectType(){ } 00033 00034 00035 IMCselector* create() const; 00036 00037 bool operator() ( const Particle* const p ) const; 00038 bool operator()( const Particle& p ) const; 00039 private: 00040 SelectType m_selectType; 00041 }; 00042 } 00043 #endif 00044 00045 00046 00047