Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:54:34

0001 // -*- C++ -*-
0002 // $Id: 
0003 // Airy Functions Ai and Bi
0004 #ifndef Airy_h
0005 #define Airy_h 1
0006 #include "CLHEP/GenericFunctions/AbsFunction.hh"
0007 namespace Genfun {
0008 
0009   /**
0010    * @author
0011    * @ingroup genfun
0012    */
0013   class Airy : public AbsFunction  {
0014 
0015     FUNCTION_OBJECT_DEF(Airy)
0016 
0017       public:
0018 
0019     enum Type {Ai, Bi};
0020 
0021     // Constructor:  Use this one and you will get a Airy function Ai or Bi
0022     Airy (Type type);
0023 
0024     // Copy constructor
0025     Airy(const Airy &right);
0026   
0027     // Destructor
0028     virtual ~Airy();
0029   
0030     // Retreive function value
0031     virtual double operator ()(double argument) const override;
0032     virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
0033   
0034   private:
0035 
0036     // It is illegal to assign an adjustable constant
0037     const Airy & operator=(const Airy &right);
0038 
0039     // The type and order of the Airy function
0040     Type      _type;
0041   
0042   };
0043 
0044 } // namespace Genfun
0045 
0046 
0047 #include "CLHEP/GenericFunctions/Airy.icc"
0048 #endif