27#ifndef GCOSRESPONSE_HPP
28#define GCOSRESPONSE_HPP
75 virtual void clear(
void);
77 virtual std::string
classname(
void)
const;
102 const int& ipol = 0)
const;
105 const bool& clobber =
false)
const;
123 const std::string& unit);
136 const int& ipol = 0)
const;
139 const int& ipol = 0)
const;
142 const int& ipol = 0)
const;
173 return (
"GCOSResponse");
Boundaries class interface definition.
Energy boundaries class interface definition.
Filename class interface definition.
HDF5 file handling class definition.
HealPix projection class definition.
N-dimensional array class interface definition.
Abstract response base class definition.
Boundaries container class.
COSI instrument response function class.
const GEbounds & obs_ebounds(void) const
Return measured event energy boundaries.
const GXmlElement * m_rsp_chunk_dataspace
Data space.
const GXmlElement * get_response_chunk_key(const int &idir, const int &ieng=0, const int &ipol=0) const
const GBounds & src_polarisations(void) const
Return true polarisation angle boundaries.
GCOSResponse(void)
Void constructor.
GBounds m_obs_phis
Boundaries for observed scatter angles.
virtual void clear(void)
Clear instance.
virtual double irf(const GEvent &event, const GPhoton &photon, const GObservation &obs) const
const GHdf5 & hdf5(void) const
Return HDF5 file.
GEbounds m_src_ebounds
Energy boundaries for source photons.
void copy_members(const GCOSResponse &rsp)
const GXmlElement * m_rsp_chunk_datatype
Data type.
void read_response_matrix(FILE *fptr, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout, const GXmlElement *datafilter)
GEbounds read_ebounds(FILE *fptr, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout, const std::string &unit)
int get_response_chunk(const int &idir, const int &ieng=0, const int &ipol=0) const
const GHealpix & obs_dirs(void) const
Return HealPix projection of measured scatter directions.
virtual double nroi(const GModelSky &model, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
const GXmlElement * m_rsp_chunk_datafilter
Data filter.
virtual bool use_edisp(void) const
Signal if energy dispersion will be used.
const GNdarray & eff_areas(void) const
Return effective area array.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print content of object.
void set_response_chunk_pointers(void)
const GHealpix & src_dirs(void) const
Return HealPix projection of true photon directions.
const GXmlElement * m_rsp_chunk_datalayout
Data layout.
GNdarray read_ndarray(FILE *fptr, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout)
void save(const GFilename &filename, const bool &clobber=false) const
GEbounds m_obs_ebounds
Energy boundaries for observed events.
GFilename m_rspfile
Response file name.
virtual bool use_tdisp(void) const
Signal if time dispersion will be used.
GBounds read_bounds(FILE *fptr, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout)
virtual GCOSResponse & operator=(const GCOSResponse &rsp)
Assignment operator.
void read(const GFits &fits)
GHealpix m_obs_dirs
Sky projection for observed events.
GNdarray m_eff_areas
Array of effective areas.
virtual ~GCOSResponse(void)
Destructor.
const GFilename & rspfile(void) const
Return response file name.
int get_response_chunk_index(const int &idir, const int &ieng=0, const int &ipol=0) const
GHealpix m_src_dirs
Sky projection for source photons.
void write(GFits &fits) const
int flat_index(const int &idir, const int &ieng=0, const int &ipol=0) const
virtual std::string classname(void) const
Return class name.
std::vector< int > m_rsp_chunk_indices
Loaded indices.
void read_response(FILE *fptr)
virtual GEbounds ebounds(const GEnergy &obsEnergy) const
const GEbounds & src_ebounds(void) const
Return true photon energy boundaries.
virtual GCOSResponse * clone(void) const
Clone instance.
GBounds m_src_pols
Boundaries for observed polarisation.
const GBounds & obs_phis(void) const
Return measured scatter angle boundaries.
void load(const GFilename &filename)
std::vector< std::vector< uint16_t > > m_rsp_chunks
Loaded chunks.
Energy boundaries container class.
Class that handles energies in a unit independent way.
Abstract interface for the event classes.
COSI instrument response function class.
HealPix projection class interface definition.
N-dimensional array class.
Abstract observation base class.
Class that handles photons.
Abstract instrument response base class.
Class that handles gamma-ray sources.