18 #ifndef ROOT_TF1Convolution__ 19 #define ROOT_TF1Convolution__
static double p3(double t, double a, double b, double c, double d)
const char * GetParName(Int_t ipar) const
std::shared_ptr< TGraph > fGraphConv
std::vector< Double_t > fParams2
Class wrapping convolution of two functions.
static double p2(double t, double a, double b, double c)
void MakeFFTConv()
perform the FFT of the two functions
void InitializeDataMembers(TF1 *function1, TF1 *function2, Bool_t useFFT)
use copy instead of Clone
void SetRange(Double_t a, Double_t b)
Double_t EvalNumConv(Double_t t)
perform numerical convolution could in principle cache the integral in a Graph as it is done for the ...
void SetNofPointsFFT(Int_t n)
static double p1(double t, double a, double b)
TF1Convolution(TF1 *function1, TF1 *function2, Bool_t useFFT=true)
constructor from the two function pointer and a flag is using FFT
std::shared_ptr< TF1 > fFunction2
Double_t operator()(Double_t *t, Double_t *p)
std::shared_ptr< TF1 > fFunction1
void SetParameters(Double_t *p)
Double_t EvalFFTConv(Double_t t)
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
std::vector< TString > fParNames
void SetNumConv(Bool_t flag=true)
std::vector< Double_t > fParams1
void SetExtraRange(Double_t percentage)