30 #define RandPoisson_h 1
32 #include "CLHEP/Random/defs.h"
33 #include "CLHEP/Random/Random.h"
34 #include "CLHEP/Utility/memory.h"
42 class RandPoisson :
public HepRandom {
46 inline RandPoisson ( HepRandomEngine& anEngine,
double a1=1.0 );
47 inline RandPoisson ( HepRandomEngine* anEngine,
double a1=1.0 );
62 std::ostream &
put ( std::ostream & os )
const;
63 std::istream &
get ( std::istream & is );
67 static long shoot(
double m=1.0 );
69 static void shootArray (
const int size,
long* vect,
double m=1.0 );
74 static long shoot( HepRandomEngine* anEngine,
double m=1.0 );
76 static void shootArray ( HepRandomEngine* anEngine,
77 const int size,
long* vect,
double m=1.0 );
83 long fire(
double m );
85 void fireArray (
const int size,
long* vect );
86 void fireArray (
const int size,
long* vect,
double m);
91 std::string
name()
const;
92 HepRandomEngine &
engine();
111 status_st[0] = sq; status_st[1] = alxm; status_st[2] = g1;
119 double status[3], oldm;
122 static double status_st[3];
123 static double oldm_st;
124 static const double meanMax_st;
130 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
132 using namespace CLHEP;
135 #include "CLHEP/Random/RandPoisson.icc"