00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef FunctionConvolution_h
00016 #define FunctionConvolution_h 1
00017 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00018
00019 namespace Genfun {
00020
00025 class FunctionConvolution : public AbsFunction {
00026
00027 FUNCTION_OBJECT_DEF(FunctionConvolution)
00028
00029 public:
00030
00031
00032 FunctionConvolution(const AbsFunction *arg1, const AbsFunction *arg2, double x0, double x1);
00033
00034
00035 FunctionConvolution(const FunctionConvolution &right);
00036
00037
00038 virtual ~FunctionConvolution();
00039
00040
00041 virtual double operator ()(double argument) const;
00042 virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
00043
00044 private:
00045
00046
00047 const FunctionConvolution & operator=(const FunctionConvolution &right);
00048
00049
00050 const AbsFunction *_arg1;
00051 const AbsFunction *_arg2;
00052 double _x0;
00053 double _x1;
00054
00055 };
00056 }
00057 #endif