25 #ifndef RandBreitWigner_h
26 #define RandBreitWigner_h 1
28 #include "CLHEP/Random/defs.h"
29 #include "CLHEP/Random/RandFlat.h"
30 #include "CLHEP/Utility/memory.h"
38 class RandBreitWigner :
public HepRandom {
60 static double shoot(
double a=1.0,
double b=0.2 );
62 static double shoot(
double a,
double b,
double c );
64 static double shootM2(
double a=1.0,
double b=0.2 );
66 static double shootM2(
double a,
double b,
double c );
74 double a,
double b,
double c );
79 static double shoot( HepRandomEngine* anEngine,
double a=1.0,
81 static double shoot( HepRandomEngine* anEngine,
double a,
83 static double shootM2( HepRandomEngine* anEngine,
double a=1.0,
85 static double shootM2( HepRandomEngine* anEngine,
double a,
87 static void shootArray ( HepRandomEngine* anEngine,
88 const int size,
double* vect );
89 static void shootArray ( HepRandomEngine* anEngine,
90 const int size,
double* vect,
92 static void shootArray ( HepRandomEngine* anEngine,
93 const int size,
double* vect,
94 double a,
double b,
double c );
103 double fire(
double a,
double b );
105 double fire(
double a,
double b,
double c );
109 double fireM2(
double a,
double b );
111 double fireM2(
double a,
double b,
double c );
116 double a,
double b );
119 double a,
double b,
double c );
126 std::ostream &
put ( std::ostream & os )
const;
127 std::istream &
get ( std::istream &
is );
129 std::string
name()
const;
130 HepRandomEngine &
engine();
145 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
147 using namespace CLHEP;
150 #include "CLHEP/Random/RandBreitWigner.icc"