ROOT   Reference Guide
TSpline5 Class Reference

Class to create quintic natural splines to interpolate knots Arbitrary conditions can be introduced for first and second derivatives using double knots (see BuildCoeff) for more on this.

Double knots are automatically introduced at ending points

Definition at line 257 of file TSpline.h.

Public Member Functions

TSpline5 ()

TSpline5 (const char *title, const TGraph *g, const char *opt=nullptr, Double_t b1=0, Double_t e1=0, Double_t b2=0, Double_t e2=0)
Quintic natural spline creator given a TGraph with abscissa in increasing order and possibly end point conditions. More...

TSpline5 (const char *title, Double_t x[], const TF1 *func, Int_t n, const char *opt=nullptr, Double_t b1=0, Double_t e1=0, Double_t b2=0, Double_t e2=0)
Quintic natural spline creator given an array of arbitrary abscissas in increasing order and a function to interpolate and possibly end point conditions. More...

TSpline5 (const char *title, Double_t x[], Double_t y[], Int_t n, const char *opt=nullptr, Double_t b1=0, Double_t e1=0, Double_t b2=0, Double_t e2=0)
Quintic natural spline creator given an array of arbitrary knots in increasing abscissa order and possibly end point conditions. More...

TSpline5 (const char *title, Double_t xmin, Double_t xmax, const TF1 *func, Int_t n, const char *opt=nullptr, Double_t b1=0, Double_t e1=0, Double_t b2=0, Double_t e2=0)
Quintic natural spline creator given a function to be evaluated on n equidistant abscissa points between xmin and xmax and possibly end point conditions. More...

TSpline5 (const char *title, Double_t xmin, Double_t xmax, Double_t y[], Int_t n, const char *opt=nullptr, Double_t b1=0, Double_t e1=0, Double_t b2=0, Double_t e2=0)
Quintic natural spline creator given an array of arbitrary function values on equidistant n abscissa values from xmin to xmax and possibly end point conditions. More...

TSpline5 (const TH1 *h, const char *opt=nullptr, Double_t b1=0, Double_t e1=0, Double_t b2=0, Double_t e2=0)
Quintic natural spline creator given a TH1. More...

TSpline5 (const TSpline5 &)
Copy constructor. More...

~TSpline5 () override

Double_t Derivative (Double_t x) const
Derivative. More...

Double_t Eval (Double_t x) const override
Eval this spline at x. More...

Int_t FindX (Double_t x) const
Find X. More...

void GetCoeff (Int_t i, Double_t &x, Double_t &y, Double_t &b, Double_t &c, Double_t &d, Double_t &e, Double_t &f) const

void GetKnot (Int_t i, Double_t &x, Double_t &y) const override

TClassIsA () const override

TSpline5operator= (const TSpline5 &)
Assignment operator. More...

void SaveAs (const char *filename, Option_t *option="") const override
Write this spline as a C++ function that can be executed without ROOT the name of the function is the name of the file up to the "." if any. More...

