11#ifndef ROOT_TF1Convolution__ 
   12#define ROOT_TF1Convolution__ 
#define ClassDef(name, id)
 
Class wrapping convolution of two functions.
 
void SetNumConv(Bool_t flag=true)
 
std::vector< Double_t > fParams1
 
void Copy(TObject &obj) const
Copy this to obj.
 
Int_t fCstIndex
Index of the constant parameter f the first function.
 
void SetRange(Double_t a, Double_t b)
 
void GetRange(Double_t &a, Double_t &b) const
 
std::vector< TString > fParNames
Parameters' names.
 
virtual ~TF1Convolution()
 
std::unique_ptr< TF1 > fFunction1
First function to be convolved.
 
Int_t fNofPoints
Number of point for FFT array.
 
std::vector< Double_t > fParams2
 
Double_t fXmin
Minimal bound of the range of the convolution.
 
void SetExtraRange(Double_t percentage)
 
Double_t EvalNumConv(Double_t t)
Perform numerical convolution.
 
Bool_t fFlagFFT
Choose FFT or numerical convolution.
 
TF1Convolution & operator=(const TF1Convolution &rhs)
Operator =.
 
void MakeFFTConv()
Perform the FFT of the two functions.
 
Double_t operator()(const Double_t *x, const Double_t *p)
Used in TF1 when doing the fit, will be evaluated at each point.
 
void SetParameters(const Double_t *params)
 
void SetNofPointsFFT(Int_t n)
 
TF1Convolution()
constructor without arguments
 
const char * GetParName(Int_t ipar) const
 
Double_t EvalFFTConv(Double_t t)
 
Double_t fXmax
Maximal bound of the range of the convolution.
 
std::unique_ptr< TF1 > fFunction2
Second function to be convolved.
 
Bool_t fFlagGraph
! Tells if the graph is already done or not
 
void InitializeDataMembers(TF1 *function1, TF1 *function2, Bool_t useFFT)
Use copy instead of Clone.
 
void Update()
Update the two component functions of the convolution.
 
std::unique_ptr< TGraph > fGraphConv
! Graph of the convolution
 
Mother of all ROOT objects.