GeoModel - GeoModelCore
Tan.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 //---------------------Tan--------------------------------------------------//
7 // //
8 // Class Tan //
9 // //
10 //--------------------------------------------------------------------------//
11 #ifndef Tan_h
12 #define Tan_h 1
13 #include "GeoGenericFunctions/AbsFunction.h"
14 namespace GeoGenfun {
15 
16  class Tan : public AbsFunction {
17 
18  FUNCTION_OBJECT_DEF(Tan)
19 
20  public:
21 
22  // Constructor
23  Tan();
24 
25  // Destructor
26  virtual ~Tan();
27 
28  // Copy constructor
29  Tan(const Tan &right);
30 
31  // Retreive function value
32  virtual double operator ()(double argument) const override;
33  virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
34 
35  // Derivative.
36  virtual Derivative partial (unsigned int) const override;
37 
38  // Does this function have an analytic derivative?
39  virtual bool hasAnalyticDerivative() const override {return true;}
40 
41 
42  private:
43 
44  // It is illegal to assign a Tan
45  const Tan & operator=(const Tan &right);
46 
47  };
48 } // namespace GeoGenfun
49 
50 #endif
Definition: Abs.h:15