GET library
GETSignalFunctions.cpp File Reference

Functions

double GETConvolutionGSC (double t, double sig, double scw, double(*fct)(const double[], const double[]), const double pf[])
 
double GETConvolutionSinC (double t, double scw, double(*fct)(const double[], const double[]), const double pf[])
 
double GETGaus (double t, double srf, double ctr, double sig)
 
double GETGausSinC (double t, double srf, double ctr, double sig, double scw)
 
double GETSinC (double t, double srf, double ctr, double scw)
 
double GETSquare (double t, double srf, double ctr, double wid)
 
double GETSquareCurrent (const double x[], const double p[])
 
double GETSquareCurrent2 (const double x[], const double p[])
 
double GETSquareCurrent2Gaus (const double x[], const double p[])
 
double GETSquareCurrent2GSC (const double x[], const double p[])
 
double GETSquareCurrentGaus (const double x[], const double p[])
 
double GETSquareCurrentGSC (const double x[], const double p[])
 
double GETSquareGaus (double t, double srf, double ctr, double wid, double sig, double bg)
 
double GETSquareGSC (double t, double srf, double ctr, double wid, double sig, double scw, double bg)
 
double GETSquareSinC (double t, double srf, double ctr, double wid, double scw, double bg)
 

Variables

u_int getGSCConvPoints = 1000
 
double getGSCConvWidth = 10.
 
u_int getIntegPoints = 1000
 
double getIntegStep = 0.
 

Detailed Description

Source file for signal analysis functions.

Function Documentation

double GETConvolutionGSC ( double  t,
double  sig,
double  scw,
double(*)(const double[], const double[])  fct,
const double  pf[] 
)

Function computing the convolution of a user function with the GETGausSinC function.

Parameters
tpoint to compute
sigsigma of the convolution gaus function
scwsine cardinal dilatation factor
fctuser function pointer
pfparameters of the user function

References GETGausSinC(), getGSCConvPoints, and getGSCConvWidth.

Referenced by GETSquareCurrent2GSC(), and GETSquareCurrentGSC().

double GETConvolutionSinC ( double  t,
double  scw,
double(*)(const double[], const double[])  fct,
const double  pf[] 
)

Function computing the convolution of a user function with the GETGausSinC function.

Parameters
tpoint to compute
scwsine cardinal dilatation factor
fctuser function pointer
pfparameters of the user function

References getGSCConvPoints, getGSCConvWidth, and GETSinC().

double GETGaus ( double  t,
double  srf,
double  ctr,
double  sig 
)

Gaus function with integral parameter.

Parameters
tpoint to compute
srfintegral (1 for normalized function)
ctrcenter
sigsigma

References GET_SQRT_2PI.

Referenced by GETGaus().

double GETGausSinC ( double  t,
double  srf,
double  ctr,
double  sig,
double  scw 
)

Product of a Gaus function with sinc function: G(x) * sin(x/w) / (x/w).

Parameters
tpoint to compute
srfintegral (1 for normalized function)
ctrcenter
sigsigma
scwsine cardinal dilatation factor

Referenced by GETConvolutionGSC(), GETGausSinC(), and GETSquareGSC().

double GETSinC ( double  t,
double  srf,
double  ctr,
double  scw 
)

Sinc function with integral parameter:

\[ \frac{srf}{scw} \cdot \frac{\sin\left(\pi\cdot (t-ctr) / scw\right)}{\pi\cdot (t-ctr) / scw} \]

Parameters
tpoint to compute
srfintegral (1 for normalized function)
ctrcenter
scwscale factor

Referenced by GETConvolutionSinC(), GETSinC(), and GETSquareSinC().

double GETSquare ( double  t,
double  srf,
double  ctr,
double  wid 
)

Function for a square current distribution.

Parameters
tpoint to compute
srfintegral (1 for normalized function)
ctrcenter
widwidth of the square current

Referenced by GETSquare().

double GETSquareCurrent ( const double  x[],
const double  p[] 
)

Function for a square current distribution.

  • p[0] total charge: time width multiplied by the current value
  • p[1] start time
  • p[2] width of the square current
    Parameters
    xcoordinates array (only 1 used)
    pparameters array

Referenced by GETSquareCurrent2GSC(), and GETSquareCurrentGSC().

double GETSquareCurrent2 ( const double  x[],
const double  p[] 
)

