EpIC 1.1.0
Monte Carlo generator for exclusive processes
Loading...
Searching...
No Matches
RandomNumberModule.h
1/*
2 * RandomNumberModule.h
3 *
4 * Created on: Feb 7, 2021
5 * Author: Pawel Sznajder (NCBJ)
6 */
7
8#ifndef MODULES_RANDOMGENERATOR_RANDOMNUMBERMODULE_H_
9#define MODULES_RANDOMGENERATOR_RANDOMNUMBERMODULE_H_
10
11#include <stddef.h>
12#include <string>
13
14#include "../EpicModuleObject.h"
15
16namespace EPIC {
17
26
27public:
28 static const std::string RANDOM_NUMBER_MODULE_CLASS_NAME;
29
33 RandomNumberModule(const std::string &className);
34
39
44
45 virtual bool runTest() const;
46
50 virtual double diceFlat() = 0;
51
57 double diceFlat(double min, double max);
58
63 virtual double diceNormal() = 0;
64
71 double diceNormal(double mean, double sigma);
72
73protected:
74 virtual void initModule();
75 virtual void isModuleWellConfigured();
76
83};
84
85} /* namespace EPIC */
86
87#endif /* MODULES_RANDOMGENERATOR_RANDOMNUMBERMODULE_H_ */
Testable version of PARTONS::ModuleObject.
Definition: EpicModuleObject.h:26
Definition of module for generation of random numbers.
Definition: RandomNumberModule.h:25
static const std::string RANDOM_NUMBER_MODULE_CLASS_NAME
Class name used in parsing XML.
Definition: RandomNumberModule.h:28
double diceNormal(double mean, double sigma)
virtual double diceFlat()=0
RandomNumberModule(const RandomNumberModule &other)
double diceFlat(double min, double max)
virtual bool runTest() const
RandomNumberModule(const std::string &className)
virtual double diceNormal()=0