30#define RandPoisson_h 1
32#include "CLHEP/Random/defs.h"
33#include "CLHEP/Random/Random.h"
34#include "CLHEP/Utility/memory.h"
35#include "CLHEP/Utility/thread_local.h"
63 std::ostream &
put ( std::ostream & os )
const;
64 std::istream &
get ( std::istream & is );
68 static long shoot(
double mean=1.0 );
70 static void shootArray (
const int size,
long* vect,
double mean=1.0 );
78 const int size,
long* vect,
double mean=1.0 );
84 long fire(
double mean );
86 void fireArray (
const int size,
long* vect );
87 void fireArray (
const int size,
long* vect,
double mean);
92 std::string
name()
const;
112 status_st[0] = sq; status_st[1] = alxm; status_st[2] = g1;
119 std::shared_ptr<HepRandomEngine> localEngine;
120 double status[3], oldm;
123 static CLHEP_THREAD_LOCAL
double status_st[3];
124 static CLHEP_THREAD_LOCAL
double oldm_st;
125 static const double meanMax_st;
131#ifdef ENABLE_BACKWARDS_COMPATIBILITY
133using namespace CLHEP;
136#include "CLHEP/Random/RandPoisson.icc"
std::ostream & put(std::ostream &os) const
static std::string distributionName()
static void shootArray(const int size, long *vect, double mean=1.0)
HepRandomEngine * getLocalEngine()
static long shoot(double mean=1.0)
static double getOldMean()
static double getMaxMean()
RandPoisson(HepRandomEngine &anEngine, double a1=1.0)
static void setOldMean(double val)
static void setPStatus(double sq, double alxm, double g1)
void fireArray(const int size, long *vect)
static double * getPStatus()
std::istream & get(std::istream &is)
RandPoisson(HepRandomEngine *anEngine, double a1=1.0)
HepRandomEngine & engine()