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