00001 //***************************************************************************** 00002 // 00003 // Generator/Bhlumi/Bhlumi.h 00004 // 00005 // Algorithm runs small angle Bhabha event generator BHLUMI 00006 // and stores output to transient store 00007 // 00008 // Jan 2006 Original BES3 code by Alexey Zhemchugov 00009 // 00010 //***************************************************************************** 00011 00012 #ifndef GENERATORMODULESEVTDECAY_H 00013 #define GENERATORMODULESEVTDECAY_H 00014 00015 #include "HepMC/GenEvent.h" 00016 #include "HepMC/GenParticle.h" 00017 00018 #include "GaudiKernel/Algorithm.h" 00019 #include "GaudiKernel/ISvcLocator.h" 00020 00021 #include <vector> 00022 00023 class IBesRndmGenSvc; 00024 00025 class Bhlumi:public Algorithm 00026 { 00027 public: 00028 Bhlumi(const std::string& name, ISvcLocator* pSvcLocator); 00029 00030 StatusCode initialize(); 00031 StatusCode execute(); 00032 StatusCode finalize(); 00033 00034 private: 00035 double xpar[100]; 00036 int npar[100]; 00037 00038 IBesRndmGenSvc* p_BesRndmGenSvc; 00039 00040 // angle unit control 00041 int m_angleMode; 00042 // jobOption params 00043 double m_cmEnergy, m_minThetaAngle, m_maxThetaAngle, m_infraredCut; 00044 // Initial Seed 00045 std::vector<int> m_initSeed; 00046 }; 00047 00048 #endif