00001 #ifndef SimTransport_HectorProducer_H 00002 #define SimTransport_HectorProducer_H 00003 00004 #include "FWCore/Framework/interface/EDProducer.h" 00005 #include "FWCore/Framework/interface/Event.h" 00006 00007 #include "FWCore/Framework/interface/MakerMacros.h" 00008 #include "FWCore/Framework/interface/EventSetup.h" 00009 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00010 00011 #include "DataFormats/Common/interface/EDProduct.h" 00012 00013 class HectorManager; 00014 00015 class Hector; 00016 00017 namespace HepMC { 00018 class GenEvent; 00019 } 00020 class HectorProducer : public edm::EDProducer 00021 { 00022 public: 00023 HectorProducer(edm::ParameterSet const & p); 00024 virtual ~HectorProducer(); 00025 virtual void beginJob(const edm::EventSetup & c); 00026 virtual void endJob(); 00027 void produce(edm::Event & iEvent, const edm::EventSetup & es); 00028 private: 00029 int eventsAnalysed; 00030 HepMC::GenEvent * evt_; 00031 Hector * hector; 00032 00033 std::string m_InTag; 00034 bool m_verbosity; 00035 bool m_FP420Transport; 00036 bool m_ZDCTransport; 00037 }; 00038 00039 #endif 00040