|
Gaudi Framework, version v21r8 |
| Home | Generated: 17 Mar 2010 |
00001 //==================================================================== 00002 // CLHEP Random Engine definition file 00003 //-------------------------------------------------------------------- 00004 // 00005 // Package : HepRndm ( The LHCb Offline System) 00006 // Author : M.Frank 00007 // History : 00008 // +---------+----------------------------------------------+--------- 00009 // | Date | Comment | Who 00010 // +---------+----------------------------------------------+--------- 00011 // | 29/10/99| Initial version | MF 00012 // +---------+----------------------------------------------+--------- 00013 // 00014 //==================================================================== 00015 #ifndef HEPRNDM_HEPRNDMENGINE_H 00016 #define HEPRNDM_HEPRNDMENGINE_H 1 00017 00018 // Framework include files 00019 #include <vector> 00020 #include "HepRndmBaseEngine.h" 00021 00022 namespace HepRndm { 00023 00024 template <class TYPE> 00025 class Engine : public BaseEngine { 00026 protected: 00027 // Seed table 00028 mutable std::vector<long> m_seeds; 00029 // Other parameters 00030 int m_row, m_col, m_lux; 00031 bool m_useTable, m_setSingleton; 00032 public: 00034 Engine(const std::string& name, ISvcLocator* loc); 00036 virtual ~Engine(); 00038 virtual StatusCode initialize(); 00040 virtual StatusCode finalize(); 00042 virtual StatusCode initializeEngine(); 00050 virtual double rndm() const; 00055 StatusCode setSeeds(const std::vector<long>& seed); 00057 StatusCode seeds(std::vector<long>& seed) const; 00058 }; 00059 } 00060 00061 #endif // HEPRNDM_HEPRNDMENGINE_H