CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

CLHEP/GenericFunctions/FunctionConvolution.hh
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: FunctionConvolution.hh,v 1.2 2003/09/06 14:04:13 boudreau Exp $
3 //------------------------------FunctionConvolution-------------------------//
4 // //
5 // FunctionConvolution: output of the Convolve[f,g] operation //
6 // //
7 // Petar Maksimovic, Joe Boudreau, November 1999 //
8 // //
9 // Warning! This is not a very good convolution algorithm! Does anybody //
10 // out there really know how to perform a reasonable numerical convolution //
11 // ? Wanna help the Generic Functions Project? //
12 // //
13 //--------------------------------------------------------------------------//
14 
15 #ifndef FunctionConvolution_h
16 #define FunctionConvolution_h 1
18 
19 namespace Genfun {
20 
26 
28 
29  public:
30 
31  // Constructor
32  FunctionConvolution(const AbsFunction *arg1, const AbsFunction *arg2, double x0, double x1);
33 
34  // Copy Constructor
36 
37  // Destructor
38  virtual ~FunctionConvolution();
39 
40  // Retrieve function value
41  virtual double operator ()(double argument) const;
42  virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
43 
44  private:
45 
46  // It is illegal to assign a convolution
47  const FunctionConvolution & operator=(const FunctionConvolution &right);
48 
49  // Input functions to convolution
50  const AbsFunction *_arg1;
51  const AbsFunction *_arg2;
52  double _x0;
53  double _x1;
54 
55  };
56 } // namespace Genfun
57 #endif