27 #define RandGeneral_h 1
29 #include "CLHEP/Random/defs.h"
30 #include "CLHEP/Random/Random.h"
31 #include "CLHEP/Utility/memory.h"
40 class RandGeneral :
public HepRandom {
48 const double* aProbFunc,
52 const double* aProbFunc,
120 std::ostream &
put ( std::ostream & os )
const;
121 std::istream &
get ( std::istream & is );
133 std::vector<double> theIntegralPdf;
136 int InterpolationType;
139 void prepareTable(
const double* aProbFunc);
140 void useFlatDistribution();
141 double mapRandom(
double rand)
const;
147 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
149 using namespace CLHEP;
152 #include "CLHEP/Random/RandGeneral.icc"
double shoot(HepRandomEngine *anEngine)
HepRandomEngine & engine()
void shootArray(HepRandomEngine *anEngine, const int size, double *vect)
RandGeneral(const double *aProbFunc, int theProbSize, int IntType=0)
std::ostream & put(std::ostream &os) const
static std::string distributionName()
void fireArray(const int size, double *vect)
RandGeneral(HepRandomEngine *anEngine, const double *aProbFunc, int theProbSize, int IntType=0)
std::istream & get(std::istream &is)
void shootArray(const int size, double *vect)
RandGeneral(HepRandomEngine &anEngine, const double *aProbFunc, int theProbSize, int IntType=0)