00001 //************************************************************************* 00002 //* * 00003 //* class Unseen GenParticle Selector * 00004 //* * 00005 //************************************************************************* 00006 00007 #ifndef HEPMCHELPER_UNSEEN_H 00008 #define HEPMCHELPER_UNSEEN_H 00009 00010 #ifndef HEPMCHELPER_IMCSELECTOR_H 00011 #include "AtlfastUtils/HepMC_helper/IMCselector.h" 00012 #endif 00013 00014 #ifndef HEPMCHELPER_SELECTTYPE_H 00015 #include "AtlfastUtils/HepMC_helper/SelectType.h" 00016 #endif 00017 00018 #ifndef CLHEP_UNITS_SYSTEMOFUNITS_H 00019 #include "CLHEP/Units/SystemOfUnits.h" 00020 #define CLHEP_UNITS_SYSTEMOFUNITS_H 00021 #endif 00022 00023 //class Particle; 00024 namespace HepMC_helper{ 00025 class Unseen: public IMCselector { 00026 public: 00027 // Constructors 00028 Unseen( std::vector<int> requiredTypes, 00029 double muonPtMax=6.0*GeV, 00030 double muonEtaMax=2.5); 00031 00032 Unseen(const Unseen& src ); 00033 // Destructor 00034 ~Unseen(){} 00035 IMCselector* create() const; 00036 // The operator() method to determine acceptability of particle 00037 bool operator() ( const Particle* const p )const; 00038 bool operator() ( const Particle& p ) const; 00039 private: 00040 SelectType m_seltype; 00041 double m_muonPtMax ; 00042 double m_muonEtaMax ; 00043 IsFinalState m_ifs; 00044 }; 00045 } 00046 #endif 00047 00048 00049 00050