| The Gaudi Framework v32r1 (f65d50dc)

HepRndmEngine.h
Go to the documentation of this file.
1 //====================================================================
2 // CLHEP Random Engine definition file
3 //--------------------------------------------------------------------
4 //
5 // Package : HepRndm ( The LHCb Offline System)
6 // Author : M.Frank
7 // History :
8 // +---------+----------------------------------------------+---------
9 // | Date | Comment | Who
10 // +---------+----------------------------------------------+---------
11 // | 29/10/99| Initial version | MF
12 // +---------+----------------------------------------------+---------
13 //
14 //====================================================================
15 #ifndef HEPRNDM_HEPRNDMENGINE_H
16 #define HEPRNDM_HEPRNDMENGINE_H 1
17
18 // Framework include files
19 #include "HepRndmBaseEngine.h"
20 #include <vector>
21
22 namespace HepRndm {
23
24 template <class TYPE>
25 class Engine : public BaseEngine {
26 protected:
27 mutable Gaudi::Property<std::vector<long>> m_seeds{this, "Seeds", {}, "seed table"};
28
29 Gaudi::Property<int> m_col{this, "Column", 0};
30 Gaudi::Property<int> m_row{this, "Row", 1};
31 Gaudi::Property<int> m_lux{this, "Luxury", 3};
32 Gaudi::Property<bool> m_useTable{this, "UseTable", false};
33 Gaudi::Property<bool> m_setSingleton{this, "SetSingleton", false};
34
35 public:
37 using BaseEngine::BaseEngine;
39 StatusCode initialize() override;
41 StatusCode finalize() override;
43 StatusCode setSeeds( const std::vector<long>& seed ) override;
45 StatusCode seeds( std::vector<long>& seed ) const override;
46
47 private:
49 std::unique_ptr<CLHEP::HepRandomEngine> createEngine() override;
50 };
51 } // namespace HepRndm
52
53 #endif // HEPRNDM_HEPRNDMENGINE_H
HepRndm::Engine::m_useTable
Gaudi::Property< bool > m_useTable
Definition: HepRndmEngine.h:32
Gaudi::Property
Implementation of property with value of concrete type.
Definition: Property.h:352
HepRndm::Engine::seeds
StatusCode seeds(std::vector< long > &seed) const override
Retrieve seeds.
Definition: HepRndmEngines.cpp:117
HepRndm::Engine::m_row
Gaudi::Property< int > m_row
Definition: HepRndmEngine.h:30
HepRndmBaseEngine.h
HepRndm::Engine::m_col
Gaudi::Property< int > m_col
Definition: HepRndmEngine.h:29
HepRndm::Engine
Definition: HepRndmEngine.h:25
HepRndm::Engine::finalize
StatusCode finalize() override
Finalize the Engine.
Definition: HepRndmEngines.cpp:96
HepRndm::Engine::m_lux
Gaudi::Property< int > m_lux
Definition: HepRndmEngine.h:31
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
HepRndm::Engine::m_setSingleton
Gaudi::Property< bool > m_setSingleton
Definition: HepRndmEngine.h:33
HepRndm::BaseEngine::BaseEngine
BaseEngine(const std::string &name, ISvcLocator *loc)
Definition: HepRndmBaseEngine.h:34
HepRndm::Engine::m_seeds
Gaudi::Property< std::vector< long > > m_seeds
Definition: HepRndmEngine.h:27
HepRndm::Engine::createEngine
std::unique_ptr< CLHEP::HepRandomEngine > createEngine() override
Create new HepEngine....
HepRndm
Definition: HepRndmBaseEngine.h:27
std::vector< long >
std::unique_ptr< CLHEP::HepRandomEngine >
HepRndm::Engine::setSeeds
StatusCode setSeeds(const std::vector< long > &seed) override
Set seeds.
Definition: HepRndmEngines.cpp:103
HepRndm::BaseEngine
Definition: HepRndmBaseEngine.h:29
HepRndm::Engine::initialize
StatusCode initialize() override
Initialize the Engine.
Definition: HepRndmEngines.cpp:57