1 #ifndef _RPCChargeGenerator_h_
2 #define _RPCChargeGenerator_h_
6 #include <utl/RandomEngine.h>
7 #include <boost/math/special_functions/gamma.hpp>
14 namespace RPCSimulatorLX {
53 return (boost::math::gamma_p(k,x/theta));
58 return (theta*boost::math::gamma_p_inv(k, y));
unsigned int fNumberOfChargeBins
double GammaDistribution(double x, double k, double theta)
unsigned int fNumberOfChargePDF
double GetCharge(double angle)
std::vector< double > fListMinCharge
double pow(const double x, const unsigned int i)
double LogGamma(const double x)
Wraps the random number engine used to generate distributions.
RPCChargeGenerator(double k0, double theta0, double referenceAngle)
virtual ~RPCChargeGenerator()
std::vector< double > fListMaxCharge
utl::RandomEngine * fRandomEngine
double InverseCumulativeGammaDistribution(double y, double k, double theta)
std::vector< CLHEP::RandGeneral * > fListChargePDF
double CumulativeGammaDistribution(double x, double k, double theta)