#include "QSigExDisTF.h"
#include "debugger.h"
ClassImp(QSigExDisTF)
QSigExTFOps QSigExDisTF::fQSigExTFOps;
Double_t QSigExDisTF::ProbDensity(const Double_t &x,const Double_t &y,const Double_t &z) const
{
PRINTF2(this,"\tDouble_t QSigExDisTF::ProbDensity(const Double_t &x,const Double_t &y,const Double_t &z) const\n")
try{
fQSigExTFOps.SetTF(dynamic_cast<TF1*>(GetObject()));
return fQSigExTFOps.Freq(x,y,z);
} catch (Int_t i){
cout << "Exception handled by QSigExDisTF::ProbDensity\n";
throw i;
}
}
Double_t QSigExDisTF::Derivative(const Double_t &x) const
{
try{
fQSigExTFOps.SetTF(dynamic_cast<TF1*>(GetObject()));
return fQSigExTFOps.Derivative(x);
} catch (Int_t i){
cout << "Exception handled by QSigExDisTF::Derivative\n";
throw i;
}
}
void QSigExDisTF::Normalize(Option_t* cutexpr, Int_t normflags, Double_t* fullintegral, Double_t* cutintegral, Double_t* error)
{
PRINTF12(this,"\tvoid QDSigExisTF::Normalize(Option_t* cutexpr<",cutexpr,">, Int_t normflags<",normflags,">, Double_t* fullintegral<",fullintegral,">, Double_t* cutintegral<",cutintegral,">, Double_t* error<",error,">)\n")
try{
if(normflags){
cout << "Error: QSigExDisTF::Normalize: Unknown flag(s)\n";
throw 1;
}
TF1* obj=dynamic_cast<TF1*>(GetObject());
TString objformula=obj->GetExpFormula();
fQSigExTFOps.SetTF(dynamic_cast<TF1*>(GetObject()));
Double_t cutintbuf=fQSigExTFOps.LimIntegral(cutexpr,error);
if(fullintegral){
Double_t xmin,xmax,ymin,ymax,zmin,zmax;
obj->GetRange(xmin,ymin,zmin,xmax,ymax,zmax);
*fullintegral=fQSigExTFOps.LimIntegral(xmin,xmax,ymin,ymax,zmin,zmax);
}
if(cutintegral) *cutintegral=cutintbuf;
if (cutintbuf) {
TString newformula;
newformula="(";
newformula+=objformula;
newformula+=")/";
newformula+=cutintbuf;
obj->SetTitle(newformula);
obj->Compile();
}
} catch (Int_t e){
cout << "Exception handled by QSigExDisTF::Normalize\n";
throw e;
}
}
#include "debugger.h"
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.