#include <MELANCSpline_1D_fast.h>
|
| MELANCSpline_1D_fast () |
|
| MELANCSpline_1D_fast (const char *name, const char *title) |
|
| MELANCSpline_1D_fast (const char *name, const char *title, RooAbsReal &inXVar, const std::vector< T > &inXList, const std::vector< T > &inFcnList, MELANCSplineCore::BoundaryCondition const bcBeginX_=MELANCSplineCore::bcNaturalSpline, MELANCSplineCore::BoundaryCondition const bcEndX_=MELANCSplineCore::bcNaturalSpline, Bool_t inUseFloor=true, T inFloorEval=0, T inFloorInt=0) |
|
| MELANCSpline_1D_fast (const MELANCSpline_1D_fast &other, const char *name=0) |
|
virtual TObject * | clone (const char *newname) const |
|
virtual | ~MELANCSpline_1D_fast () |
|
void | setRangeValidity (const T valmin, const T valmax, const Int_t whichDirection=0) |
|
virtual Int_t | getAnalyticalIntegral (RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const |
|
virtual Double_t | analyticalIntegral (Int_t code, const char *rangeName=0) const |
|
| MELANCSplineCore () |
|
| MELANCSplineCore (const char *name, const char *title) |
|
| MELANCSplineCore (const char *name, const char *title, RooAbsReal &inXVar, const std::vector< T > &inXList, Bool_t inUseFloor=true, T inFloorEval=1e-15, T inFloorInt=1e-10) |
|
| MELANCSplineCore (const MELANCSplineCore &other, const char *name=0) |
|
virtual | ~MELANCSplineCore () |
|
virtual void | setVerbosity (VerbosityLevel flag) |
|
void | setEvalFloor (T val) |
|
void | setIntFloor (T val) |
|
void | doFloor (Bool_t flag) |
|
|
virtual void | emptyFcnList () |
|
virtual Int_t | getWhichBin (const T &val, const Int_t whichDirection) const |
|
virtual T | getTVar (const std::vector< T > &kappas, const T &val, const Int_t &bin, const Int_t whichDirection) const |
|
virtual void | getKappas (std::vector< T > &kappas, const Int_t whichDirection) |
|
Bool_t | testRangeValidity (const T &val, const Int_t whichDirection=0) const |
|
void | cropValueForRange (T &val, const Int_t whichDirection=0) const |
|
virtual T | interpolateFcn (Int_t code, const char *rangeName=0) const |
|
virtual Double_t | evaluate () const |
|
void | getLeafDependents (RooRealProxy &proxy, RooArgSet &set) |
|
void | addLeafDependents (RooArgSet &set) |
|
unsigned int | npointsX () const |
|
virtual void | getBArray (const std::vector< T > &kappas, const std::vector< T > &fcnList, std::vector< T > &BArray, BoundaryCondition const &bcBegin, BoundaryCondition const &bcEnd) const |
|
virtual void | getAArray (const std::vector< T > &kappas, std::vector< std::vector< T >> &AArray, BoundaryCondition const &bcBegin, BoundaryCondition const &bcEnd) const |
|
virtual std::vector< std::vector< T > > | getCoefficientsAlongDirection (const std::vector< T > &kappas, const TMatrix_t &Ainv, const std::vector< T > &fcnList, BoundaryCondition const &bcBegin, BoundaryCondition const &bcEnd, const Int_t pickBin) const |
|
virtual std::vector< T > | getCoefficients (const TVector_t &S, const std::vector< T > &kappas, const std::vector< T > &fcnList, const Int_t &bin) const |
|
virtual T | evalSplineSegment (const std::vector< T > &coefs, const T &kappa, const T &tup, const T &tdn, Bool_t doIntegrate=false) const |
|
Definition at line 12 of file MELANCSpline_1D_fast.h.
◆ MELANCSpline_1D_fast() [1/4]
MELANCSpline_1D_fast::MELANCSpline_1D_fast |
( |
| ) |
|
◆ MELANCSpline_1D_fast() [2/4]
MELANCSpline_1D_fast::MELANCSpline_1D_fast |
( |
const char * |
name, |
|
|
const char * |
title |
|
) |
| |
◆ MELANCSpline_1D_fast() [3/4]
Definition at line 28 of file MELANCSpline_1D_fast.cc.
40 MELANCSplineCore(name, title, inXVar, inXList, inUseFloor, inFloorEval, inFloorInt),
50 for (
int i=0; i<npoints; i++){
for (
int j=0; j<npoints; j++){ xAtrans[i][j]=xA.at(i).at(j); } }
54 coutE(InputArguments) <<
"MELANCSpline_1D::interpolateFcn: Matrix xA could not be inverted. Something is wrong with the x coordinates of points!" << endl;
◆ MELANCSpline_1D_fast() [4/4]
MELANCSpline_1D_fast::MELANCSpline_1D_fast |
( |
const MELANCSpline_1D_fast & |
other, |
|
|
const char * |
name = 0 |
|
) |
| |
◆ ~MELANCSpline_1D_fast()
virtual MELANCSpline_1D_fast::~MELANCSpline_1D_fast |
( |
| ) |
|
|
inlinevirtual |
◆ analyticalIntegral()
Double_t MELANCSpline_1D_fast::analyticalIntegral |
( |
Int_t |
code, |
|
|
const char * |
rangeName = 0 |
|
) |
| const |
|
virtual |
◆ clone()
virtual TObject* MELANCSpline_1D_fast::clone |
( |
const char * |
newname | ) |
const |
|
inlinevirtual |
◆ cropValueForRange()
void MELANCSpline_1D_fast::cropValueForRange |
( |
T & |
val, |
|
|
const Int_t |
whichDirection = 0 |
|
) |
| const |
|
protectedvirtual |
◆ emptyFcnList()
virtual void MELANCSpline_1D_fast::emptyFcnList |
( |
| ) |
|
|
inlineprotectedvirtual |
◆ evaluate()
Double_t MELANCSpline_1D_fast::evaluate |
( |
| ) |
const |
|
protectedvirtual |
Implements MELANCSplineCore.
Definition at line 170 of file MELANCSpline_1D_fast.cc.
177 cout <<
"MELANCSpline_1D_fast(" << GetName() <<
")::evaluate = " <<
value <<
" at x = " <<
theXVar << endl;
178 RooArgSet Xdeps;
theXVar.absArg()->leafNodeServerList(&Xdeps, 0,
true);
179 TIterator* iter = Xdeps.createIterator();
181 while ((var = (RooAbsArg*)iter->Next())){
182 cout << var->GetName() <<
" value = " <<
dynamic_cast<RooAbsReal*
>(var)->getVal() << endl;
◆ getAnalyticalIntegral()
Int_t MELANCSpline_1D_fast::getAnalyticalIntegral |
( |
RooArgSet & |
allVars, |
|
|
RooArgSet & |
analVars, |
|
|
const char * |
rangeName = 0 |
|
) |
| const |
|
virtual |
◆ getKappas()
void MELANCSpline_1D_fast::getKappas |
( |
std::vector< T > & |
kappas, |
|
|
const Int_t |
whichDirection |
|
) |
| |
|
protectedvirtual |
◆ getTVar()
MELANCSplineCore::T MELANCSpline_1D_fast::getTVar |
( |
const std::vector< T > & |
kappas, |
|
|
const T & |
val, |
|
|
const Int_t & |
bin, |
|
|
const Int_t |
whichDirection |
|
) |
| const |
|
protectedvirtual |
◆ getWhichBin()
Int_t MELANCSpline_1D_fast::getWhichBin |
( |
const T & |
val, |
|
|
const Int_t |
whichDirection |
|
) |
| const |
|
protectedvirtual |
Implements MELANCSplineCore.
Definition at line 143 of file MELANCSpline_1D_fast.cc.
147 vector<MELANCSplineCore::T>
const* coord;
151 if (npoints<=1) bin=0;
153 valjpo = coord->at(0);
154 for (Int_t j=0; j<npoints-1; j++){
156 valjpo = coord->at(j+1);
157 if (val<valjpo && val>=valj){ bin=j;
break; }
159 if (bin==-1 && val>=valjpo) bin=npoints-2;
160 else if (bin==-1) bin=0;
◆ interpolateFcn()
MELANCSplineCore::T MELANCSpline_1D_fast::interpolateFcn |
( |
Int_t |
code, |
|
|
const char * |
rangeName = 0 |
|
) |
| const |
|
protectedvirtual |
Implements MELANCSplineCore.
Definition at line 80 of file MELANCSpline_1D_fast.cc.
86 Int_t xbin=-1, xbinmin=-1, xbinmax=-1;
88 if (code==0 || code%2!=0){
103 for (
int ix=0; ix<nxbins; ix++){
105 (xbin>=0 && ix!=xbin)
107 (xbinmin>=0 && xbinmax>=xbinmin && !(xbinmin<=ix && ix<=xbinmax))
111 if (code>0 && code%2==0){
112 if (ix==xbinmin) txlow=txmin;
113 if (ix==xbinmax) txhigh=txmax;
◆ setRangeValidity()
void MELANCSpline_1D_fast::setRangeValidity |
( |
const T |
valmin, |
|
|
const T |
valmax, |
|
|
const Int_t |
whichDirection = 0 |
|
) |
| |
|
virtual |
◆ testRangeValidity()
Bool_t MELANCSpline_1D_fast::testRangeValidity |
( |
const T & |
val, |
|
|
const Int_t |
whichDirection = 0 |
|
) |
| const |
|
protectedvirtual |
◆ bcBeginX
◆ bcEndX
◆ coefficients
std::vector<std::vector<T> > MELANCSpline_1D_fast::coefficients |
|
protected |
◆ FcnList
std::vector<T> MELANCSpline_1D_fast::FcnList |
|
protected |
◆ kappaX
std::vector<T> MELANCSpline_1D_fast::kappaX |
|
protected |
The documentation for this class was generated from the following files: