Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:05:14

0001 #ifndef SimTransport_HectorProducer_H
0002 #define SimTransport_HectorProducer_H
0003 
0004 #include "FWCore/Framework/interface/Event.h"
0005 #include "FWCore/Framework/interface/one/EDProducer.h"
0006 
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/Framework/interface/MakerMacros.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 #include "FWCore/Utilities/interface/EDGetToken.h"
0011 
0012 #include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h"
0013 
0014 namespace edm {
0015   class ParameterSet;
0016   class Event;
0017   class EventSetup;
0018   class ConsumesCollector;
0019   class HepMCProduct;
0020 }  // namespace edm
0021 
0022 class HectorManager;
0023 
0024 class Hector;
0025 
0026 namespace HepMC {
0027   class GenEvent;
0028 }
0029 class HectorProducer : public edm::one::EDProducer<edm::one::SharedResources> {
0030 public:
0031   explicit HectorProducer(edm::ParameterSet const &p);
0032   ~HectorProducer() override;
0033   void produce(edm::Event &e, const edm::EventSetup &c) override;
0034 
0035 private:
0036   std::unique_ptr<Hector> m_Hector;
0037 
0038   edm::ESGetToken<HepPDT::ParticleDataTable, PDTRecord> tok_pdt_;
0039   edm::EDGetTokenT<edm::HepMCProduct> m_HepMC;
0040   bool m_verbosity;
0041   bool m_FP420Transport;
0042   bool m_ZDCTransport;
0043   int m_evtAnalysed;  //!< just to count events that have been analysed
0044 };
0045 
0046 #endif