00001 //************************************************************************* 00002 //* * 00003 //* class IsFinalState ** 00004 //* * 00005 //* this predicate returns true if the input has no decay vertex * 00006 //* i.e. the particle belongs to the final state. * 00007 //* * 00008 //************************************************************************* 00009 #ifndef HEPMCHELPER_ISFINALSTATE_H 00010 #define HEPMCHELPER_ISFINALSTATE_H 00011 00012 #ifndef HEPMCHELPER_IMCSELECTOR_H 00013 #include "AtlfastUtils/HepMC_helper/IMCselector.h" 00014 #endif 00015 00016 //#ifndef HEPMCHELPER_STATUSXX_H 00017 //#include "AtlfastUtils/HepMC_helper/IsStatusxx.h" 00018 //#endif 00019 00020 #include "AtlfastEvent/ChargeService.h" 00021 #include "TruthHelper/IsGenStable.h" 00022 00023 namespace HepMC_helper{ 00024 class IsFinalState: public IMCselector { 00025 00026 public: 00027 IsFinalState(); 00028 IMCselector* create() const; 00029 virtual bool operator()( const Particle* const p )const; 00030 virtual bool operator()( const Particle& p ) const; 00031 private: 00032 IsGenStable m_igs; 00033 Atlfast::ChargeService m_chargeService; 00034 }; 00035 } 00036 #endif