27#ifndef GCTACUBEEXPOSURE_HPP
28#define GCTACUBEEXPOSURE_HPP
65 const std::string& coords,
89 const double&
ontime(
void)
const;
90 double deadc(
void)
const;
95 const bool& clobber =
false)
const;
105 void update(
const double& logE)
const;
137 return (
"GCTACubeExposure");
Definition of interface for all GammaLib classes.
Energy container class definition.
Filename class interface definition.
Good time interval class interface definition.
Node array class interface definition.
Sky map class definition.
GVector log(const GVector &vector)
Computes natural logarithm of vector elements.
GVector exp(const GVector &vector)
Computes exponential of vector elements.
Interface class for all GammaLib classes.
void set(const GCTAObservation &obs)
Set exposure cube for one CTA observation.
void read(const GFits &fits)
Read exposure cube from FITS object.
const GEnergies & energies(void) const
Return energies.
void free_members(void)
Delete class members.
GNodeArray m_elogmeans
Mean energy for the Exposure cube.
GSkyMap m_cube
Average Exposure cube.
virtual ~GCTACubeExposure(void)
Destructor.
int m_inx_right
Index of right node.
GCTACubeExposure * clone(void) const
Clone exposure cube.
std::string classname(void) const
Return class name.
GCTACubeExposure(void)
Void constructor.
GCTACubeExposure & operator=(const GCTACubeExposure &exp)
Assignment operator.
GGti m_gti
Good time interval for the Exposure cube.
int m_inx_left
Index of left node.
const double & ontime(void) const
Return ontime.
const GGti & gti(void) const
Return Good Time Intervals.
double m_wgt_right
Weight of right node.
GEnergies m_energies
Energy values for the Exposure cube.
void copy_members(const GCTACubeExposure &exp)
Copy class members.
void fill_cube(const GCTAObservation &obs, GLog *log=NULL)
Fill exposure cube for one observation.
void init_members(void)
Initialise class members.
std::string print(const GChatter &chatter=NORMAL) const
Print exposure cube information.
void write(GFits &file) const
Write CTA exposure cube into FITS file.
void save(const GFilename &filename, const bool &clobber=false) const
Save exposure cube into FITS file.
void update(const double &logE) const
Update 1D cache.
void set_eng_axis(void)
Set nodes for a logarithmic (base 10) energy axis.
GFilename m_filename
Filename.
const GSkyMap & cube(void) const
Return exposure cube.
void clear(void)
Clear instance.
void fill(const GObservations &obs, GLog *log=NULL)
Fill exposure cube from observation container.
void load(const GFilename &filename)
Load exposure cube from FITS file.
const GFilename & filename(void) const
Return exposure cube filename.
void read_attributes(const GFitsHDU &hdu)
Read exposure attributes.
double m_wgt_left
Weight of left node.
double deadc(void) const
Return deadtime correction.
const double & livetime(void) const
Return livetime.
double operator()(const GSkyDir &dir, const GEnergy &energy) const
Return exposure (in units of cm**2 s)
double m_livetime
Livetime (sec)
void write_attributes(GFitsHDU &hdu) const
Write attributes to exposure extension.
CTA event bin container class.
Class that handles energies in a unit independent way.
Abstract FITS extension base class.
Good Time Interval class.
const double & ontime(void) const
Returns ontime.
Information logger interface definition.
Observation container class.