CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/GeneratorInterface/BeamHaloGenerator/interface/BeamHaloSource.h

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