//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Implementation of class BSpline // see BSpline.hh for details // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM // Felix Boehmer TUM // //----------------------------------------------------------- // Panda Headers ---------------------- // This Class' Header ------------------ #include "BSpline.h" // C/C++ Headers ---------------------- // Collaborating Class Headers -------- // Class Member definitions ----------- BSpline::BSpline() : _i(0) {;} BSpline::BSpline(const std::vector& p, int index) : _i(index) { _p = p; for(int i=0;i<5;i++){ _nu[i]=1; } for(int s=1;s<5;s++){ for(int r=0;r<5;r++){ if(s==r)continue; _nu[s]*=_p[_i-s]-_p[_i-r]; } _nu[s]=1/_nu[s]; } _nu[0]=0; } BSpline::~BSpline() {;} double BSpline::eval(double x){ if(x>(_p[_i]) || x<(_p[_i-4])) { //std::cout<<"\nBSPline::out of range of BSpline - should never get here" // <