#ifndef Psi2STo2K2PiGamEvtGenConverter_HH #define Psi2STo2K2PiGamEvtGenConverter_HH #include "Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamData.hh" #include "HepMC/GenEvent.h" #include "Utils/PawianCollectionUtils.hh" #include <map> #include <boost/shared_ptr.hpp> using Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData; class Event; class EventList; class HepMCEventList; class Psi2STo2K2PiGamEvtList; class Psi2STo2K2PiGamEvtGenConverter { public: static Psi2STo2K2PiGamEvtGenConverter* instance(); ~Psi2STo2K2PiGamEvtGenConverter(); Event* convertHepMCtoEvent(HepMC::GenEvent*); Psi2STo2K2PiGamEvtData* convertHepMCtoDataEvt(HepMC::GenEvent*); bool fillEventList(boost::shared_ptr<HepMCEventList> hepMCEventListPtr, EventList& evtList); bool fillEventMap(boost::shared_ptr<HepMCEventList> hepMCEventListPtr, std::map<Event*, HepMC::GenEvent*, pawian::Collection::PtrLess>& theEvtMap); bool fillEventMap(boost::shared_ptr<HepMCEventList> hepMCEventListPtr, std::map<Psi2STo2K2PiGamEvtData*, HepMC::GenEvent*, pawian::Collection::PtrLess>& theEvtMap); private: Psi2STo2K2PiGamEvtGenConverter(); static Psi2STo2K2PiGamEvtGenConverter* _instance; Psi2STo2K2PiGamEvtList* _psi2STo2K2PiGamEvtList; }; #endif