CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/GeneratorInterface/BeamHaloGenerator/interface/BeamHaloProducer.h

Go to the documentation of this file.
00001 #ifndef BeamHalo_Producer_h
00002 #define BeamHalo_Producer_h
00003 
00004 #include <map>
00005 #include <string>
00006 
00007 #include "HepMC/GenEvent.h"
00008 
00009 #include "CLHEP/Random/RandFlat.h"
00010 
00011 #include "FWCore/Framework/interface/EDProducer.h"
00012 #include "FWCore/Framework/interface/Event.h"
00013 #include "FWCore/Framework/interface/Run.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 
00016 namespace edm
00017 {
00018   class BeamHaloProducer : public EDProducer {
00019   public:
00020 
00022     BeamHaloProducer(const ParameterSet &);
00024     virtual ~BeamHaloProducer();
00025 
00026   private:
00027         bool call_ki_bhg_init(long& seed);
00028         bool call_bh_set_parameters(int* ival, float* fval,const std::string cval_string);
00029         bool call_ki_bhg_fill(int& iret, float& weight);
00030         bool call_ki_bhg_stat(int& iret);
00031 
00032   private:
00033 
00034     virtual void produce(Event & e, const EventSetup & es);
00035     virtual void endRun(Run & r, const EventSetup & es);
00036 
00037     void clear();
00038 
00039     HepMC::GenEvent  *evt;
00040 
00041         int GENMOD_;
00042         int LHC_B1_;
00043         int LHC_B2_;
00044         int IW_MUO_;
00045         int IW_HAD_;
00046         float EG_MIN_;
00047         float EG_MAX_;
00048         std::string G3FNAME_;
00049   };
00050 
00051 }
00052 
00053 #endif