MINT2
Public Member Functions | Private Attributes | List of all members
RooCubicSplineKnot::S2_edge Class Reference

#include <RooCubicSplineKnot.h>

Public Member Functions

 S2_edge (double a1, double b1, double a2, double b2)
 
 S2_edge (const S2_edge &other, double offset=0)
 
double operator() (int j, int k) const
 

Private Attributes

double t0
 
double t1
 
double t2
 

Detailed Description

Definition at line 168 of file RooCubicSplineKnot.h.

Constructor & Destructor Documentation

◆ S2_edge() [1/2]

RooCubicSplineKnot::S2_edge::S2_edge ( double  a1,
double  b1,
double  a2,
double  b2 
)
inline

Definition at line 170 of file RooCubicSplineKnot.h.

170  :
171  t0(b1*b2),
172  t1(1./2.*(a1*b2+a2*b1)),
173  t2(1./4.*a1*a2)
174  {}

◆ S2_edge() [2/2]

RooCubicSplineKnot::S2_edge::S2_edge ( const S2_edge other,
double  offset = 0 
)
inline

Definition at line 175 of file RooCubicSplineKnot.h.

175  : t0(other.t0), t1(other.t1), t2(other.t2) {
176  if (!offset) return;
177  t0+=offset*(2*t1+offset*4*t2);
178  t1+=offset*8*t2/2.;
179  // t2=t2;
180  }

Member Function Documentation

◆ operator()()

double RooCubicSplineKnot::S2_edge::operator() ( int  j,
int  k 
) const
inline

Definition at line 181 of file RooCubicSplineKnot.h.

181  {
182  if (j>k) std::swap(j,k);
183  assert(0<=j&&j<3);
184  assert(0<=k&&k<3-j);
185  switch(2*j+k) {
186  case 0: return t0; // (0,0)
187  case 1: return t1; // (0,1),(1,0)
188  case 2: return t2; // (0,2),(2,0)
189  case 3: return 2*t2; // (1,1)
190  }
191  assert(1==0);
192  return 0;
193  }

Member Data Documentation

◆ t0

double RooCubicSplineKnot::S2_edge::t0
private

Definition at line 195 of file RooCubicSplineKnot.h.

◆ t1

double RooCubicSplineKnot::S2_edge::t1
private

Definition at line 195 of file RooCubicSplineKnot.h.

◆ t2

double RooCubicSplineKnot::S2_edge::t2
private

Definition at line 195 of file RooCubicSplineKnot.h.


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