yat/regression/CSplinePeriodicInterpolation.h

Code
Comments
Other
Rev Date Author Line
1647 13 Dec 08 jari 1 #ifndef _theplu_yat_regression_cspline_periodic_interpolation_
1647 13 Dec 08 jari 2 #define _theplu_yat_regression_cspline_periodic_interpolation_
193 27 Oct 04 peter 3
616 31 Aug 06 jari 4 // $Id$
616 31 Aug 06 jari 5
675 10 Oct 06 jari 6 /*
4359 23 Aug 23 peter 7   Copyright (C) 2004, 2005, 2006 Jari Häkkinen, Peter Johansson
4359 23 Aug 23 peter 8   Copyright (C) 2007 Peter Johansson
4359 23 Aug 23 peter 9   Copyright (C) 2008 Jari Häkkinen, Peter Johansson
193 27 Oct 04 peter 10
1437 25 Aug 08 peter 11   This file is part of the yat library, http://dev.thep.lu.se/yat
675 10 Oct 06 jari 12
675 10 Oct 06 jari 13   The yat library is free software; you can redistribute it and/or
675 10 Oct 06 jari 14   modify it under the terms of the GNU General Public License as
1486 09 Sep 08 jari 15   published by the Free Software Foundation; either version 3 of the
675 10 Oct 06 jari 16   License, or (at your option) any later version.
675 10 Oct 06 jari 17
675 10 Oct 06 jari 18   The yat library is distributed in the hope that it will be useful,
675 10 Oct 06 jari 19   but WITHOUT ANY WARRANTY; without even the implied warranty of
675 10 Oct 06 jari 20   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
675 10 Oct 06 jari 21   General Public License for more details.
675 10 Oct 06 jari 22
675 10 Oct 06 jari 23   You should have received a copy of the GNU General Public License
1487 10 Sep 08 jari 24   along with yat. If not, see <http://www.gnu.org/licenses/>.
675 10 Oct 06 jari 25 */
675 10 Oct 06 jari 26
1643 13 Dec 08 jari 27 #include "GSLInterpolation.h"
675 10 Oct 06 jari 28
193 27 Oct 04 peter 29 namespace theplu {
680 11 Oct 06 jari 30 namespace yat {
1643 13 Dec 08 jari 31 namespace utility {
1644 13 Dec 08 jari 32   class VectorBase;
1643 13 Dec 08 jari 33 }
383 12 Aug 05 jari 34 namespace regression {
383 12 Aug 05 jari 35
713 21 Dec 06 peter 36   /**
1647 13 Dec 08 jari 37      \brief Cubic spline with periodic boundary conditions.
1644 13 Dec 08 jari 38
1644 13 Dec 08 jari 39      The resulting curve is piecewise cubic on each interval, with
1644 13 Dec 08 jari 40      matching first and second derivatives at the supplied
1647 13 Dec 08 jari 41      data-points. The derivatives at the first and last points are
1647 13 Dec 08 jari 42      also matched. Note that the last point in the data must have the
1647 13 Dec 08 jari 43      same y-value as the first point, otherwise the resulting periodic
1647 13 Dec 08 jari 44      interpolation will have a discontinuity at the boundary.
1644 13 Dec 08 jari 45
1644 13 Dec 08 jari 46      \see Please refer to the base class documentation for genereal
1644 13 Dec 08 jari 47      introduction to the GSL based interpolation methods.
1652 16 Dec 08 jari 48
1652 16 Dec 08 jari 49      \since New in yat 0.5
713 21 Dec 06 peter 50   */
1647 13 Dec 08 jari 51   class CSplinePeriodicInterpolation : public GSLInterpolation
1643 13 Dec 08 jari 52   {
193 27 Oct 04 peter 53
1643 13 Dec 08 jari 54   public:
713 21 Dec 06 peter 55     /**
1644 13 Dec 08 jari 56        \brief The default constructor
713 21 Dec 06 peter 57     */
1647 13 Dec 08 jari 58     CSplinePeriodicInterpolation(const utility::VectorBase& x,
1647 13 Dec 08 jari 59                                  const utility::VectorBase& y);
216 29 Dec 04 peter 60
713 21 Dec 06 peter 61     /**
1644 13 Dec 08 jari 62        \brief The destructor
713 21 Dec 06 peter 63     */
1647 13 Dec 08 jari 64     ~CSplinePeriodicInterpolation(void);
193 27 Oct 04 peter 65
1643 13 Dec 08 jari 66   private:
713 21 Dec 06 peter 67     /**
1644 13 Dec 08 jari 68        \brief Copy Constructor. (not implemented)
713 21 Dec 06 peter 69     */
1647 13 Dec 08 jari 70     CSplinePeriodicInterpolation(const CSplinePeriodicInterpolation&);
1676 24 Dec 08 peter 71     // no assignment allowed
1676 24 Dec 08 peter 72     CSplinePeriodicInterpolation& operator=(const CSplinePeriodicInterpolation&);
207 02 Nov 04 peter 73
193 27 Oct 04 peter 74    };
193 27 Oct 04 peter 75
681 11 Oct 06 jari 76 }}} // of namespaces regression, yat, and theplu
193 27 Oct 04 peter 77
193 27 Oct 04 peter 78 #endif