void SavePrimitive (std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out. More...

virtual void SetPoint (Int_t i, Double_t x, Double_t y)
Set point number i. More...

virtual void SetPointCoeff (Int_t i, Double_t b, Double_t c, Double_t d, Double_t e, Double_t f)
Set point coefficient number i. More...

void Streamer (TBuffer &) override
Stream an object of class TSpline5. More...

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Public Member Functions inherited from TSpline
TSpline ()

TSpline (const char *title, Double_t delta, Double_t xmin, Double_t xmax, Int_t np, Bool_t step)

~TSpline () override
Destructor. More...

Int_t DistancetoPrimitive (Int_t px, Int_t py) override
Compute distance from point px,py to a spline. More...

void Draw (Option_t *option="") override
Draw this function with its current attributes. More...

virtual Double_t Eval (Double_t x) const =0

void ExecuteEvent (Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event. More...

virtual Double_t GetDelta () const

TH1FGetHistogram () const

virtual void GetKnot (Int_t i, Double_t &x, Double_t &y) const =0

virtual Int_t GetNp () const

virtual Int_t GetNpx () const

virtual Double_t GetXmax () const

virtual Double_t GetXmin () const

TClassIsA () const override

void Paint (Option_t *option="") override
Paint this function with its current attributes. More...

void SaveAs (const char *, Option_t *) const override
Save this object in the file specified by filename. More...

void SetNpx (Int_t n)

void Streamer (TBuffer &) override
Stream an object of class TSpline. More...

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Public Member Functions inherited from TNamed
TNamed ()

TNamed (const char *name, const char *title)

TNamed (const TNamed &named)
TNamed copy ctor. More...

TNamed (const TString &name, const TString &title)

virtual ~TNamed ()
TNamed destructor. More...

void Clear (Option_t *option="") override
Set name and title to empty strings (""). More...

TObjectClone (const char *newname="") const override
Make a clone of an object using the Streamer facility. More...

Int_t Compare (const TObject *obj) const override
Compare two TNamed objects. More...

void Copy (TObject &named) const override
Copy this to obj. More...

virtual void FillBuffer (char *&buffer)
Encode TNamed into output buffer. More...

const char * GetName () const override
Returns name of object. More...

const char * GetTitle () const override
Returns title of object. More...

ULong_t Hash () const override
Return hash value for this object. More...

TClassIsA () const override

Bool_t IsSortable () const override

void ls (Option_t *option="") const override
List TNamed name and title. More...

TNamedoperator= (const TNamed &rhs)
TNamed assignment operator. More...

void Print (Option_t *option="") const override
Print TNamed name and title. More...

virtual void SetName (const char *name)
Set the name of the TNamed. More...

virtual void SetNameTitle (const char *name, const char *title)
Set all the TNamed parameters (name and title). More...

virtual void SetTitle (const char *title="")
Set the title of the TNamed. More...

virtual Int_t Sizeof () const
Return size of the TNamed part of the TObject. More...

void Streamer (TBuffer &) override
Stream an object of class TObject. More...

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Public Member Functions inherited from TObject
TObject ()
TObject constructor. More...

TObject (const TObject &object)
TObject copy ctor. More...

virtual ~TObject ()
TObject destructor. More...

void AbstractMethod (const char *method) const
Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...

Append graphics object to current pad. More...

virtual void Browse (TBrowser *b)
Browse object. May be overridden for another default action. More...

ULong_t CheckedHash ()
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...

virtual const char * ClassName () const
Returns name of class to which the object belongs. More...

virtual void Clear (Option_t *="")

virtual TObjectClone (const char *newname="") const
Make a clone of an object using the Streamer facility. More...

virtual Int_t Compare (const TObject *obj) const
Compare abstract method. More...

virtual void Copy (TObject &object) const
Copy this to obj. More...

virtual void Delete (Option_t *option="")
Delete this object. More...

virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
Computes distance from point (px,py) to the object. More...

virtual void Draw (Option_t *option="")
Default Draw method for all objects. More...

virtual void DrawClass () const
Draw class inheritance tree of the class to which this object belongs. More...

virtual TObjectDrawClone (Option_t *option="") const
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...

virtual void Dump () const
Dump contents of object on stdout. More...

virtual void Error (const char *method, const char *msgfmt,...) const
Issue error message. More...

virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
Execute method on this object with the given parameter string, e.g. More...

virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
Execute method on this object with parameters stored in the TObjArray. More...

virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
Execute action corresponding to an event at (px,py). More...

virtual void Fatal (const char *method, const char *msgfmt,...) const
Issue fatal error message. More...

virtual TObjectFindObject (const char *name) const
Must be redefined in derived classes. More...

virtual TObjectFindObject (const TObject *obj) const
Must be redefined in derived classes. More...

virtual Option_tGetDrawOption () const
Get option used by the graphics system to draw this object. More...

virtual const char * GetIconName () const
Returns mime type name of object. More...

virtual const char * GetName () const
Returns name of object. More...

virtual char * GetObjectInfo (Int_t px, Int_t py) const
Returns string containing info about the object at position (px,py). More...

virtual Option_tGetOption () const

virtual const char * GetTitle () const
Returns title of object. More...

virtual UInt_t GetUniqueID () const
Return the unique object id. More...

virtual Bool_t HandleTimer (TTimer *timer)
Execute action in response of a timer timing out. More...

virtual ULong_t Hash () const
Return hash value for this object. More...

Bool_t HasInconsistentHash () const
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...

virtual void Info (const char *method, const char *msgfmt,...) const
Issue info message. More...

virtual Bool_t InheritsFrom (const char *classname) const
Returns kTRUE if object inherits from class "classname". More...

virtual Bool_t InheritsFrom (const TClass *cl) const
Returns kTRUE if object inherits from TClass cl. More...

virtual void Inspect () const
Dump contents of this object in a graphics canvas. More...

void InvertBit (UInt_t f)

virtual TClassIsA () const

Bool_t IsDestructed () const
IsDestructed. More...

virtual Bool_t IsEqual (const TObject *obj) const
Default equal comparison (objects are equal if they have the same address in memory). More...

virtual Bool_t IsFolder () const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...

R__ALWAYS_INLINE Bool_t IsOnHeap () const

virtual Bool_t IsSortable () const

R__ALWAYS_INLINE Bool_t IsZombie () const

virtual void ls (Option_t *option="") const
The ls function lists the contents of a class on stdout. More...

void MayNotUse (const char *method) const
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...

virtual Bool_t Notify ()
This method must be overridden to handle object notification. More...

void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
Use this method to declare a method obsolete. More...

void operator delete (void *ptr)
Operator delete. More...

void operator delete[] (void *ptr)
Operator delete []. More...

void * operator new (size_t sz)

void * operator new (size_t sz, void *vp)

void * operator new[] (size_t sz)

void * operator new[] (size_t sz, void *vp)

TObjectoperator= (const TObject &rhs)
TObject assignment operator. More...

virtual void Paint (Option_t *option="")
This method must be overridden if a class wants to paint itself. More...

virtual void Pop ()
Pop on object drawn in a pad to the top of the display list. More...

virtual void Print (Option_t *option="") const
This method must be overridden when a class wants to print itself. More...

virtual Int_t Read (const char *name)
Read contents of object with specified name from the current directory. More...

virtual void RecursiveRemove (TObject *obj)
Recursively remove this object from a list. More...

void ResetBit (UInt_t f)

virtual void SaveAs (const char *filename="", Option_t *option="") const
Save this object in the file specified by filename. More...

virtual void SavePrimitive (std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out". More...

void SetBit (UInt_t f)

void SetBit (UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f. More...

virtual void SetDrawOption (Option_t *option="")
Set drawing option for object. More...

virtual void SetUniqueID (UInt_t uid)
Set the unique object id. More...

virtual void Streamer (TBuffer &)
Stream an object of class TObject. More...

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

virtual void SysError (const char *method, const char *msgfmt,...) const
Issue system error message. More...

R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const

Int_t TestBits (UInt_t f) const

virtual void UseCurrentStyle ()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...

virtual void Warning (const char *method, const char *msgfmt,...) const
Issue warning message. More...

virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory. More...

virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
Write this object to the current directory. More...

Public Member Functions inherited from TAttLine
TAttLine ()
AttLine default constructor. More...

TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth)
AttLine normal constructor. More...

virtual ~TAttLine ()
AttLine destructor. More...

void Copy (TAttLine &attline) const
Copy this line attributes to a new TAttLine. More...

Int_t DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
Compute distance from point px,py to a line. More...

virtual Color_t GetLineColor () const
Return the line color. More...

virtual Style_t GetLineStyle () const
Return the line style. More...

virtual Width_t GetLineWidth () const
Return the line width. More...

virtual TClassIsA () const

virtual void Modify ()
Change current line attributes if necessary. More...

virtual void ResetAttLine (Option_t *option="")
Reset this line attributes to default values. More...

virtual void SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
Save line attributes as C++ statement(s) on output stream out. More...

virtual void SetLineAttributes ()
Invoke the DialogCanvas Line attributes. More...

virtual void SetLineColor (Color_t lcolor)
Set the line color. More...

virtual void SetLineColorAlpha (Color_t lcolor, Float_t lalpha)
Set a transparent line color. More...

virtual void SetLineStyle (Style_t lstyle)
Set the line style. More...

virtual void SetLineWidth (Width_t lwidth)
Set the line width. More...

virtual void Streamer (TBuffer &)

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Public Member Functions inherited from TAttFill
TAttFill ()
AttFill default constructor. More...

TAttFill (Color_t fcolor, Style_t fstyle)
AttFill normal constructor. More...

virtual ~TAttFill ()
AttFill destructor. More...

void Copy (TAttFill &attfill) const
Copy this fill attributes to a new TAttFill. More...

virtual Color_t GetFillColor () const
Return the fill area color. More...

virtual Style_t GetFillStyle () const
Return the fill area style. More...

virtual TClassIsA () const

virtual Bool_t IsTransparent () const

virtual void Modify ()
Change current fill area attributes if necessary. More...

virtual void ResetAttFill (Option_t *option="")
Reset this fill attributes to default values. More...

virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
Save fill attributes as C++ statement(s) on output stream out. More...

virtual void SetFillAttributes ()
Invoke the DialogCanvas Fill attributes. More...

virtual void SetFillColor (Color_t fcolor)
Set the fill area color. More...

virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
Set a transparent fill color. More...

virtual void SetFillStyle (Style_t fstyle)
Set the fill area style. More...

virtual void Streamer (TBuffer &)

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Public Member Functions inherited from TAttMarker
TAttMarker ()
TAttMarker default constructor. More...

TAttMarker (Color_t color, Style_t style, Size_t msize)
TAttMarker normal constructor. More...

virtual ~TAttMarker ()
TAttMarker destructor. More...

void Copy (TAttMarker &attmarker) const
Copy this marker attributes to a new TAttMarker. More...

virtual Color_t GetMarkerColor () const
Return the marker color. More...

virtual Size_t GetMarkerSize () const
Return the marker size. More...

virtual Style_t GetMarkerStyle () const
Return the marker style. More...

virtual TClassIsA () const

virtual void Modify ()
Change current marker attributes if necessary. More...

virtual void ResetAttMarker (Option_t *toption="")
Reset this marker attributes to the default values. More...

virtual void SaveMarkerAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1)
Save line attributes as C++ statement(s) on output stream out. More...

virtual void SetMarkerAttributes ()
Invoke the DialogCanvas Marker attributes. More...

virtual void SetMarkerColor (Color_t mcolor=1)
Set the marker color. More...

virtual void SetMarkerColorAlpha (Color_t mcolor, Float_t malpha)
Set a transparent marker color. More...

virtual void SetMarkerSize (Size_t msize=1)
Set the marker size. More...

virtual void SetMarkerStyle (Style_t mstyle=1)
Set the marker style. More...

virtual void Streamer (TBuffer &)

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Static Public Member Functions

static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

static void Test ()
Test method for TSpline5. More...

Static Public Member Functions inherited from TSpline
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

Static Public Member Functions inherited from TNamed
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

Static Public Member Functions inherited from TObject
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

static Longptr_t GetDtorOnly ()
Return destructor only flag. More...

static Bool_t GetObjectStat ()
Get status of object stat flag. More...

static void SetDtorOnly (void *obj)
Set destructor only flag. More...

static void SetObjectStat (Bool_t stat)
Turn on/off tracking of objects in the TObjectTable. More...

Static Public Member Functions inherited from TAttLine
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

Static Public Member Functions inherited from TAttFill
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

Static Public Member Functions inherited from TAttMarker
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

static Width_t GetMarkerLineWidth (Style_t style)
Internal helper function that returns the line width of the given marker style (0 = filled marker) More...

static Style_t GetMarkerStyleBase (Style_t style)
Internal helper function that returns the corresponding marker style with line width 1 for the given style. More...

Protected Member Functions

void BoundaryConditions (const char *opt, Int_t &beg, Int_t &end, const char *&cb1, const char *&ce1, const char *&cb2, const char *&ce2)
Check the boundary conditions and the amount of extra double knots needed. More...

void BuildCoeff () override
Algorithm 600, collected algorithms from acm. More...

void SetBoundaries (Double_t b1, Double_t e1, Double_t b2, Double_t e2, const char *cb1, const char *ce1, const char *cb2, const char *ce2)
Set the boundary conditions at double/triple knots. More...

Protected Member Functions inherited from TSpline
TSpline (const TSpline &)
Copy constructor. More...

virtual void BuildCoeff ()=0

TSplineoperator= (const TSpline &)
Assignment operator. More...

Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
Interface to ErrorHandler (protected). More...

void MakeZombie ()

Protected Attributes

TSplinePoly5fPoly
[fNp] Array of polynomial terms More...

Protected Attributes inherited from TSpline
Double_t fDelta
Distance between equidistant knots. More...

TGraphfGraph
Graph for drawing the knots. More...

TH1FfHistogram
Temporary histogram. More...

Bool_t fKstep
True of equidistant knots. More...

Int_t fNp
Number of knots. More...

Int_t fNpx
Number of points used for graphical representation. More...

Double_t fXmax
Maximum value of abscissa. More...

Double_t fXmin
Minimum value of abscissa. More...

Protected Attributes inherited from TNamed
TString fName

TString fTitle

Protected Attributes inherited from TAttLine
Color_t fLineColor
Line color. More...

Style_t fLineStyle
Line style. More...

Width_t fLineWidth
Line width. More...

Protected Attributes inherited from TAttFill
Color_t fFillColor
Fill area color. More...

Style_t fFillStyle
Fill area style. More...

Protected Attributes inherited from TAttMarker
Color_t fMarkerColor
Marker color. More...

Size_t fMarkerSize
Marker size. More...

Style_t fMarkerStyle
Marker style. More...

Public Types inherited from TObject
enum  {
kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
}

enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }

enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }

enum  EStatusBits {
kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}

Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }

#include <TSpline.h>

Inheritance diagram for TSpline5:
[legend]

◆ TSpline5() [1/8]

 TSpline5::TSpline5 ( )
inline

Definition at line 270 of file TSpline.h.

◆ TSpline5() [2/8]

 TSpline5::TSpline5 ( const char * title, Double_t x[], Double_t y[], Int_t n, const char * opt = nullptr, Double_t b1 = 0, Double_t e1 = 0, Double_t b2 = 0, Double_t e2 = 0 )

Quintic natural spline creator given an array of arbitrary knots in increasing abscissa order and possibly end point conditions.

Definition at line 1213 of file TSpline.cxx.

◆ TSpline5() [3/8]

 TSpline5::TSpline5 ( const char * title, Double_t xmin, Double_t xmax, Double_t y[], Int_t n, const char * opt = nullptr, Double_t b1 = 0, Double_t e1 = 0, Double_t b2 = 0, Double_t e2 = 0 )

Quintic natural spline creator given an array of arbitrary function values on equidistant n abscissa values from xmin to xmax and possibly end point conditions.

Definition at line 1246 of file TSpline.cxx.

◆ TSpline5() [4/8]

 TSpline5::TSpline5 ( const char * title, Double_t x[], const TF1 * func, Int_t n, const char * opt = nullptr, Double_t b1 = 0, Double_t e1 = 0, Double_t b2 = 0, Double_t e2 = 0 )

Quintic natural spline creator given an array of arbitrary abscissas in increasing order and a function to interpolate and possibly end point conditions.

Definition at line 1280 of file TSpline.cxx.

◆ TSpline5() [5/8]

 TSpline5::TSpline5 ( const char * title, Double_t xmin, Double_t xmax, const TF1 * func, Int_t n, const char * opt = nullptr, Double_t b1 = 0, Double_t e1 = 0, Double_t b2 = 0, Double_t e2 = 0 )

Quintic natural spline creator given a function to be evaluated on n equidistant abscissa points between xmin and xmax and possibly end point conditions.

Definition at line 1313 of file TSpline.cxx.

◆ TSpline5() [6/8]

 TSpline5::TSpline5 ( const char * title, const TGraph * g, const char * opt = nullptr, Double_t b1 = 0, Double_t e1 = 0, Double_t b2 = 0, Double_t e2 = 0 )

Quintic natural spline creator given a TGraph with abscissa in increasing order and possibly end point conditions.

Definition at line 1349 of file TSpline.cxx.

◆ TSpline5() [7/8]

 TSpline5::TSpline5 ( const TH1 * h, const char * opt = nullptr, Double_t b1 = 0, Double_t e1 = 0, Double_t b2 = 0, Double_t e2 = 0 )

