00001 // @(#)root/tmva $Id: TSpline1.h 29122 2009-06-22 06:51:30Z brun $ 00002 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss 00003 00004 /********************************************************************************** 00005 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis * 00006 * Package: TMVA * 00007 * Class : TSpline1 * 00008 * Web : http://tmva.sourceforge.net * 00009 * * 00010 * Description: * 00011 * Linear interpolation class; derivative of TSpline * 00012 * * 00013 * Authors (alphabetical): * 00014 * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * 00015 * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany * 00016 * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada * 00017 * * 00018 * Copyright (c) 2005: * 00019 * CERN, Switzerland * 00020 * U. of Victoria, Canada * 00021 * MPI-K Heidelberg, Germany * 00022 * * 00023 * Redistribution and use in source and binary forms, with or without * 00024 * modification, are permitted according to the terms listed in LICENSE * 00025 * (http://tmva.sourceforge.net/LICENSE) * 00026 **********************************************************************************/ 00027 00028 #ifndef ROOT_TMVA_TSpline1 00029 #define ROOT_TMVA_TSpline1 00030 00031 ////////////////////////////////////////////////////////////////////////// 00032 // // 00033 // TSpline1 // 00034 // // 00035 // Linear interpolation class // 00036 // // 00037 ////////////////////////////////////////////////////////////////////////// 00038 00039 #ifndef ROOT_TSpline 00040 #include "TSpline.h" 00041 #endif 00042 00043 namespace TMVA { 00044 00045 class TSpline1 : public TSpline { 00046 00047 public: 00048 00049 TSpline1( const TString& title, TGraph* theGraph ); 00050 virtual ~TSpline1( void ); 00051 00052 virtual Double_t Eval( Double_t x ) const; 00053 00054 // dummy implementations 00055 virtual void BuildCoeff( void ); 00056 virtual void GetKnot( Int_t i, Double_t& x, Double_t& y ) const; 00057 00058 const TGraph* GetGraph() const { return fGraph; } 00059 00060 private: 00061 00062 TGraph *fGraph; // graph that is splined 00063 00064 ClassDef(TSpline1,0) //Linear interpolation class 00065 }; 00066 00067 } // namespace TMVA 00068 00069 #endif 00070 00071