Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:11:11

0001 // @(#)root/tmva $Id$
0002 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss 
0003 
0004 /**********************************************************************************
0005  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
0006  * Package: TMVA                                                                  *
0007  * Class  : TSpline2                                                              *
0008  *                                             *
0009  *                                                                                *
0010  * Description:                                                                   *
0011  *      Quadratic spline class; uses quadrax function for interpolation           *
0012  *                                                                                *
0013  * Authors (alphabetical):                                                        *
0014  *      Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland              *
0015  *      Helge Voss      <Helge.Voss@cern.ch>     - MPI-K Heidelberg, Germany      *
0016  *      Kai Voss        <Kai.Voss@cern.ch>       - U. of Victoria, Canada         *
0017  *                                                                                *
0018  * Copyright (c) 2005:                                                            *
0019  *      CERN, Switzerland                                                         * 
0020  *      U. of Victoria, Canada                                                    * 
0021  *      MPI-K Heidelberg, Germany                                                 * 
0022  *                                                                                *
0023  * Redistribution and use in source and binary forms, with or without             *
0024  * modification, are permitted according to the terms listed in LICENSE           *
0025  * (see tmva/doc/LICENSE)                                          *
0026  **********************************************************************************/
0027 
0028 #ifndef ROOT_TMVA_TSpline2
0029 #define ROOT_TMVA_TSpline2
0030 
0031 //////////////////////////////////////////////////////////////////////////
0032 //                                                                      //
0033 // TSpline2                                                             //
0034 //                                                                      //
0035 // Quadratic interpolation class (using quadrax)                        //
0036 //                                                                      //
0037 //////////////////////////////////////////////////////////////////////////
0038 
0039 #include "TSpline.h"
0040 
0041 namespace TMVA {
0042 
0043    class TSpline2 : public TSpline {
0044 
0045    public:
0046   
0047       TSpline2( const TString& title, const TGraph *theGraph );
0048       virtual ~TSpline2( void );
0049 
0050       virtual  Double_t Eval( Double_t x ) const;
0051 
0052       // dummy implementations
0053       virtual void BuildCoeff( void );
0054       virtual void GetKnot( Int_t i, Double_t& x, Double_t& y ) const;
0055 
0056    private:
0057       std::vector<Double_t> fX;
0058       std::vector<Double_t> fY;
0059 
0060       Double_t Quadrax( Float_t dm, Float_t dm1,
0061                         Float_t dm2, Float_t dm3,
0062                         Float_t cos1, Float_t cos2, 
0063                         Float_t cos3 ) const;
0064   
0065       ClassDef(TSpline2,0); //Quadratic interpolation class (using quadrax)
0066    };
0067 
0068 } // namespace TMVA
0069 
0070 #endif 
0071 
0072