27 #ifndef GCTACUBEEDISP_HPP
28 #define GCTACUBEEDISP_HPP
73 const std::string& coords,
101 int offset(
const int& imigra,
const int& iebin)
const;
107 const bool& clobber =
false)
const;
121 void set_migras(
const double& mmax,
const int& nmbins);
153 return (
"GCTACubeEdisp");
const GFilename & filename(void) const
Return edisp cube filename.
int offset(const int &imigra, const int &iebin) const
Return map offset.
int size(void) const
Return number of nodes in node array.
std::string print(const GChatter &chatter=NORMAL) const
Print energy dispersion cube information.
const GSkyMap & cube(void) const
Return energy dispersion cube sky map.
std::vector< GEbounds > m_ebounds
Energy boundaries.
GFilename m_filename
Filename.
void copy_members(const GCTACubeEdisp &cube)
Copy class members.
int m_inx3
Index of upper right node.
void free_members(void)
Delete class members.
Definition of interface for all GammaLib classes.
virtual ~GCTACubeEdisp(void)
Destructor.
int m_inx1
Index of upper left node.
void write(GFits &file) const
Write energy dispersion cube into FITS file.
void fill(const GObservations &obs, GLog *log=NULL)
Fill energy dispersion cube from observation container.
void init_members(void)
Initialise class members.
const GEnergies & energies(void) const
Return energies for energy dispersion cub.
void load(const GFilename &filename)
Load energy dispersion cube from FITS file.
GSkyMap m_cube
Energy dispersion cube.
GNodeArray m_migras
Migra bins for the Edisp cube.
void read(const GFits &fits)
Read energy dispersion cube from FITS file.
int m_inx4
Index of lower right node.
Sky map class definition.
const std::string extname_cta_migras
double migra_max(void) const
Return maximum migra value.
GCTACubeEdisp(void)
Void constructor.
Information logger interface definition.
Node array class interface definition.
CTA event bin container class.
double m_wgt4
Weight of lower right node.
Energy boundaries container class.
GEbounds ebounds(const GEnergy &obsEng) const
Return boundaries in true energy.
void clear_cube(void)
Clear all pixels in the energy dispersion cube.
Energy container class definition.
Interface class for all GammaLib classes.
void set(const GCTAObservation &obs)
Set energy dispersion cube for one CTA observation.
double m_wgt3
Weight of upper right node.
GVector log(const GVector &vector)
Computes natural logarithm of vector elements.
GEnergies m_energies
True energy values of cube.
CTA energy dispersion for stacked analysis.
void set_migras(const double &mmax, const int &nmbins)
Set nodes for interpolation in migration.
GCTACubeEdisp & operator=(const GCTACubeEdisp &cube)
Assignment operator.
double m_wgt1
Weight of upper left node.
void compute_ebounds(void) const
Compute true energy boundary vector.
Observation container class.
double operator()(const GEnergy &ereco, const GEnergy &etrue, const GSkyDir &dir) const
Return energy dispersion in units of MeV .
void update(const GEnergy &ereco, const GEnergy &etrue) const
Update energy dispersion cube indices and weights cache.
GCTACubeEdisp * clone(void) const
Clone energy dispersion cube.
GNodeArray m_elogmeans
Mean log10TeV energy for the Edisp cube.
void set_eng_axis(void)
Set nodes for interpolation in true energy.
Energy boundaries class interface definition.
double m_wgt2
Weight of lower left node.
const GNodeArray & migras(void) const
Return migra fractions of true and measured photon energy.
int m_inx2
Index of lower left node.
std::string classname(void) const
Return class name.
void clear(void)
Clear energy dispersion cube.
void fill_cube(const GCTAObservation &obs, GSkyMap *exposure=NULL, GLog *log=NULL)
Fill energy dispersion cube from observation container.
void save(const GFilename &filename, const bool &clobber=false) const
Save energy dispersion cube into FITS file.
Class that handles energies in a unit independent way.