78         Error(
"InitializeDataMembers",
"function1 %s is not of dimension 1 ",
function1->GetName());
 
   86         Error(
"InitializeDataMembers",
"function2 %s is not of dimension 1 ",
function2->GetName());
 
   92      Fatal(
"InitializeDataMembers",
"Invalid functions - Abort");
 
 
  161      Info(
"TF1Convolution", 
"Using default range [-inf, inf] for TF1Convolution");
 
 
  176   for (
int i=0; i<2; i++)
 
  184         if (!
f->GetFormula()->IsValid() )
 
  198      Info(
"TF1Convolution", 
"Using default range [-inf, inf] for TF1Convolution");
 
 
  220         Error(
"TF1Convolution",
"Invalid formula for : %s",
formula1.Data() );
 
  225         Error(
"TF1Convolution",
"Invalid formula for : %s",
formula2.Data() );
 
  233      Info(
"TF1Convolution", 
"Using default range [-inf, inf] for TF1Convolution");
 
 
  243   conv.TF1Convolution::Copy(*
this);
 
 
  252      rhs.TF1Convolution::Copy(*
this);
 
 
  270   if (
fft1 == 
nullptr || 
fft2 == 
nullptr) {
 
  271      Warning(
"MakeFFTConv",
"Cannot use FFT, probably FFTW package is not available. Switch to numerical convolution");
 
 
  455      Warning(
"SetRange", 
"Invalid range: %f >= %f", 
a, 
b);
 
  463      Warning(
"TF1Convolution::SetRange()",
"In FFT mode, range can not be infinite. Infinity has been replaced by range of first function plus a bufferzone to avoid spillover.");
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
 
Option_t Option_t TPoint TPoint const char x2
 
static IntegrationOneDim::Type DefaultIntegratorType()
 
User Class for performing numerical integration of a function in one dimension.
 
double IntegralUp(const IGenFunction &f, double a)
evaluate the Integral of a function f over the semi-infinite interval (a,+inf)
 
double Integral(Function &f, double a, double b)
evaluate the Integral of a function f over the defined interval (a,b)
 
double IntegralLow(const IGenFunction &f, double b)
evaluate the Integral of a function f over the over the semi-infinite interval (-inf,...
 
TF1Convolution_EvalWrapper(TF1 &f1, TF1 &f2, Double_t t)
 
Double_t operator()(Double_t x) const
 
Class wrapping convolution of two functions.
 
std::vector< Double_t > fParams1
 
Double_t operator()(const Double_t *x, const Double_t *p) override
Used in TF1 when doing the fit, will be evaluated at each point.
 
void SetParameters(const Double_t *params) override
Set the vector of parameters p for the convolution function g(x,p) = f1 * f2.
 
Int_t fCstIndex
Index of the constant parameter f the first function.
 
void GetRange(Double_t &a, Double_t &b) const
Get the range used for the convolution.
 
std::vector< TString > fParNames
Parameters' names.
 
std::unique_ptr< TF1 > fFunction1
First function to be convolved.
 
Int_t fNofPoints
Number of point for FFT array.
 
static Double_t SetDefaultExtraRange(Double_t percentage)
Set the default extra range fraction used when doing a FFT convolution.
 
std::vector< Double_t > fParams2
 
Double_t fXmin
Minimal bound of the range of the convolution.
 
void SetExtraRange(Double_t percentage)
Set the fraction of extra range used when doing an FFT convolution.
 
void Copy(TObject &obj) const override
Copy this to obj.
 
Double_t EvalNumConv(Double_t t)
Perform numerical convolution.
 
void Update() override
Update the two component functions of the convolution.
 
void SetRange(Double_t a, Double_t b) override
Set the actual range used for the convolution.
 
Bool_t fFlagFFT
Choose FFT or numerical convolution.
 
TF1Convolution & operator=(const TF1Convolution &rhs)
Operator =.
 
void MakeFFTConv()
Perform the FFT of the two functions.
 
static Double_t fgExtraRangeFraction
! Additional default fraction of the range used for FFT convolution
 
void SetNofPointsFFT(Int_t n)
Set the number of points used for the FFT convolution.
 
TF1Convolution()
constructor without arguments.
 
const char * GetParName(Int_t ipar) const
 
Double_t EvalFFTConv(Double_t t)
Perform FFT convolution.
 
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)
Internal function to initialize data members.
 
std::unique_ptr< TGraph > fGraphConv
! Graph of the convolution
 
static void InitStandardFunctions()
Create the basic function objects.
 
virtual Double_t EvalPar(const Double_t *x, const Double_t *params=nullptr)
Evaluate function with given coordinates and parameters.
 
@ kIsSortedX
Graph is sorted in X points.
 
Collectable string class.
 
Mother of all ROOT objects.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
TVirtualFFT is an interface class for Fast Fourier Transforms.
 
static TVirtualFFT * FFT(Int_t ndim, Int_t *n, Option_t *option)
Returns a pointer to the FFT of requested size and type.
 
Double_t Infinity()
Returns an infinity as defined by the IEEE standard.