GammaLib  1.7.0.dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GFunction Class Referenceabstract

Single parameter function abstract base class. More...

#include <GFunction.hpp>

Inheritance diagram for GFunction:
cta_irf_diffuse_kern_phi cta_irf_diffuse_kern_theta cta_irf_elliptical_kern_omega cta_irf_elliptical_kern_rho cta_irf_radial_kern_omega cta_irf_radial_kern_rho cta_npsf_kern_rad_azsym cta_nroi_diffuse_kern_phi cta_nroi_diffuse_kern_theta cta_nroi_elliptical_kern_omega cta_nroi_elliptical_kern_rho cta_nroi_kern cta_nroi_radial_kern_omega cta_nroi_radial_kern_rho cta_psf_diffuse_kern_delta cta_psf_diffuse_kern_phi cta_psf_elliptical_kern_omega cta_psf_elliptical_kern_rho cta_psf_radial_kern_delta cta_psf_radial_kern_omega cta_psf_radial_kern_phi cta_psf_radial_kern_rho GCOMD2Response::bkg_gauss_kernel GCOMD2Response::kn_gauss_kernel GCOMIaq::response_kernel GCOMIaq::smearing_kernel GCTABackgroundPerfTable::integrand GCTAEdisp2D::edisp_ereco_kern GCTAModelAeffBackground::npred_roi_kern_phi GCTAModelAeffBackground::npred_roi_kern_theta GCTAModelIrfBackground::npred_roi_kern_phi GCTAModelIrfBackground::npred_roi_kern_theta GCTAModelRadialAcceptance::roi_kern GCTAModelRadialGauss::integrand GCTAModelRadialPolynom::integrand GCTAModelRadialProfile::integrand GCTAModelSpatial::npred_roi_kern_phi GCTAModelSpatial::npred_roi_kern_theta GLATPsfV1::base_integrand GLATPsfV3::base_integrand GModelSpatial::circle_int_kern_omega GModelSpatial::circle_int_kern_rho GModelSpatialRadialProfileDMBurkert::halo_kernel_los GModelSpatialRadialProfileDMEinasto::halo_kernel_los GModelSpatialRadialProfileDMZhao::halo_kernel_los GModelSpectralExpInvPlaw::eflux_kernel GModelSpectralExpInvPlaw::flux_kernel GModelSpectralExponential::flux_kern GModelSpectralExpPlaw::eflux_kernel GModelSpectralExpPlaw::flux_kernel GModelSpectralGauss::eflux_kernel GModelSpectralLogParabola::flux_kern GModelSpectralMultiplicative::flux_kern GModelSpectralSmoothBrokenPlaw::flux_kern GModelSpectralSuperExpPlaw::eflux_kernel GModelSpectralSuperExpPlaw::flux_kernel GObservation::model_func GObservation::npred_func GObservation::npred_kern GObservation::npred_spec_kern GResponse::edisp_kern

Public Member Functions

 GFunction (void)
 Void constructor. More...
 
 GFunction (const GFunction &function)
 Copy constructor. More...
 
virtual ~GFunction (void)
 Destructor. More...
 
GFunctionoperator= (const GFunction &function)
 Assignment operator. More...
 
virtual double eval (const double &x)=0
 

Protected Member Functions

void init_members (void)
 Initialise class members. More...
 
void copy_members (const GFunction &function)
 Copy class members. More...
 
void free_members (void)
 Delete class members. More...
 

Detailed Description

Single parameter function abstract base class.

This class implements the abstract interface for a one parameter function. This function is for example used for integration or numerical computation of derivatives. This class has no members. The only pure virtual method that needs to be implemented by the derived class is the eval() method that provides function evaluation at a given value x, e.g. y=eval(x).

Definition at line 44 of file GFunction.hpp.

Constructor & Destructor Documentation

GFunction::GFunction ( void  )

Void constructor.

Definition at line 48 of file GFunction.cpp.

References init_members().

GFunction::GFunction ( const GFunction function)

Copy constructor.

Parameters
[in]functionFunction.

Definition at line 63 of file GFunction.cpp.

References copy_members(), and init_members().

GFunction::~GFunction ( void  )
virtual

Destructor.

Definition at line 79 of file GFunction.cpp.

References free_members().

Member Function Documentation

