#include <RandBinomialFixedP.h>
|
| | RandBinomialFixedP (HepRandomEngine &anEngine, long n=1, double p=0.5, long Nmaxlookup=10) |
| | RandBinomialFixedP (HepRandomEngine *anEngine, long n=1, double p=0.5, long Nmaxlookup=10) |
| virtual | ~RandBinomialFixedP () |
| void | initLookupTable (long Nmaxlookup, double p) |
| double | fire () |
| double | fire (long n) |
| double | fire (HepRandomEngine *anEngine, long n) |
| void | fireArray (const int size, double *vect) |
| void | fireArray (const int size, double *vect, long n) |
| double | operator() () |
| double | operator() (long n) |
| std::string | name () const |
|
| static std::string | distributionName () |
| static double | shoot ()=delete |
| static double | shoot (long n, double p)=delete |
| static void | shootArray (const int size, double *vect, long n=1, double p=0.5)=delete |
| static double | shoot (HepRandomEngine *anEngine)=delete |
| static double | shoot (HepRandomEngine *anEngine, long n, double p)=delete |
| static void | shootArray (HepRandomEngine *anEngine, const int size, double *vect, long n=1, double p=0.5)=delete |
- Author
Definition at line 18 of file RandBinomialFixedP.h.
◆ RandBinomialFixedP() [1/2]
| CLHEP::RandBinomialFixedP::RandBinomialFixedP |
( |
HepRandomEngine & | anEngine, |
|
|
long | n = 1, |
|
|
double | p = 0.5, |
|
|
long | Nmaxlookup = 10 ) |
|
inline |
◆ RandBinomialFixedP() [2/2]
| CLHEP::RandBinomialFixedP::RandBinomialFixedP |
( |
HepRandomEngine * | anEngine, |
|
|
long | n = 1, |
|
|
double | p = 0.5, |
|
|
long | Nmaxlookup = 10 ) |
|
inline |
◆ ~RandBinomialFixedP()
| CLHEP::RandBinomialFixedP::~RandBinomialFixedP |
( |
| ) |
|
|
virtual |
◆ distributionName()
| std::string CLHEP::RandBinomialFixedP::distributionName |
( |
| ) |
|
|
inlinestatic |
◆ fire() [1/3]
| double CLHEP::RandBinomialFixedP::fire |
( |
| ) |
|
|
inline |
◆ fire() [2/3]
| double CLHEP::RandBinomialFixedP::fire |
( |
HepRandomEngine * | anEngine, |
|
|
long | n ) |
Definition at line 40 of file RandBinomialFixedP.cxx.
40 {
41 if(n==1) {
42 double prop=anEngine->flat();
43 if(prop>defaultP) return 0;
44 return 1;
45 }
46 if(n>(
long)
LookupTable.size())
return genBinomial( anEngine, n, defaultP );
47
49
50 double prop=anEngine->flat();
51 auto itk = std::upper_bound(
table.begin(),
table.end(),prop);
52 return std::distance(
table.begin(),itk);
53}
std::vector< std::vector< double > > LookupTable
◆ fire() [3/3]
| double CLHEP::RandBinomialFixedP::fire |
( |
long | n | ) |
|
◆ fireArray() [1/2]
| void CLHEP::RandBinomialFixedP::fireArray |
( |
const int | size, |
|
|
double * | vect ) |
◆ fireArray() [2/2]
| void CLHEP::RandBinomialFixedP::fireArray |
( |
const int | size, |
|
|
double * | vect, |
|
|
long | n ) |
◆ initLookupTable()
| void CLHEP::RandBinomialFixedP::initLookupTable |
( |
long | Nmaxlookup, |
|
|
double | p ) |
Definition at line 23 of file RandBinomialFixedP.cxx.
23 {
26 for(
unsigned int n=1;
n<=Nmaxlookup;++
n) {
30
31 for(
unsigned int k=0;
k<
n;++
k) {
32
33 double prop=
binom(n,k)*std::pow(p,k)*std::pow(q,n-k);
36 }
37 }
38}
double binom(int n, int k)
◆ name()
| std::string CLHEP::RandBinomialFixedP::name |
( |
| ) |
const |
◆ operator()() [1/2]
| double CLHEP::RandBinomialFixedP::operator() |
( |
| ) |
|
|
inline |
◆ operator()() [2/2]
| double CLHEP::RandBinomialFixedP::operator() |
( |
long | n | ) |
|
|
inline |
◆ shoot() [1/4]
| double CLHEP::RandBinomialFixedP::shoot |
( |
| ) |
|
|
staticdelete |
◆ shoot() [2/4]
| double CLHEP::RandBinomialFixedP::shoot |
( |
HepRandomEngine * | anEngine | ) |
|
|
inlinestaticdelete |
◆ shoot() [3/4]
| double CLHEP::RandBinomialFixedP::shoot |
( |
HepRandomEngine * | anEngine, |
|
|
long | n, |
|
|
double | p ) |
|
staticdelete |
◆ shoot() [4/4]
| double CLHEP::RandBinomialFixedP::shoot |
( |
long | n, |
|
|
double | p ) |
|
staticdelete |
◆ shootArray() [1/2]
| void CLHEP::RandBinomialFixedP::shootArray |
( |
const int | size, |
|
|
double * | vect, |
|
|
long | n = 1, |
|
|
double | p = 0.5 ) |
|
staticdelete |
◆ shootArray() [2/2]
| void CLHEP::RandBinomialFixedP::shootArray |
( |
HepRandomEngine * | anEngine, |
|
|
const int | size, |
|
|
double * | vect, |
|
|
long | n = 1, |
|
|
double | p = 0.5 ) |
|
staticdelete |
◆ LookupTable
| std::vector< std::vector< double > > CLHEP::RandBinomialFixedP::LookupTable |
|
protected |
The documentation for this class was generated from the following files: