Logo ROOT  
Reference Guide
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
41namespace 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
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
int Int_t
Definition: RtypesCore.h:41
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
#define ClassDef(name, id)
Definition: Rtypes.h:326
A Graph is a graphics object made of two arrays X and Y with npoints each.
Definition: TGraph.h:41
Quadratic interpolation of TGraph.
Definition: TSpline2.h:43
TSpline2(const TString &title, TGraph *theGraph)
constructor from TGraph TSpline is a TNamed object
Definition: TSpline2.cxx:45
virtual void BuildCoeff(void)
no coefficients to precompute
Definition: TSpline2.cxx:122
TGraph * fGraph
Definition: TSpline2.h:58
virtual ~TSpline2(void)
destructor
Definition: TSpline2.cxx:54
virtual Double_t Eval(Double_t x) const
returns quadratically interpolated TGraph entry around x
Definition: TSpline2.cxx:62
virtual void GetKnot(Int_t i, Double_t &x, Double_t &y) const
no knots
Definition: TSpline2.cxx:129
Double_t Quadrax(Float_t dm, Float_t dm1, Float_t dm2, Float_t dm3, Float_t cos1, Float_t cos2, Float_t cos3) const
quadratic interpolation Revised and checked by Francois Nov, 16th, 2000 Note the beautiful non-sponta...
Definition: TSpline2.cxx:140
Base class for spline implementation containing the Draw/Paint methods.
Definition: TSpline.h:22
Basic string class.
Definition: TString.h:131
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
create variable transformations