void GFunction::copy_members ( const GFunction function)
protected

Copy class members.

Parameters
[in]functionFunction.

Definition at line 149 of file GFunction.cpp.

Referenced by GFunction(), and operator=().

virtual double GFunction::eval ( const double &  x)
pure virtual

Implemented in cta_psf_diffuse_kern_phi, cta_psf_diffuse_kern_delta, cta_psf_elliptical_kern_omega, cta_psf_elliptical_kern_rho, cta_psf_radial_kern_phi, cta_psf_radial_kern_delta, cta_psf_radial_kern_omega, cta_psf_radial_kern_rho, cta_nroi_diffuse_kern_phi, cta_nroi_diffuse_kern_theta, cta_irf_diffuse_kern_phi, cta_irf_diffuse_kern_theta, cta_nroi_elliptical_kern_omega, cta_nroi_elliptical_kern_rho, cta_irf_elliptical_kern_omega, cta_irf_elliptical_kern_rho, cta_nroi_radial_kern_omega, cta_nroi_radial_kern_rho, cta_irf_radial_kern_omega, GCTAEdisp2D::edisp_ereco_kern, cta_irf_radial_kern_rho, GObservation::npred_func, GModelSpectralSmoothBrokenPlaw::eflux_kern, GObservation::npred_spec_kern, GObservation::npred_kern, GModelSpatial::circle_int_kern_omega, GModelSpectralSuperExpPlaw::eflux_kernel, GModelSpectralLogParabola::eflux_kern, GModelSpectralSmoothBrokenPlaw::flux_kern, GModelSpectralExpInvPlaw::eflux_kernel, GObservation::model_func, GModelSpectralExpPlaw::eflux_kernel, GCOMIaq::smearing_kernel, GModelSpatial::circle_int_kern_rho, GModelSpectralSuperExpPlaw::flux_kernel, GModelSpectralExpInvPlaw::flux_kernel, GModelSpectralLogParabola::flux_kern, GCTAModelSpatial::npred_roi_kern_phi, cta_nroi_kern, GModelSpectralExpPlaw::flux_kernel, GResponse::edisp_kern, GModelSpectralMultiplicative::eflux_kern, GCTAModelAeffBackground::npred_roi_kern_phi, GCTAModelIrfBackground::npred_roi_kern_phi, GCOMIaq::response_kernel, GModelSpectralExponential::eflux_kern, GCOMD2Response::bkg_gauss_kernel, GModelSpectralGauss::eflux_kernel, GCTAModelSpatial::npred_roi_kern_theta, GCTAModelRadialAcceptance::roi_kern, GModelSpatialRadialProfileDMZhao::halo_kernel_los, GCTAModelAeffBackground::npred_roi_kern_theta, GCTAModelRadialProfile::integrand, GModelSpatialRadialProfileDMEinasto::halo_kernel_los, GModelSpectralMultiplicative::flux_kern, GModelSpectralExponential::flux_kern, GCOMD2Response::kn_gauss_kernel, GCTAModelIrfBackground::npred_roi_kern_theta, GCTAModelRadialPolynom::integrand, GModelSpatialRadialProfileDMBurkert::halo_kernel_los, GCTAModelRadialGauss::integrand, GCTABackgroundPerfTable::integrand, cta_npsf_kern_rad_azsym, GLATPsfV3::base_integrand, and GLATPsfV1::base_integrand.

Referenced by GIntegral::adaptive_simpson(), GIntegral::adaptive_simpson_aux(), GDerivative::difference(), GIntegral::gauss_kronrod(), GDerivative::left_difference(), GDerivative::minuit2(), GDerivative::ridder(), GDerivative::right_difference(), GDerivative::smooth_robust(), and GIntegral::trapzd().

void GFunction::free_members ( void  )
protected

Delete class members.

Definition at line 159 of file GFunction.cpp.

Referenced by operator=(), and ~GFunction().

void GFunction::init_members ( void  )
protected

Initialise class members.

Definition at line 137 of file GFunction.cpp.

Referenced by GFunction(), and operator=().

GFunction & GFunction::operator= ( const GFunction function)

Assignment operator.

Parameters
[in]functionFunction.
Returns
Functions.

Definition at line 101 of file GFunction.cpp.

References copy_members(), free_members(), and init_members().


The documentation for this class was generated from the following files: