27 #ifndef GLATPSFBASE_HPP
28 #define GLATPSFBASE_HPP
59 virtual void clear(
void) = 0;
61 virtual std::string
classname(
void)
const = 0;
64 virtual double psf(
const double& offset,
const double& logE,
65 const double& ctheta) = 0;
66 virtual int version(
void)
const = 0;
78 const bool&
front(
void)
const;
79 void front(
const bool& front);
virtual ~GLATPsfBase(void)
Destructor.
void read_scale(const GFitsTable &hdu)
Read PSF scale factors from FITS table.
virtual GLATPsfBase * clone(void) const =0
Clones object.
virtual double psf(const double &offset, const double &logE, const double &ctheta)=0
const double & scale_index(void) const
Return scaling index.
virtual std::string print(const GChatter &chatter=NORMAL) const =0
Print content of object.
const double & costhetamin(void) const
Return cosine theta minimum.
virtual void write(GFits &file) const =0
bool has_phi(void) const
Signal that point spread function has Phi dependence.
Definition of interface for all GammaLib classes.
Fermi-LAT response table class definition.
void copy_members(const GLATPsfBase &psf)
Copy class members.
const double & scale_par1(void) const
Return first scaling parameter.
int ncostheta(void) const
Return number of cosine theta bins in point spread function.
FITS file class interface definition.
virtual std::string classname(void) const =0
Return class name.
double m_scale_index
PSF scaling index.
double scale_factor(const double &energy) const
Return scale factor for energy (in MeV)
void write_scale(GFits &file) const
Write PSF scale factors.
void free_members(void)
Delete class members.
Abstract Fermi/LAT point spread function base class.
const int & nenergies(void) const
Return number of energies in response table.
bool m_front
PSF is for front section?
Interface class for all GammaLib classes.
Interface for the Fermi LAT Response table class.
const int & ncostheta(void) const
Return number of cosine theta bins in response table.
Abstract interface for FITS table.
GLATPsfBase(void)
Void constructor.
void init_members(void)
Initialise class members.
double m_min_ctheta
Minimum valid cos(theta)
GLATPsfBase & operator=(const GLATPsfBase &psf)
Assignment operator.
virtual int version(void) const =0
virtual void read(const GFitsTable &table)=0
GLATResponseTable m_rpsf_bins
PSF energy and cos theta binning.
int nenergies(void) const
Return number of energies in point spread function.
int size(void) const
Return number of bins in point spread function.
const double & scale_par2(void) const
Return second scaling parameter.
double m_scale_par1
PSF scaling parameter 1.
const bool & front(void) const
Signal that point spread function is for front section.
double m_scale_par2
PSF scaling parameter 2.
FITS table abstract base class interface definition.
virtual void clear(void)=0
Clear object.