Quintic natural spline creator given a TH1.

Definition at line 1384 of file TSpline.cxx.

◆ TSpline5() [8/8]

 TSpline5::TSpline5 ( const TSpline5 & sp5 )

Copy constructor.

Definition at line 1416 of file TSpline.cxx.

◆ ~TSpline5()

 TSpline5::~TSpline5 ( )
inlineoverride

Definition at line 301 of file TSpline.h.

◆ BoundaryConditions()

 void TSpline5::BoundaryConditions ( const char * opt, Int_t & beg, Int_t & end, const char *& cb1, const char *& ce1, const char *& cb2, const char *& ce2 )
protected

Check the boundary conditions and the amount of extra double knots needed.

Definition at line 1446 of file TSpline.cxx.

◆ BuildCoeff()

 void TSpline5::BuildCoeff ( void )
overrideprotectedvirtual

Algorithm 600, collected algorithms from acm.

algorithm appeared in acm-trans. math. software, vol.9, no. 2, jun., 1983, p. 258-259.

TSpline5 computes the coefficients of a quintic natural quintic spli
s(x) with knots x(i) interpolating there to given function values:

s(x(i)) = y(i) for i = 1,2, ..., n.
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
const Int_t n
Definition: legend1.C:16
static constexpr double s

in each interval (x(i),x(i+1)) the spline function s(xx) is a polynomial of fifth degree:

