Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:22:05

0001 // @(#)root/mathmore:$Id$
0002 // Authors: L. Moneta, A. Zsenei   08/2005
0003 
0004  /**********************************************************************
0005   *                                                                    *
0006   * Copyright (c) 2004 ROOT Foundation,  CERN/PH-SFT                   *
0007   *                                                                    *
0008   * This library is free software; you can redistribute it and/or      *
0009   * modify it under the terms of the GNU General Public License        *
0010   * as published by the Free Software Foundation; either version 2     *
0011   * of the License, or (at your option) any later version.             *
0012   *                                                                    *
0013   * This library is distributed in the hope that it will be useful,    *
0014   * but WITHOUT ANY WARRANTY; without even the implied warranty of     *
0015   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   *
0016   * General Public License for more details.                           *
0017   *                                                                    *
0018   * You should have received a copy of the GNU General Public License  *
0019   * along with this library (see file COPYING); if not, write          *
0020   * to the Free Software Foundation, Inc., 59 Temple Place, Suite      *
0021   * 330, Boston, MA 02111-1307 USA, or contact the author.             *
0022   *                                                                    *
0023   **********************************************************************/
0024 
0025 // Header file for class InterpolationTypes
0026 //
0027 // Created by: moneta  at Fri Nov 26 15:40:58 2004
0028 //
0029 // Last update: Fri Nov 26 15:40:58 2004
0030 //
0031 #ifndef ROOT_Math_InterpolationTypes
0032 #define ROOT_Math_InterpolationTypes
0033 
0034 
0035 namespace ROOT {
0036 namespace Math {
0037 
0038 
0039    namespace Interpolation {
0040 
0041       /**
0042        Enumeration defining the types of interpolation methods availables.
0043        Passed as argument to instantiate mathlib::Interpolator objects.
0044        The types available are (more information is available in the
0045        <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Interpolation-Types.html">GSL manual</A>):
0046        <ul>
0047        <li>LINEAR interpolation;
0048        <li>POLYNOMIAL interpolation, to be used for small number of points since introduces large oscillations;
0049        <li>CSPLINE cubic spline with natural boundary conditions;
0050        <li>CSPLINE_PERIODIC cubic spline with periodic boundary conditions;
0051        <li>AKIMA, Akima spline with natural boundary conditions ( requires a minimum of 5 points);
0052        <li>AKIMA_PERIODIC, Akima spline with periodic boundaries ( requires a minimum of 5 points);
0053        </ul>
0054 
0055 
0056        @ingroup Interpolation
0057        */
0058 
0059       // enumerations for the type of interpolations
0060       enum Type {  kLINEAR,
0061          kPOLYNOMIAL,
0062          kCSPLINE,
0063          kCSPLINE_PERIODIC,
0064          kAKIMA,
0065          kAKIMA_PERIODIC
0066       };
0067    }
0068 
0069 
0070 } // namespace Math
0071 } // namespace ROOT
0072 
0073 #endif /* ROOT_Math_InterpolationTypes */