CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
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
17#include "CLHEP/GenericFunctions/AbsFunction.hh"
18
19namespace Genfun {
20
21 /**
22 * @author
23 * @ingroup genfun
24 */
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 override;
42 virtual double operator ()(const Argument & argument) const override {return operator() (argument[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
#define FUNCTION_OBJECT_DEF(classname)
Definition: AbsFunction.hh:143
virtual double operator()(double argument) const override
Definition: Abs.hh:14