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

KroneckerDelta.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: KroneckerDelta.hh,v 1.1 2007/01/21 20:54:33 boudreau Exp $
00003 //---------------------Rectangular------------------------------------------//
00004 //                                                                          //
00005 // Class KroneckerDelta by Joe Boudreau                                     //
00006 //                                                                          //
00007 //--------------------------------------------------------------------------//
00008 #ifndef KroneckerDelta_h
00009 #define KroneckerDelta_h 1
00010 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00011 #include "CLHEP/GenericFunctions/Parameter.hh"
00012 namespace Genfun {
00013 
00018   class KroneckerDelta : public AbsFunction  {
00019 
00020     FUNCTION_OBJECT_DEF(KroneckerDelta)
00021 
00022       public:
00023 
00024     // Constructor
00025     KroneckerDelta();
00026 
00027     // Copy constructor
00028     KroneckerDelta(const KroneckerDelta &right);
00029   
00030     // Destructor
00031     virtual ~KroneckerDelta();
00032   
00033     // Retreive function value
00034     virtual double operator ()(double argument) const;
00035     virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
00036   
00037     // Derivative.  
00038     Derivative partial (unsigned int) const;
00039 
00040     // Does this function have an analytic derivative?
00041     virtual bool hasAnalyticDerivative() const {return true;}
00042 
00043   private:
00044 
00045     // It is illegal to assign an adjustable constant
00046     const KroneckerDelta & operator=(const KroneckerDelta &right);
00047 
00048  
00049   };
00050 } // namespace Genfun
00051 #endif

Generated on 15 Nov 2012 for CLHEP by  doxygen 1.4.7