CLHEP VERSION Reference Documentation
CLHEP Home Page CLHEP Documentation CLHEP Bug Reports |
00001 // -*- C++ -*- 00002 // $Id: ATan.hh,v 1.2 2003/09/06 14:04:13 boudreau Exp $ 00003 //---------------------ATan-------------------------------------------------// 00004 // // 00005 // Class ATan // 00006 // Joe Boudreau, Petar Maksimovic, November 1999 // 00007 // // 00008 //--------------------------------------------------------------------------// 00009 #ifndef ATan_h 00010 #define ATan_h 1 00011 #include "CLHEP/GenericFunctions/AbsFunction.hh" 00012 namespace Genfun { 00013 class ATan : public AbsFunction { 00014 00015 FUNCTION_OBJECT_DEF(ATan) 00016 00017 public: 00018 00019 // Constructor 00020 ATan(); 00021 00022 // Destructor 00023 virtual ~ATan(); 00024 00025 // Copy constructor 00026 ATan(const ATan &right); 00027 00028 // Retreive function value 00029 virtual double operator ()(double argument) const; 00030 virtual double operator ()(const Argument & a) const {return operator() (a[0]);} 00031 00032 // Derivative. 00033 Derivative partial (unsigned int) const; 00034 00035 // Does this function have an analytic derivative? 00036 virtual bool hasAnalyticDerivative() const {return true;} 00037 00038 00039 private: 00040 00041 // It is illegal to assign a ATan 00042 const ATan & operator=(const ATan &right); 00043 00044 }; 00045 } // end namespace Genfun 00046 00047 #endif