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

Sigma.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: 
00003 //--------------------------Sigma-------------------------------------------//
00004 //                                                                          //
00005 // Sigma, result of addition of N functions                                 //
00006 //                                                                          //
00007 //--------------------------------------------------------------------------//
00008 
00009 #ifndef Sigma_h
00010 #define Sigma_h 1
00011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00012 
00013 namespace Genfun {
00014 
00019   class Sigma : public AbsFunction  {
00020 
00021     FUNCTION_OBJECT_DEF(Sigma)
00022   
00023       public:
00024   
00025     // Constructor
00026     Sigma();
00027   
00028     // Copy constructor
00029     Sigma(const Sigma &right);
00030 
00031     // Destructor
00032     virtual ~Sigma();
00033   
00034     // Retreive function value
00035     virtual double operator ()(double argument) const;
00036     virtual double operator ()(const Argument & a) const;
00037 
00038     // Dimensionality 
00039     virtual unsigned int dimensionality() const;
00040 
00041     // Derivative.  
00042     Derivative partial (unsigned int) const;
00043 
00044     // Does this function have an analytic derivative?
00045     virtual bool hasAnalyticDerivative() const {return true;}
00046 
00047     // Add a function to the sum:
00048     void accumulate (const AbsFunction & fcn);
00049 
00050   private:
00051 
00052     // It is illegal to assign a Sigma
00053     const Sigma & operator=(const Sigma &right);
00054 
00055     std::vector<const AbsFunction *> _fcn;
00056 
00057   };
00058 } // namespace Genfun
00059 #endif

Generated on 15 Nov 2012 for CLHEP by  doxygen 1.4.7