27#ifndef GCTACUBEPSF_HPP
28#define GCTACUBEPSF_HPP
71 const double& dmax,
const int& ndbins);
73 const std::string& coords,
101 int offset(
const int& idelta,
const int& iebin)
const;
106 const bool& clobber =
false)
const;
118 void update(
const double& delta,
const double& logE)
const;
153 return (
"GCTACubePsf");
Definition of interface for all GammaLib classes.
Energy container class definition.
FITS file class interface definition.
Mathematical function definitions.
Node array class interface definition.
Sky map class definition.
GVector log(const GVector &vector)
Computes natural logarithm of vector elements.
Interface class for all GammaLib classes.
CTA point spread function for cube analysis.
int m_inx2
Index of lower left node.
GNodeArray m_deltas
Delta bins (deg) for the PSF cube.
void read(const GFits &fits)
Read PSF cube from FITS object.
void set(const GCTAObservation &obs)
Set PSF cube from one CTA observation.
int offset(const int &idelta, const int &iebin) const
Return map offset.
void write(GFits &file) const
Write CTA PSF cube into FITS object.
double delta_max(void) const
Return maximum delta value in radians.
int m_inx1
Index of upper left node.
GCTACubePsf * clone(void) const
Clone instance.
double m_wgt1
Weight of upper left node.
bool m_quadratic_binning
Internal binning is linear.
GEnergies m_energies
Energy values for the PSF cube.
const GNodeArray & deltas(void) const
Return offset angles between true and measured photon direction.
void fill(const GObservations &obs, GLog *log=NULL)
Fill PSF cube from observation container.
std::string print(const GChatter &chatter=NORMAL) const
Print PSF cube information.
std::string classname(void) const
Return class name.
void save(const GFilename &filename, const bool &clobber=false) const
Save PSF cube into FITS file.
double m_wgt3
Weight of upper right node.
int m_inx4
Index of lower right node.
void update(const double &delta, const double &logE) const
Update PSF parameter cache.
void fill_cube(const GCTAObservation &obs, GSkyMap *exposure=NULL, GLog *log=NULL)
Fill PSF cube for one observation.
void load(const GFilename &filename)
Load PSF cube from FITS file.
void set_delta_axis(void)
Set nodes for delta axis in radians.
void copy_members(const GCTACubePsf &cube)
Copy class members.
void init_members(void)
Initialise class members.
int m_inx3
Index of upper right node.
GFilename m_filename
Filename.
void clear_cube(void)
Clear all pixels in the PSF cube.
GCTACubePsf & operator=(const GCTACubePsf &cube)
Assignment operator.
void set_eng_axis(void)
Set nodes for a logarithmic (base 10) energy axis.
void free_members(void)
Delete class members.
const GFilename & filename(void) const
Return exposure cube filename.
GNodeArray m_elogmeans
Mean log10TeV energy for the PSF cube.
double operator()(const GSkyDir &dir, const double &delta, const GEnergy &energy) const
Return point spread function (in units of sr )
virtual ~GCTACubePsf(void)
Destructor.
double m_wgt2
Weight of lower left node.
GNodeArray m_deltas_cache
Internal delta bins (rad)
void set_to_smooth(void)
Pad the last delta bins with zero.
GCTACubePsf(void)
Void constructor.
void clear(void)
Clear instance.
const GSkyMap & cube(void) const
Return psf cube sky map.
double m_wgt4
Weight of lower right node.
const GEnergies & energies(void) const
Return energies.
CTA event bin container class.
Class that handles energies in a unit independent way.
Information logger interface definition.
int size(void) const
Return number of nodes in node array.
Observation container class.
const std::string extname_deltas