00001
00002
00003
00004
00005
00006
00007 #ifndef IMPCORE_OPEN_CUBIC_SPLINE_H
00008 #define IMPCORE_OPEN_CUBIC_SPLINE_H
00009
00010 #include "core_config.h"
00011 #include <IMP/UnaryFunction.h>
00012 #include "internal/evaluate_distance_pair_score.h"
00013
00014 IMPCORE_BEGIN_NAMESPACE
00015
00016
00017
00018
00019
00020
00021
00022
00023 class IMPCOREEXPORT OpenCubicSpline : public UnaryFunction
00024 {
00025 public:
00026
00027
00028
00029
00030
00031
00032
00033 OpenCubicSpline(const Floats &values, Float minrange,
00034 Float spacing, bool extend=false);
00035
00036 IMP_UNARY_FUNCTION(OpenCubicSpline);
00037 private:
00038 double spacing_;
00039 double inverse_spacing_;
00040 internal::RawOpenCubicSpline spline_;
00041 double minrange_;
00042 double maxrange_;
00043 bool extend_;
00044 };
00045
00046 IMPCORE_END_NAMESPACE
00047
00048 #endif