GeoModel - GeoModelCore
Sin.h
1 //==========================================================================//
2 // Imported from the QAT library (qat.pitt.edu) by the copyright holder //
3 // Joe Boudreau. Software licensed under the terms and conditions of the //
4 // GNU Lesser Public License v3. //
5 //==========================================================================//
6 //---------------------Sin--------------------------------------------------//
7 // //
8 // Class Sin //
9 // //
10 //--------------------------------------------------------------------------//
11 
12 #ifndef Sin_h
13 #define Sin_h 1
14 
15 #include "GeoGenericFunctions/AbsFunction.h"
16 
17 namespace GeoGenfun {
18 
19  class Sin : public AbsFunction {
20 
21  FUNCTION_OBJECT_DEF(Sin)
22 
23  public:
24 
25  // Constructor
26  Sin();
27 
28  // Destructor
29  virtual ~Sin();
30 
31  // Copy constructor
32  Sin(const Sin &right);
33 
34  // Retreive function value
35  virtual double operator ()(double argument) const override;
36  virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
37 
38  // Derivative.
39  virtual Derivative partial (unsigned int) const override;
40 
41  // Does this function have an analytic derivative?
42  virtual bool hasAnalyticDerivative() const override {return true;}
43 
44 
45  private:
46 
47  // It is illegal to assign a Sin
48  const Sin & operator=(const Sin &right);
49 
50  };
51 } // namespace GeoGenfun
52 
53 #endif
Definition: Abs.h:15