File indexing completed on 2025-01-18 09:54:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef RandGaussQ_h
0021 #define RandGaussQ_h 1
0022
0023 #include "CLHEP/Random/defs.h"
0024 #include "CLHEP/Random/RandGauss.h"
0025
0026 namespace CLHEP {
0027
0028
0029
0030
0031
0032 class RandGaussQ : public RandGauss {
0033
0034 public:
0035
0036 inline RandGaussQ ( HepRandomEngine& anEngine, double mean=0.0,
0037 double stdDev=1.0 );
0038 inline RandGaussQ ( HepRandomEngine* anEngine, double mean=0.0,
0039 double stdDev=1.0 );
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050 virtual ~RandGaussQ();
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061 static inline double shoot();
0062
0063 static inline double shoot( double mean, double stdDev );
0064
0065 static void shootArray ( const int size, double* vect,
0066 double mean=0.0, double stdDev=1.0 );
0067
0068
0069
0070
0071 static inline double shoot( HepRandomEngine* anotherEngine );
0072
0073 static inline double shoot( HepRandomEngine* anotherEngine,
0074 double mean, double stdDev );
0075
0076
0077 static void shootArray ( HepRandomEngine* anotherEngine,
0078 const int size,
0079 double* vect, double mean=0.0,
0080 double stdDev=1.0 );
0081
0082
0083
0084
0085 inline double fire();
0086
0087 inline double fire ( double mean, double stdDev );
0088
0089 void fireArray ( const int size, double* vect);
0090 void fireArray ( const int size, double* vect,
0091 double mean, double stdDev );
0092
0093 virtual double operator()();
0094 virtual double operator()( double mean, double stdDev );
0095
0096
0097
0098 std::ostream & put ( std::ostream & os ) const;
0099 std::istream & get ( std::istream & is );
0100
0101 std::string name() const;
0102 HepRandomEngine & engine();
0103
0104 static std::string distributionName() {return "RandGaussQ";}
0105
0106
0107
0108 protected:
0109
0110 static double transformQuick (double r);
0111 static double transformSmall (double r);
0112
0113 private:
0114
0115
0116
0117
0118 };
0119
0120 }
0121
0122 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
0123
0124 using namespace CLHEP;
0125 #endif
0126
0127 #include "CLHEP/Random/RandGaussQ.icc"
0128
0129 #endif