CLHEP 2.0.4.7 Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

FunctionTimesParameter.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: FunctionTimesParameter.hh,v 1.2 2003/09/06 14:04:13 boudreau Exp $
00003 //--------------------------FunctionTimesParameter--------------------------//
00004 //                                                                          //
00005 // ConstOverFunction, result of multiplying a function and a parameter      //
00006 // Joe Boudreau, Petar Maksimovic, November 1999                            //
00007 //                                                                          //
00008 //--------------------------------------------------------------------------//
00009 
00010 #ifndef FunctionTimesParameter_h
00011 #define FunctionTimesParameter_h 1
00012 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00013 
00014 namespace Genfun {
00015 
00020   class FunctionTimesParameter : public AbsFunction  {
00021 
00022     FUNCTION_OBJECT_DEF(FunctionTimesParameter)
00023   
00024       public:
00025   
00026     // Constructor
00027     FunctionTimesParameter(const AbsParameter *parameter, const AbsFunction *function);
00028   
00029     // Copy constructor
00030     FunctionTimesParameter(const FunctionTimesParameter &right);
00031 
00032     // Destructor
00033     virtual ~FunctionTimesParameter();
00034   
00035     // Retreive function value
00036     virtual double operator ()(double argument) const;
00037     virtual double operator ()(const Argument & a) const;
00038 
00039     // Dimensionality 
00040     virtual unsigned int dimensionality() const;
00041 
00042     // Derivative.  
00043     Derivative partial (unsigned int) const;
00044 
00045     // Does this function have an analytic derivative?
00046     virtual bool hasAnalyticDerivative() const {return true;}
00047 
00048   private:
00049 
00050     // It is illegal to assign a FunctionTimesParameter
00051     const FunctionTimesParameter & operator=(const FunctionTimesParameter &right);
00052 
00053     const AbsFunction  *_function;
00054     AbsParameter       *_parameter;
00055 
00056   };
00057 } // namespace Genfun
00058 #endif

Generated on Thu Jul 1 22:02:30 2010 for CLHEP by  doxygen 1.4.7