s(xx) = ((((f(i)*p+e(i))*p+d(i))*p+c(i))*p+b(i))*p+y(i) (*)
= ((((-f(i)*q+e(i+1))*q-d(i+1))*q+c(i+1))*q-b(i+1))*q+y(i+1)
#define d(i)
Definition: RSha256.hxx:102
#define f(i)
Definition: RSha256.hxx:104
#define c(i)
Definition: RSha256.hxx:101
#define e(i)
Definition: RSha256.hxx:103
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t b
float * q
Definition: THbookFile.cxx:89

where p = xx - x(i) and q = x(i+1) - xx. (note the first subscript in the second expression.) the different polynomials are pieced together so that s(x) and its derivatives up to s"" are continuous.

input:

n          number of data points, (at least three, i.e. n > 2)
x(1:n)     the strictly increasing or decreasing sequence of
knots.  the spacing must be such that the fifth power
of x(i+1) - x(i) can be formed without overflow or
underflow of exponents.
y(1:n)     the prescribed function values at the knots.


output:

b,c,d,e,f  the computed spline coefficients as in (*).
(1:n)  specifically
b(i) = s'(x(i)), c(i) = s"(x(i))/2, d(i) = s"'(x(i))/6,
e(i) = s""(x(i))/24,  f(i) = s""'(x(i))/120.
f(n) is neither used nor altered.  the five arrays
b,c,d,e,f must always be distinct.


option:

it is possible to specify values for the first and second
derivatives of the spline function at arbitrarily many knots.
this is done by relaxing the requirement that the sequence of
knots be strictly increasing or decreasing.  specifically:

if x(j) = x(j+1) then s(x(j)) = y(j) and s'(x(j)) = y(j+1),
if x(j) = x(j+1) = x(j+2) then in addition s"(x(j)) = y(j+2).
note that s""(x) is discontinuous at a double knot and, in
addition, s"'(x) is discontinuous at a triple knot.  the
subroutine assigns y(i) to y(i+1) in these cases and also to
y(i+2) at a triple knot.  the representation (*) remains
valid in each open interval (x(i),x(i+1)).  at a double knot,
x(j) = x(j+1), the output coefficients have the following values:

y(j) = s(x(j)) = y(j+1)
b(j) = s'(x(j)) = b(j+1)
c(j) = s"(x(j))/2 = c(j+1)
d(j) = s"'(x(j))/6 = d(j+1)
e(j) = s""(x(j)-0)/24 e(j+1) = s""(x(j)+0)/24
f(j) = s""'(x(j)-0)/120 f(j+1) = s""'(x(j)+0)/120

at a triple knot, x(j) = x(j+1) = x(j+2), the output coefficients have the following values:

y(j) = s(x(j)) = y(j+1) = y(j+2)
b(j) = s'(x(j)) = b(j+1) = b(j+2)
c(j) = s"(x(j))/2 = c(j+1) = c(j+2)
d(j) = s"'((x(j)-0)/6 d(j+1) = 0 d(j+2) = s"'(x(j)+0)/6
e(j) = s""(x(j)-0)/24 e(j+1) = 0 e(j+2) = s""(x(j)+0)/24
f(j) = s""'(x(j)-0)/120 f(j+1) = 0 f(j+2) = s""'(x(j)+0)/120

Implements TSpline.

Definition at line 1904 of file TSpline.cxx.

◆ Class()

 static TClass * TSpline5::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

 static const char * TSpline5::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

 static constexpr Version_t TSpline5::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 316 of file TSpline.h.

