42#define G_READ "GLATPsf::read(GFits&)"
43#define G_WRITE "GLATPsf::write(GFits&)"
178 const double& ctheta)
181 double psf = (
m_psf != NULL) ?
m_psf->
psf(offset, logE, ctheta) : 0.0;
234 GFits fits(filename);
261 fits.
saveto(filename, clobber);
293 std::string rpsf =
"RPSF";
294 std::string scaling =
"PSF_SCALING_PARAMS";
315 if (detnam ==
"FRONT") {
318 else if (detnam ==
"BACK") {
335 std::string msg =
"Unsupported response function version "+
337 "version 1 or 3 point spread function.";
510 result.append(
"=== GLATPsf ===");
515 result.append(
"No PSF loaded");
525 result.append(
"sqrt(");
569 if (psf.
m_psf != NULL) {
Exception handler interface definition.
Filename class interface definition.
FITS binary table class definition.
FITS table float column class interface definition.
FITS file class interface definition.
Fermi/LAT point spread function version 1 class definition.
Fermi/LAT point spread function version 3 class definition.
Fermi LAT point spread function class definition.
bool has_card(const int &cardno) const
Check existence of header card.
std::string string(const std::string &keyname) const
Return card value as string.
int integer(const std::string &keyname) const
Return card value as integer.
Abstract interface for FITS table.
void saveto(const GFilename &filename, const bool &clobber=false)
Saves to specified FITS file.
bool contains(const int &extno) const
Check if HDU exists in FITS file.
GFitsTable * table(const int &extno)
Get pointer to table HDU.
virtual GLATPsfBase * clone(void) const =0
Clones object.
virtual void read(const GFitsTable &table)=0
void write_scale(GFits &file) const
Write PSF scale factors.
const double & scale_par1(void) const
Return first scaling parameter.
virtual double psf(const double &offset, const double &logE, const double &ctheta)=0
const double & scale_index(void) const
Return scaling index.
virtual void write(GFits &file) const =0
const bool & front(void) const
Signal that point spread function is for front section.
const double & scale_par2(void) const
Return second scaling parameter.
int nenergies(void) const
Return number of energies in point spread function.
const double & costhetamin(void) const
Return cosine theta minimum.
virtual int version(void) const =0
void read_scale(const GFitsTable &hdu)
Read PSF scale factors from FITS table.
int ncostheta(void) const
Return number of cosine theta bins in point spread function.
Fermi/LAT point spread function version 1 class.
Fermi/LAT point spread function version 3 class.
Interface for the Fermi LAT point spread function.
GLATPsfBase * m_psf
Pointer to versioned point spread function.
GLATPsf & operator=(const GLATPsf &psf)
Assignment operator.
double costhetamin(void) const
Returns minimum cos(theta) angle.
double operator()(const double &offset, const double &logE, const double &ctheta)
Return point spread function value.
void free_members(void)
Delete class members.
const std::string & evtype(void) const
Return event type.
std::string print(const GChatter &chatter=NORMAL) const
Print point spread function information.
void write(GFits &file) const
Write point spread function into FITS file.
void copy_members(const GLATPsf &psf)
Copy class members.
std::string m_evtype
Event type.
GLATPsf * clone(void) const
Clone instance.
void save(const GFilename &filename, const bool &clobber=false)
Save point spread function into FITS file.
void init_members(void)
Initialise class members.
int nenergies(void) const
Returns number of energy bins in PSF.
GLATPsf(void)
Void constructor.
virtual ~GLATPsf(void)
Destructor.
int version(void) const
Returns PSF version.
int ncostheta(void) const
Returns number of cos(theta) bins in PSF.
void clear(void)
Clear instance.
void load(const GFilename &filename, const std::string &evtype)
Load point spread function from FITS file.
void read(const GFits &file, const std::string &evtype)
Read point spread function from FITS file.
int size(void) const
Returns size of PSF.
std::string parformat(const std::string &s, const int &indent=0)
Convert string in parameter format.
std::string str(const unsigned short int &value)
Convert unsigned short integer value into string.
std::string strip_whitespace(const std::string &arg)
Strip leading and trailing whitespace from string.
std::string toupper(const std::string &s)
Convert string to upper case.