28#define NUMBER_OF_SEEDS 1
31#define HEPRNDM_HEPRNDMENGINES_CPP
47#include <CLHEP/Random/DRand48Engine.h>
48#include <CLHEP/Random/DualRand.h>
49#include <CLHEP/Random/Hurd160Engine.h>
50#include <CLHEP/Random/Hurd288Engine.h>
51#include <CLHEP/Random/JamesRandom.h>
52#include <CLHEP/Random/MTwistEngine.h>
53#include <CLHEP/Random/RanecuEngine.h>
54#include <CLHEP/Random/Ranlux64Engine.h>
55#include <CLHEP/Random/RanluxEngine.h>
56#include <CLHEP/Random/RanshiEngine.h>
57#include <CLHEP/Random/TripleRand.h>
72 long theSeed = 1234567;
73 seeds.push_back( theSeed );
81 error() <<
"Generator engine seed table has dimension [215][2], you gave:"
85 info() <<
"Generator engine seeds from table."
95 info() <<
"This is the GEANT4 engine!" <<
endmsg;
104 template <
class TYPE>
111 template <
class TYPE>
115 std::copy( seed.begin(), seed.end(), std::back_inserter(
seeds ) );
116 if ( !
seeds.empty() ) {
117 if (
seeds.back() != 0 ) {
seeds.push_back( 0 ); }
125 template <
class TYPE>
137 seed.push_back(
hepEngine()->getSeed() );
169 return m_useTable ? std::make_unique<RanecuEngine>(
m_row ) : std::make_unique<RanecuEngine>(
m_seeds[0] );
186 : std::make_unique<Ranlux64Engine>(
m_seeds[0],
m_lux );
197 : std::make_unique<HepJamesRandom>(
m_seeds[0] );
HepRndm::Engine< Hurd160Engine > e4
HepRndm::Engine< RanecuEngine > e8
HepRndm::Engine< HepJamesRandom > e6
HepRndm::Engine< RanshiEngine > e11
HepRndm::Engine< RanluxEngine > e10
HepRndm::Engine< TripleRand > e2
HepRndm::Engine< Hurd288Engine > e5
HepRndm::Engine< DRand48Engine > e3
HepRndm::Engine< MTwistEngine > e7
HepRndm::Engine< DualRand > e1
HepRndm::Engine< Ranlux64Engine > e9
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
#define DECLARE_COMPONENT(type)
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
StatusCode finalize() override
CLHEP::HepRandomEngine * hepEngine()
StatusCode finalize() override
Finalize the Engine.
Gaudi::Property< std::vector< long > > m_seeds
Gaudi::Property< int > m_lux
StatusCode initialize() override
Initialize the Engine.
Gaudi::Property< int > m_row
Gaudi::Property< bool > m_setSingleton
Gaudi::Property< int > m_col
StatusCode setSeeds(const std::vector< long > &seed) override
Set seeds.
std::unique_ptr< CLHEP::HepRandomEngine > createEngine() override
Create new HepEngine....
StatusCode seeds(std::vector< long > &seed) const override
Retrieve seeds.
Gaudi::Property< bool > m_useTable
StatusCode initialize() override
This class is used for returning status codes from appropriate routines.
constexpr static const auto SUCCESS
constexpr static const auto FAILURE
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.