00001
00002
00003 #ifndef _ArrayFunction_h_
00004 #define _ArrayFunction_h_
00005
00006
00007
00008
00009
00010
00011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00012 #include <vector>
00013 namespace Genfun {
00014 class ArrayFunction : public AbsFunction {
00015
00016 FUNCTION_OBJECT_DEF(ArrayFunction)
00017
00018 public:
00019
00020
00021 ArrayFunction(const double *begin, const double *end);
00022
00023
00024 virtual ~ArrayFunction();
00025
00026
00027 ArrayFunction(const ArrayFunction &right);
00028
00029
00030 virtual double operator ()(double argument) const;
00031 virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
00032
00033 private:
00034
00035
00036 const ArrayFunction & operator=(const ArrayFunction &right);
00037
00038 std::vector<double> _values;
00039 };
00040 }
00041 #endif