Function for a square current distribution.

  • p[0] total charge: time width multiplied by the current value
  • p[1] distribution center time
  • p[2] width of the square current
    Parameters
    xcoordinates array (only 1 used)
    pparameters array
double GETSquareCurrent2Gaus ( const double  x[],
const double  p[] 
)

Function for a square current distribution, convoluted with a gaus function (smoothing).

  • p[0] total charge: time width multiplied by the current value
  • p[1] distribution center time
  • p[2] width of the square current
  • p[3] sigma of the convolution gaus function
  • p[4] offset (background)
    Parameters
    xcoordinates array (only 1 used)
    pparameters array
double GETSquareCurrent2GSC ( const double  x[],
const double  p[] 
)

Function for a square current distribution, convoluted with a gaus function (smoothing).

  • p[0] total charge: time width multiplied by the current value
  • p[1] distribution center time
  • p[2] width of the square current
  • p[3] sigma of the convolution gaus function
  • p[4] sinc coordinate factor
  • p[5] offset (background)
    Parameters
    xcoordinates array (only 1 used)
    pparameters array

References GETConvolutionGSC(), and GETSquareCurrent().

double GETSquareCurrentGaus ( const double  x[],
const double  p[] 
)

Function for a square current distribution, convoluted with a gaus function (smoothing).

  • p[0] total charge: time width multiplied by the current value
  • p[1] start time
  • p[2] width of the square current
  • p[3] sigma of the convolution gaus function
  • p[4] offset (background)
    Parameters
    xcoordinates array (only 1 used)
    pparameters array
double GETSquareCurrentGSC ( const double  x[],
const double  p[] 
)

Function for a square current distribution, convoluted with a gaus function (smoothing).

  • p[0] total charge: time width multiplied by the current value
  • p[1] start time
  • p[2] width of the square current
  • p[3] sigma of the convolution gaus function
  • p[4] sinc coordinate factor
  • p[5] offset (background)
    Parameters
    xcoordinates array (only 1 used)
    pparameters array

References GETConvolutionGSC(), and GETSquareCurrent().

double GETSquareGaus ( double  t,
double  srf,
double  ctr,
double  wid,
double  sig,
double  bg 
)

Function for a square current distribution, convoluted with a gaus function (smoothing).

Parameters
tpoint to compute
srftotal charge: time width multiplied by the current value
ctrdistribution center time
widwidth of the square current
sigsigma of the convolution gaus function
bgoffset (background)

Referenced by GETSquareGaus(), and GETSystemAnalyser::GETSystemAnalyser().

double GETSquareGSC ( double  t,
double  srf,
double  ctr,
double  wid,
double  sig,
double  scw,
double  bg 
)

Function for a square current distribution, convoluted with a Gaus x SinC function.

Parameters
tpoint to compute
srftotal charge: time width multiplied by the current value
ctrdistribution center time
widwidth of the square current
sigsigma of the convolution gaus function
scwsinc coordinate factor
bgoffset (background)

References GETGausSinC(), getIntegPoints, and getIntegStep.

Referenced by GETSquareGSC(), and GETSystemAnalyser::GETSystemAnalyser().

double GETSquareSinC ( double  t,
double  srf,
double  ctr,
double  wid,
double  scw,
double  bg 
)

Function for a square current distribution, convoluted with a SinC function.

Parameters
tpoint to compute
srftotal charge: time width multiplied by the current value
ctrdistribution center time
widwidth of the square current
scwsinc coordinate factor
bgoffset (background)

References getIntegPoints, getIntegStep, and GETSinC().

Referenced by GETSquareSinC().

Variable Documentation

u_int getGSCConvPoints = 1000

number of points for convolution with GETGausSinC function.

Referenced by GETConvolutionGSC(), and GETConvolutionSinC().

double getGSCConvWidth = 10.

integration size for convolution with GETGausSinC function (in units of sigma).

Referenced by GETConvolutionGSC(), and GETConvolutionSinC().

u_int getIntegPoints = 1000

global variable for integration step number.

Referenced by GETSystemAnalyser::ComputeAmplitudeData(), GETSquareGSC(), and GETSquareSinC().

double getIntegStep = 0.

global variable for integration step size (if step number is 0).

Referenced by GETSystemAnalyser::ComputeAmplitudeData(), GETSquareGSC(), and GETSquareSinC().