CLHEP/GenericFunctions/FunctionConvolution.hh
// -*- C++ -*-
// $Id: FunctionConvolution.hh,v 1.2 2001/05/16 05:10:32 joeb Exp $
//------------------------------FunctionConvolution-------------------------//
// //
// FunctionConvolution: output of the Convolve[f,g] operation //
// //
// Petar Maksimovic, Joe Boudreau, November 1999 //
// //
// Warning! This is not a very good convolution algorithm! Does anybody //
// out there really know how to perform a reasonable numerical convolution //
// ? Wanna help the Generic Functions Project? //
// //
//--------------------------------------------------------------------------//
#ifndef FunctionConvolution_h
#define FunctionConvolution_h 1
#include "CLHEP/GenericFunctions/AbsFunction.hh"
HEP_BEGIN_NAMESPACE(Genfun)
class FunctionConvolution : public AbsFunction {
FUNCTION_OBJECT_DEF(FunctionConvolution)
public:
// Constructor
FunctionConvolution(const AbsFunction *arg1, const AbsFunction *arg2, double x0, double x1);
// Copy Constructor
FunctionConvolution(const FunctionConvolution &right);
// Destructor
virtual ~FunctionConvolution();
// Retrieve function value
virtual double operator ()(double argument) const;
virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
private:
// It is illegal to assign a convolution
const FunctionConvolution & operator=(const FunctionConvolution &right);
// Input functions to convolution
const AbsFunction *_arg1;
const AbsFunction *_arg2;
double _x0;
double _x1;
};
HEP_END_NAMESPACE(Genfun)
#endif
Generated by GNU enscript 1.6.1.