CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
KroneckerDelta.hh
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id: KroneckerDelta.hh,v 1.1 2007/01/21 20:54:33 boudreau Exp $
3//---------------------Rectangular------------------------------------------//
4// //
5// Class KroneckerDelta by Joe Boudreau //
6// //
7//--------------------------------------------------------------------------//
8#ifndef KroneckerDelta_h
9#define KroneckerDelta_h 1
10#include "CLHEP/GenericFunctions/AbsFunction.hh"
11#include "CLHEP/GenericFunctions/Parameter.hh"
12namespace Genfun {
13
14 /**
15 * @author
16 * @ingroup genfun
17 */
18 class KroneckerDelta : public AbsFunction {
19
21
22 public:
23
24 // Constructor
26
27 // Copy constructor
28 KroneckerDelta(const KroneckerDelta &right);
29
30 // Destructor
31 virtual ~KroneckerDelta();
32
33 // Retreive function value
34 virtual double operator ()(double argument) const override;
35 virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
36
37 // Derivative.
38 Derivative partial (unsigned int) const override;
39
40 // Does this function have an analytic derivative?
41 virtual bool hasAnalyticDerivative() const override {return true;}
42
43 private:
44
45 // It is illegal to assign an adjustable constant
46 const KroneckerDelta & operator=(const KroneckerDelta &right);
47
48
49 };
50} // namespace Genfun
51#endif
#define FUNCTION_OBJECT_DEF(classname)
Definition: AbsFunction.hh:143
virtual double operator()(double argument) const override
virtual bool hasAnalyticDerivative() const override
Derivative partial(unsigned int) const override
Definition: Abs.hh:14