File indexing completed on 2025-01-30 10:03:27
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef TrivariateGaussian_h
0010 #define TrivariateGaussian_h 1
0011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
0012 #include "CLHEP/GenericFunctions/Parameter.hh"
0013
0014 namespace Genfun {
0015
0016
0017
0018
0019
0020 class TrivariateGaussian : public AbsFunction {
0021
0022 FUNCTION_OBJECT_DEF(TrivariateGaussian)
0023
0024 public:
0025
0026
0027 TrivariateGaussian();
0028
0029
0030 TrivariateGaussian(const TrivariateGaussian &right);
0031
0032
0033 virtual ~TrivariateGaussian();
0034
0035
0036 virtual double operator ()(double argument) const override;
0037 virtual double operator ()(const Argument & a) const override;
0038
0039
0040 virtual unsigned int dimensionality() const override;
0041
0042
0043 Parameter & mean0();
0044 const Parameter & mean0() const;
0045 Parameter & mean1();
0046 const Parameter & mean1() const;
0047 Parameter & mean2();
0048 const Parameter & mean2() const;
0049
0050
0051 Parameter & sigma0();
0052 const Parameter & sigma0() const;
0053 Parameter & sigma1();
0054 const Parameter & sigma1() const;
0055 Parameter & sigma2();
0056 const Parameter & sigma2() const;
0057
0058
0059 Parameter & corr01();
0060 const Parameter & corr01() const;
0061 Parameter & corr02();
0062 const Parameter & corr02() const;
0063 Parameter & corr12();
0064 const Parameter & corr12() const;
0065
0066
0067 private:
0068
0069
0070 const TrivariateGaussian & operator=(const TrivariateGaussian &right);
0071
0072
0073 Parameter _mean0;
0074 Parameter _mean1;
0075 Parameter _mean2;
0076
0077
0078 Parameter _sigma0;
0079 Parameter _sigma1;
0080 Parameter _sigma2;
0081
0082
0083 Parameter _corr01;
0084 Parameter _corr02;
0085 Parameter _corr12;
0086
0087 };
0088 }
0089
0090 #endif