00001 //************************************************************************* 00002 //* * 00003 //* class BFieldCutter GenParticle Selector * 00004 //* * 00005 //* Select GenParticles above pt threshold to reach barrel calorimeter * 00006 //* Threshold is determined by the magnetic field and GenParticle charge * 00007 //* * 00008 //************************************************************************* 00009 #ifndef HEPMCHELPER_BFIELDCUTTER_H 00010 #define HEPMCHELPER_BFIELDCUTTER_H 00011 00012 #ifndef HEPMCHELPER_IMCSELECTOR_H 00013 #include "AtlfastUtils/HepMC_helper/IMCselector.h" 00014 #endif 00015 00016 #ifndef ALTFAST_CHARGESERVICE_H 00017 #include "AtlfastUtils/ChargeService.h" 00018 #endif 00019 00020 namespace HepMC_helper{ 00021 00022 class BFieldCutter: public IMCselector { 00023 public: 00024 00025 BFieldCutter(bool fieldOn):m_chargeService(Atlfast::ChargeService()){ 00026 m_ptCut = (fieldOn)? 0.5:0.0; 00027 } 00028 00029 IMCselector* create() const; 00030 bool operator()( const Particle* const )const; 00031 bool operator()( const Particle& p ) const; 00032 00033 private: 00034 double m_ptCut; 00035 Atlfast::ChargeService m_chargeService; 00036 }; 00037 }//namespace 00038 #endif