00001 //************************************************************************* 00002 //* * 00003 //* class SelectType GenParticle Selector ** 00004 //* * 00005 //* Selects particles according to pdg code * 00006 //* Note: it is charge blind, ie. is selects particle and anti-particle * 00007 //* * 00008 //************************************************************************* 00009 00010 #ifndef HEPMCHELPER_SELECTTYPE_H 00011 #define HEPMCHELPER_SELECTTYPE_H 00012 00013 #ifndef HEPMCHELPER_IMCSELbECTOR_H 00014 #include "AtlfastUtils/HepMC_helper/IMCselector.h" 00015 #endif 00016 00017 #ifndef STD_VECTOR_H 00018 #include <vector> 00019 #define STD_VECTOR_H 00020 #endif 00021 00022 namespace HepMC_helper{ 00023 class SelectType: public IMCselector{ 00024 public: 00025 SelectType( std::vector<int> requiredTypes); 00026 SelectType( int requiredType); 00027 SelectType(const SelectType& src ); 00028 ~SelectType(){ } 00029 00030 IMCselector* create() const; 00031 00032 bool operator() ( const Particle* const p ) const; 00033 bool operator()( const Particle& p ) const; 00034 private: 00035 std::vector<int> m_requiredTypes ; 00036 }; 00037 }//namespace 00038 #endif