EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtGenBase
EvtMTRandomEngine.hh
Go to the documentation of this file.
1
2
/***********************************************************************
3
* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4
* *
5
* This file is part of EvtGen. *
6
* *
7
* EvtGen is free software: you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation, either version 3 of the License, or *
10
* (at your option) any later version. *
11
* *
12
* EvtGen is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19
***********************************************************************/
20
21
#ifndef EVTMTRANDOMENGINE_HH
22
#define EVTMTRANDOMENGINE_HH
23
24
#include "
EvtGenBase/EvtRandomEngine.hh
"
25
26
#include <random>
27
28
class
EvtMTRandomEngine
:
public
EvtRandomEngine
{
29
public
:
30
EvtMTRandomEngine
(
unsigned
long
int
seed = 1430957218 );
31
32
double
random
()
override
;
33
34
void
setSeed
(
unsigned
long
int
seed )
override
;
35
36
unsigned
long
int
lastSeed
()
const override
{
return
m_lastSeed
; }
37
38
private
:
39
std::mt19937
m_engine
;
40
std::uniform_real_distribution<double>
m_distribution
;
41
unsigned
long
int
m_lastSeed
;
42
};
43
44
#endif
EvtRandomEngine.hh
EvtMTRandomEngine::m_lastSeed
unsigned long int m_lastSeed
Definition
EvtMTRandomEngine.hh:41
EvtMTRandomEngine::EvtMTRandomEngine
EvtMTRandomEngine(unsigned long int seed=1430957218)
Definition
EvtMTRandomEngine.cpp:27
EvtMTRandomEngine::lastSeed
unsigned long int lastSeed() const override
Definition
EvtMTRandomEngine.hh:36
EvtMTRandomEngine::setSeed
void setSeed(unsigned long int seed) override
Definition
EvtMTRandomEngine.cpp:40
EvtMTRandomEngine::m_engine
std::mt19937 m_engine
Definition
EvtMTRandomEngine.hh:39
EvtMTRandomEngine::random
double random() override
Definition
EvtMTRandomEngine.cpp:35
EvtMTRandomEngine::m_distribution
std::uniform_real_distribution< double > m_distribution
Definition
EvtMTRandomEngine.hh:40
EvtRandomEngine
Definition
EvtRandomEngine.hh:28
Generated by
1.16.1