◆ DeclFileName()

 static const char * TSpline5::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 316 of file TSpline.h.

◆ Derivative()

 Double_t TSpline5::Derivative ( Double_t x ) const

Derivative.

Definition at line 1571 of file TSpline.cxx.

◆ Eval()

 Double_t TSpline5::Eval ( Double_t x ) const
overridevirtual

Eval this spline at x.

Implements TSpline.

Definition at line 1562 of file TSpline.cxx.

◆ FindX()

 Int_t TSpline5::FindX ( Double_t x ) const

Find X.

Definition at line 1526 of file TSpline.cxx.

◆ GetCoeff()

 void TSpline5::GetCoeff ( Int_t i, Double_t & x, Double_t & y, Double_t & b, Double_t & c, Double_t & d, Double_t & e, Double_t & f ) const
inline

Definition at line 302 of file TSpline.h.

◆ GetKnot()

 void TSpline5::GetKnot ( Int_t i, Double_t & x, Double_t & y ) const
inlineoverridevirtual

Implements TSpline.

Definition at line 307 of file TSpline.h.

◆ IsA()

 TClass * TSpline5::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TSpline.

Definition at line 316 of file TSpline.h.

◆ operator=()

 TSpline5 & TSpline5::operator= ( const TSpline5 & sp5 )

Assignment operator.

Definition at line 1429 of file TSpline.cxx.

◆ SaveAs()

 void TSpline5::SaveAs ( const char * filename, Option_t * option = "" ) const
overridevirtual

Write this spline as a C++ function that can be executed without ROOT the name of the function is the name of the file up to the "." if any.

Reimplemented from TSpline.

Definition at line 1581 of file TSpline.cxx.

◆ SavePrimitive()

 void TSpline5::SavePrimitive ( std::ostream & out, Option_t * option = "" )
overridevirtual

Save primitive as a C++ statement(s) on output stream out.

Reimplemented from TObject.

Definition at line 1772 of file TSpline.cxx.

◆ SetBoundaries()

 void TSpline5::SetBoundaries ( Double_t b1, Double_t e1, Double_t b2, Double_t e2, const char * cb1, const char * ce1, const char * cb2, const char * ce2 )
protected

Set the boundary conditions at double/triple knots.

Definition at line 1477 of file TSpline.cxx.

◆ SetPoint()

 void TSpline5::SetPoint ( Int_t i, Double_t x, Double_t y )
virtual

Set point number i.

Definition at line 1805 of file TSpline.cxx.

◆ SetPointCoeff()

 void TSpline5::SetPointCoeff ( Int_t i, Double_t b, Double_t c, Double_t d, Double_t e, Double_t f )
virtual

Set point coefficient number i.

Definition at line 1816 of file TSpline.cxx.

◆ Streamer()

 void TSpline5::Streamer ( TBuffer & R__b )
overridevirtual

Stream an object of class TSpline5.

Reimplemented from TSpline.

Definition at line 2487 of file TSpline.cxx.

◆ StreamerNVirtual()

 void TSpline5::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b )
inline

Definition at line 316 of file TSpline.h.

◆ Test()

 void TSpline5::Test ( )
static

Test method for TSpline5.

n number of data points.
m 2*m-1 is order of spline.
m = 3 always for quintic spline.
nn,nm1,mm,
mm1,i,k,
j,jj temporary integer variables.
z,p temporary double precision variables.
x[n] the sequence of knots.
y[n] the prescribed function values at the knots.
a[200][6] two dimensional array whose columns are
the computed spline coefficients
diff[5] maximum values of differences of values and
derivatives to right and left of knots.
com[5] maximum values of coefficients.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t points
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
Definition: RExports.h:167
static constexpr double mm
void variables(TString dataset, TString fin="TMVA.root", TString dirName="InputVariables_Id", TString title="TMVA Input Variables", Bool_t isRegression=kFALSE, Bool_t useTMVAStyle=kTRUE)
TMarker m
Definition: textangle.C:8

test of TSpline5 with non equidistant knots and equidistant knots follows.

Definition at line 2082 of file TSpline.cxx.

◆ fPoly

 TSplinePoly5* TSpline5::fPoly
protected

[fNp] Array of polynomial terms

Definition at line 260 of file TSpline.h.

Libraries for TSpline5:
[legend]

The documentation for this class was generated from the following files: