00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef BivariateGaussian_h
00010 #define BivariateGaussian_h 1
00011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00012 #include "CLHEP/GenericFunctions/Parameter.hh"
00013
00014 namespace Genfun {
00015
00020 class BivariateGaussian : public AbsFunction {
00021
00022 FUNCTION_OBJECT_DEF(BivariateGaussian)
00023
00024 public:
00025
00026
00027 BivariateGaussian();
00028
00029
00030 BivariateGaussian(const BivariateGaussian &right);
00031
00032
00033 virtual ~BivariateGaussian();
00034
00035
00036 virtual double operator ()(double argument) const;
00037 virtual double operator ()(const Argument & a) const;
00038
00039
00040 virtual unsigned int dimensionality() const;
00041
00042
00043 Parameter & mean0();
00044 const Parameter & mean0() const;
00045 Parameter & mean1();
00046 const Parameter & mean1() const;
00047
00048
00049 Parameter & sigma0();
00050 const Parameter & sigma0() const;
00051 Parameter & sigma1();
00052 const Parameter & sigma1() const;
00053
00054
00055 Parameter & corr01();
00056 const Parameter & corr01() const;
00057
00058
00059 private:
00060
00061
00062 const BivariateGaussian & operator=(const BivariateGaussian &right);
00063
00064
00065 Parameter _mean0;
00066 Parameter _mean1;
00067
00068
00069 Parameter _sigma0;
00070 Parameter _sigma1;
00071
00072
00073 Parameter _corr01;
00074
00075 };
00076 }
00077
00078 #endif