| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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
25 template <class TYPE>
26 class Engine : public BaseEngine
27 {
28 protected:
29 mutable Gaudi::Property<std::vector<long>> m_seeds{this, "Seeds", {}, "seed table"};
30
31 Gaudi::Property<int> m_col{this, "Column", 0};
32 Gaudi::Property<int> m_row{this, "Row", 1};
33 Gaudi::Property<int> m_lux{this, "Luxury", 3};
34 Gaudi::Property<bool> m_useTable{this, "UseTable", false};
35 Gaudi::Property<bool> m_setSingleton{this, "SetSingleton", false};
36
37 public:
39 using BaseEngine::BaseEngine;
41 ~Engine() override = default;
43 StatusCode initialize() override;
45 StatusCode finalize() override;
47 StatusCode setSeeds( const std::vector<long>& seed ) override;
49 StatusCode seeds( std::vector<long>& seed ) const override;
50
51 private:
53 std::unique_ptr<CLHEP::HepRandomEngine> createEngine() override;
54 };
55 }
56
57 #endif // HEPRNDM_HEPRNDMENGINE_H
HepRndm::Engine::m_useTable
Gaudi::Property< bool > m_useTable
Definition: HepRndmEngine.h:34
Gaudi::Property
Implementation of property with value of concrete type.
Definition: Property.h:314
HepRndm::Engine::~Engine
~Engine() override=default
Standard Destructor.
HepRndm::Engine::m_row
Gaudi::Property< int > m_row
Definition: HepRndmEngine.h:32
HepRndmBaseEngine.h
HepRndm::Engine::m_col
Gaudi::Property< int > m_col
Definition: HepRndmEngine.h:31
HepRndm::Engine
Definition: HepRndmEngine.h:26
HepRndm::Engine::finalize
StatusCode finalize() override
Finalize the Engine.
Definition: HepRndmEngines.cpp:99
HepRndm::Engine::m_lux
Gaudi::Property< int > m_lux
Definition: HepRndmEngine.h:33
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
HepRndm::Engine::m_setSingleton
Gaudi::Property< bool > m_setSingleton
Definition: HepRndmEngine.h:35
HepRndm::BaseEngine::BaseEngine
BaseEngine(const std::string &name, ISvcLocator *loc)
Definition: HepRndmBaseEngine.h:33
HepRndm::Engine::m_seeds
Gaudi::Property< std::vector< long > > m_seeds
Definition: HepRndmEngine.h:29
HepRndm::Engine::seeds
StatusCode seeds(std::vector< long > &seed) const override
Retrieve seeds.
Definition: HepRndmEngines.cpp:120
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:105
HepRndm::BaseEngine
Definition: HepRndmBaseEngine.h:29
HepRndm::Engine::initialize
StatusCode initialize() override
Initialize the Engine.
Definition: HepRndmEngines.cpp:56