# source:trunk/yat/regression/CSplinePeriodicInterpolation.h@1679

Last change on this file since 1679 was 1676, checked in by Peter, 13 years ago

fixes #473 - declaring a private assignement operator in interpolation classes

• Property svn:eol-style set to `native`
• Property svn:keywords set to `Author Date Id Revision`
File size: 2.2 KB
Line
1#ifndef _theplu_yat_regression_cspline_periodic_interpolation_
2#define _theplu_yat_regression_cspline_periodic_interpolation_
3
4// \$Id: CSplinePeriodicInterpolation.h 1676 2008-12-24 01:43:04Z peter \$
5
6/*
7  Copyright (C) 2008 Jari Häkkinen
8
9  This file is part of the yat library, http://dev.thep.lu.se/yat
10
11  The yat library is free software; you can redistribute it and/or
12  modify it under the terms of the GNU General Public License as
13  published by the Free Software Foundation; either version 3 of the
15
16  The yat library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  General Public License for more details.
20
21  You should have received a copy of the GNU General Public License
22  along with yat. If not, see <http://www.gnu.org/licenses/>.
23*/
24
25#include "GSLInterpolation.h"
26
27namespace theplu {
28namespace yat {
29namespace utility {
30  class VectorBase;
31}
32namespace regression {
33
34  /**
35     \brief Cubic spline with periodic boundary conditions.
36
37     The resulting curve is piecewise cubic on each interval, with
38     matching first and second derivatives at the supplied
39     data-points. The derivatives at the first and last points are
40     also matched. Note that the last point in the data must have the
41     same y-value as the first point, otherwise the resulting periodic
42     interpolation will have a discontinuity at the boundary.
43
44     \see Please refer to the base class documentation for genereal
45     introduction to the GSL based interpolation methods.
46
47     \since New in yat 0.5
48  */
49  class CSplinePeriodicInterpolation : public GSLInterpolation
50  {
51
52  public:
53    /**
54       \brief The default constructor
55    */
56    CSplinePeriodicInterpolation(const utility::VectorBase& x,
57                                 const utility::VectorBase& y);
58
59    /**
60       \brief The destructor
61    */
62    ~CSplinePeriodicInterpolation(void);
63
64  private:
65    /**
66       \brief Copy Constructor. (not implemented)
67    */
68    CSplinePeriodicInterpolation(const CSplinePeriodicInterpolation&);
69    // no assignment allowed
70    CSplinePeriodicInterpolation& operator=(const CSplinePeriodicInterpolation&);
71
72  };
73
74}}} // of namespaces regression, yat, and theplu
75
76#endif
Note: See TracBrowser for help on using the repository browser.