27 #ifndef GCTAPsfKing_HPP
28 #define GCTAPsfKing_HPP
67 const double& theta = 0.0,
68 const double& phi = 0.0,
69 const double& zenith = 0.0,
70 const double& azimuth = 0.0,
71 const bool& etrue =
true)
const;
81 const double& theta = 0.0,
82 const double& phi = 0.0,
83 const double& zenith = 0.0,
84 const double& azimuth = 0.0,
85 const bool& etrue =
true)
const;
87 const double& theta = 0.0,
88 const double& phi = 0.0,
89 const double& zenith = 0.0,
90 const double& azimuth = 0.0,
91 const bool& etrue =
true)
const;
94 const double& theta = 0.0,
95 const double& phi = 0.0,
96 const double& zenith = 0.0,
97 const double& azimuth = 0.0,
98 const bool& etrue =
true)
const;
108 const bool& clobber =
false)
const;
117 void update(
const double& logE,
const double& theta)
const;
118 double r_max(
const double& logE,
const double& theta)
const;
147 return (
"GCTAPsfKing");
double containment_radius(const double &fraction, const double &logE, const double &theta=0.0, const double &phi=0.0, const double &zenith=0.0, const double &azimuth=0.0, const bool &etrue=true) const
Return the radius that contains a fraction of the events (radians)
void init_members(void)
Initialise class members.
GCTAPsfKing(void)
Void constructor.
GCTAPsfKing * clone(void) const
Clone point spread functions.
const GCTAResponseTable & table(void) const
Return response table.
void load(const GFilename &filename)
Load point spread function from FITS file.
double m_par_rmax
Maximum PSF radius.
Abstract base class for the CTA point spread function.
CTA point spread function class with a King profile.
Random number generator class.
double mc(GRan &ran, const double &logE, const double &theta=0.0, const double &phi=0.0, const double &zenith=0.0, const double &azimuth=0.0, const bool &etrue=true) const
Simulate PSF offset (radians)
void read(const GFitsTable &table)
Read point spread function from FITS table.
GFilename filename(void) const
Return filename.
double delta_max(const double &logE, const double &theta=0.0, const double &phi=0.0, const double &zenith=0.0, const double &azimuth=0.0, const bool &etrue=true) const
Return maximum size of PSF (radians)
GCTAResponseTable m_psf
PSF response table.
CTA response table class definition.
void clear(void)
Clear point spread function.
std::string classname(void) const
Return class name.
const std::string extname_cta_psfking
double operator()(const double &delta, const double &logE, const double &theta=0.0, const double &phi=0.0, const double &zenith=0.0, const double &azimuth=0.0, const bool &etrue=true) const
Return point spread function (in units of sr^-1)
double r_max(const double &logE, const double &theta) const
Return maximum size of PSF (radians)
Abstract interface for FITS table.
void copy_members(const GCTAPsfKing &psf)
Copy class members.
void write(GFitsBinTable &table) const
Write point spread function into FITS table.
GCTAPsfKing & operator=(const GCTAPsfKing &psf)
Assignment operator.
GFilename m_filename
Name of Aeff response file.
void save(const GFilename &filename, const bool &clobber=false) const
Save point spread function table into FITS file.
int m_inx_energy
Energy index.
CTA point spread function base class definition.
double m_par_sigma
King profile sigma (radians)
double m_par_sigma2
King profile sigma squared.
double m_par_norm
King profile normalization.
void free_members(void)
Delete class members.
std::string print(const GChatter &chatter=NORMAL) const
Print point spread function information.
virtual ~GCTAPsfKing(void)
Destructor.
double m_par_theta
Cache offset angle.
void update(const double &logE, const double &theta) const
Update PSF parameter cache.
CTA response table class.
double m_par_gamma
King profile gamma parameter.
double m_par_logE
Cache energy.
int m_inx_theta
Theta index.
Filename class interface definition.