Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TSpline2.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Class : TSpline2 *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Quadratic spline class; uses quadrax function for interpolation *
12  * *
13  * Authors (alphabetical): *
14  * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
16  * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada *
17  * *
18  * Copyright (c) 2005: *
19  * CERN, Switzerland *
20  * U. of Victoria, Canada *
21  * MPI-K Heidelberg, Germany *
22  * *
23  * Redistribution and use in source and binary forms, with or without *
24  * modification, are permitted according to the terms listed in LICENSE *
25  * (http://tmva.sourceforge.net/LICENSE) *
26  **********************************************************************************/
27 
28 #ifndef ROOT_TMVA_TSpline2
29 #define ROOT_TMVA_TSpline2
30 
31 //////////////////////////////////////////////////////////////////////////
32 // //
33 // TSpline2 //
34 // //
35 // Quadratic interpolation class (using quadrax) //
36 // //
37 //////////////////////////////////////////////////////////////////////////
38 
39 #include "TSpline.h"
40 
41 namespace TMVA {
42 
43  class TSpline2 : public TSpline {
44 
45  public:
46 
47  TSpline2( const TString& title, TGraph* theGraph );
48  virtual ~TSpline2( void );
49 
50  virtual Double_t Eval( Double_t x ) const;
51 
52  // dummy implementations
53  virtual void BuildCoeff( void );
54  virtual void GetKnot( Int_t i, Double_t& x, Double_t& y ) const;
55 
56  private:
57 
58  TGraph *fGraph; // graph that is splined
59  Double_t Quadrax( Float_t dm, Float_t dm1,
60  Float_t dm2, Float_t dm3,
61  Float_t cos1, Float_t cos2,
62  Float_t cos3 ) const;
63 
64  ClassDef(TSpline2,0); //Quadratic interpolation class (using quadrax)
65  };
66 
67 } // namespace TMVA
68 
69 #endif
70 
71