CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/GeneratorInterface/ExhumeInterface/interface/ExhumeHadronizer.h

Go to the documentation of this file.
00001 #ifndef gen_ExhumeHadronizer_h
00002 #define gen_ExhumeHadronizer_h
00003 
00004 #include <memory>
00005 
00006 #include <boost/shared_ptr.hpp>
00007 
00008 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
00009 
00010 #include "GeneratorInterface/Core/interface/BaseHadronizer.h"
00011 
00012 namespace lhef
00013 {
00014   class LHERunInfo;
00015   class LHEEvent;
00016 }
00017 
00018 class LHEEventProduct;
00019 
00020 namespace HepMC
00021 {
00022   class GenEvent;
00023 }
00024 
00025 namespace Exhume{
00026   class Event;
00027   class CrossSection;
00028 }
00029 
00030 namespace CLHEP
00031 {
00032   class HepRandomEngine;
00033 }
00034 
00035 namespace gen
00036 {
00037   //class Pythia6Hadronizer;
00038   class Pythia6Service;
00039 
00040   class ExhumeHadronizer : public BaseHadronizer
00041   {
00042   
00043   public:
00044      ExhumeHadronizer(edm::ParameterSet const& ps);
00045      ~ExhumeHadronizer();
00046 
00047      // bool generatePartons();
00048      bool generatePartonsAndHadronize();
00049      bool hadronize();
00050      bool decay();
00051      bool residualDecay();
00052      bool initializeForExternalPartons();
00053      bool initializeForInternalPartons();
00054      bool declareStableParticles( const std::vector<int> );
00055      bool declareSpecialSettings( const std::vector<std::string> );
00056      
00057      void finalizeEvent();
00058 
00059      void statistics();
00060 
00061      const char* classname() const;
00062      
00063   private:
00064      Pythia6Service* pythia6Service_;
00065 
00066      CLHEP::HepRandomEngine* randomEngine_;
00067 
00068      double comEnergy_;
00069                     
00070      //edm::ParameterSet processPSet_;
00071      //edm::ParameterSet paramsPSet_;
00072      edm::ParameterSet myPSet_;
00073     
00074      bool            hepMCVerbosity_;
00075      unsigned int    maxEventsToPrint_;
00076      unsigned int    pythiaListVerbosity_;
00077      
00078      bool convertToPDG_;
00079 
00080      //Pythia6Hadronizer* pythia6Hadronizer_;
00081      Exhume::Event* exhumeEvent_;       
00082      Exhume::CrossSection* exhumeProcess_;
00083   };
00084 }
00085 
00086 #endif