GammaLib 2.2.0.dev
Loading...
Searching...
No Matches
GCOSResponse Class Reference

COSI instrument response function class. More...

#include <GCOSResponse.hpp>

Inheritance diagram for GCOSResponse:
GResponse GBase

Public Member Functions

 GCOSResponse (void)
 Void constructor.
 
 GCOSResponse (const GFilename &filename)
 Load constructor.
 
 GCOSResponse (const GCOSResponse &rsp)
 Copy constructor.
 
virtual ~GCOSResponse (void)
 Destructor.
 
virtual GCOSResponseoperator= (const GCOSResponse &rsp)
 Assignment operator.
 
virtual void clear (void)
 Clear instance.
 
virtual GCOSResponseclone (void) const
 Clone instance.
 
virtual std::string classname (void) const
 Return class name.
 
virtual bool use_edisp (void) const
 Signal if energy dispersion will be used.
 
virtual bool use_tdisp (void) const
 Signal if time dispersion will be used.
 
virtual double irf (const GEvent &event, const GPhoton &photon, const GObservation &obs) const
 
virtual double nroi (const GModelSky &model, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
 
virtual GEbounds ebounds (const GEnergy &obsEnergy) const
 
virtual std::string print (const GChatter &chatter=NORMAL) const
 Print content of object.
 
const GFilenamerspfile (void) const
 Return response file name.
 
const GHdf5hdf5 (void) const
 Return HDF5 file.
 
const GHealpixsrc_dirs (void) const
 Return HealPix projection of true photon directions.
 
const GEboundssrc_ebounds (void) const
 Return true photon energy boundaries.
 
const GBoundssrc_polarisations (void) const
 Return true polarisation angle boundaries.
 
const GHealpixobs_dirs (void) const
 Return HealPix projection of measured scatter directions.
 
const GBoundsobs_phis (void) const
 Return measured scatter angle boundaries.
 
const GEboundsobs_ebounds (void) const
 Return measured event energy boundaries.
 
const GNdarrayeff_areas (void) const
 Return effective area array.
 
int get_response_chunk (const int &idir, const int &ieng=0, const int &ipol=0) const
 
void load (const GFilename &filename)
 
void save (const GFilename &filename, const bool &clobber=false) const
 
void read (const GFits &fits)
 
void write (GFits &fits) const
 
- Public Member Functions inherited from GResponse
 GResponse (void)
 Void constructor.
 
 GResponse (const GResponse &rsp)
 Copy constructor.
 
virtual ~GResponse (void)
 Destructor.
 
virtual GResponseoperator= (const GResponse &rsp)
 Assignment operator.
 
virtual double convolve (const GModelSky &model, const GEvent &event, const GObservation &obs, const bool &grad=true) const
 Convolve sky model with the instrument response.
 
virtual GVector convolve (const GModelSky &model, const GObservation &obs, GMatrixSparse *gradients=NULL) const
 Convolve sky model with the instrument response.
 
virtual double irf_spatial (const GEvent &event, const GSource &source, const GObservation &obs) const
 Return instrument response integrated over the spatial model.
 
virtual GVector irf_spatial (const GModelSky &model, const GObservation &obs, GMatrix *gradients=NULL) const
 Return instrument response vector integrated over the spatial model.
 
virtual void remove_response_cache (const std::string &cache_id)
 Remove response cache for specific observation and model.
 
- Public Member Functions inherited from GBase
virtual ~GBase (void)
 Destructor.
 

Private Member Functions

void init_members (void)
 
void copy_members (const GCOSResponse &rsp)
 
void free_members (void)
 
void read_response (FILE *fptr)
 
GBounds read_bounds (FILE *fptr, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout)
 
GEbounds read_ebounds (FILE *fptr, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout, const std::string &unit)
 
GNdarray read_ndarray (FILE *fptr, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout)
 
void read_response_matrix (FILE *fptr, const GXmlElement *dataspace, const GXmlElement *datatype, const GXmlElement *datalayout, const GXmlElement *datafilter)
 
void set_response_chunk_pointers (void)
 
const GXmlElementget_response_chunk_key (const int &idir, const int &ieng=0, const int &ipol=0) const
 
int get_response_chunk_index (const int &idir, const int &ieng=0, const int &ipol=0) const
 
int flat_index (const int &idir, const int &ieng=0, const int &ipol=0) const
 

Private Attributes

GFilename m_rspfile
 Response file name.
 
GHdf5 m_hdf5
 HDF5 file.
 
GHealpix m_src_dirs
 Sky projection for source photons.
 
GEbounds m_src_ebounds
 Energy boundaries for source photons.
 
GBounds m_src_pols
 Boundaries for observed polarisation.
 
GHealpix m_obs_dirs
 Sky projection for observed events.
 
GBounds m_obs_phis
 Boundaries for observed scatter angles.
 
GEbounds m_obs_ebounds
 Energy boundaries for observed events.
 
GNdarray m_eff_areas
 Array of effective areas.
 
const GXmlElementm_rsp_chunk_dataspace
 Data space.
 
const GXmlElementm_rsp_chunk_datatype
 Data type.
 
const GXmlElementm_rsp_chunk_datalayout
 Data layout.
 
const GXmlElementm_rsp_chunk_datafilter
 Data filter.
 
std::vector< int > m_rsp_chunk_indices
 Loaded indices.
 
std::vector< std::vector< uint16_t > > m_rsp_chunks
 Loaded chunks.
 

Additional Inherited Members

- Protected Member Functions inherited from GResponse
void init_members (void)
 Initialise class members.
 
void copy_members (const GResponse &rsp)
 Copy class members.
 
void free_members (void)
 Delete class members.
 
double eval_prob (const GModelSky &model, const GEvent &event, const GEnergy &srcEng, const GTime &srcTime, const GObservation &obs, const bool &grad) const
 Convolve sky model with the instrument response.
 
GVector eval_probs (const GModelSky &model, const GObservation &obs, GMatrixSparse *gradients=NULL) const
 Convolve sky model with the instrument response.
 
int size_edisp_vector (const GModelSky &model, const GObservation &obs, const bool &grad) const
 Return size of vector for energy dispersion computation.
 
GEbounds ebounds_model (const GModelSky &model) const
 Return true energy intervals for sky model.
 
virtual double irf_ptsrc (const GEvent &event, const GSource &source, const GObservation &obs) const
 Return instrument response to point source.
 
virtual double irf_radial (const GEvent &event, const GSource &source, const GObservation &obs) const
 Return instrument response to radial source.
 
virtual double irf_elliptical (const GEvent &event, const GSource &source, const GObservation &obs) const
 Return instrument response to elliptical source.
 
virtual double irf_diffuse (const GEvent &event, const GSource &source, const GObservation &obs) const
 Return instrument response to diffuse source.
 
virtual double irf_composite (const GEvent &event, const GSource &source, const GObservation &obs) const
 Return instrument response to composite source.
 
virtual GVector irf_ptsrc (const GModelSky &model, const GObservation &obs, GMatrix *gradients=NULL) const
 Return instrument response to point source sky model.
 
virtual GVector irf_radial (const GModelSky &model, const GObservation &obs, GMatrix *gradients=NULL) const
 Return instrument response to radial source sky model.
 
virtual GVector irf_elliptical (const GModelSky &model, const GObservation &obs, GMatrix *gradients=NULL) const
 Return instrument response to ellipitical source sky model.
 
virtual GVector irf_diffuse (const GModelSky &model, const GObservation &obs, GMatrix *gradients=NULL) const
 Return instrument response to diffuse source sky model.
 
virtual GVector irf_composite (const GModelSky &model, const GObservation &obs, GMatrix *gradients=NULL) const
 Return instrument response to composite source sky model.
 
- Protected Attributes inherited from GResponse
bool m_use_irf_cache
 Control usage of irf cache.
 
bool m_use_nroi_cache
 Control usage of nroi cache.
 
int m_irf_radial_iter_theta
 Radial model integration theta iterations.
 
int m_irf_radial_iter_phi
 Radial model integration phi iterations.
 
int m_irf_elliptical_iter_theta
 Elliptical model integration theta iterations.
 
int m_irf_elliptical_iter_phi
 Elliptical model integration phi iterations.
 
double m_irf_diffuse_resolution
 Angular resolution for diffuse model.
 
GResponseCache m_irf_cache
 
GResponseCache m_nroi_cache
 
GResponseVectorCache m_irf_vector_cache
 

Detailed Description

COSI instrument response function class.

The COSI instrument response function class defines the function that translates from physical quantities to measured quantities.

Todo
Complete the class description.

Definition at line 62 of file GCOSResponse.hpp.

Constructor & Destructor Documentation

◆ GCOSResponse() [1/3]

GCOSResponse::GCOSResponse ( void )

Void constructor.

Creates an empty COSI response.

Definition at line 86 of file GCOSResponse.cpp.

References init_members().

Referenced by clone().

◆ GCOSResponse() [2/3]

GCOSResponse::GCOSResponse ( const GFilename & filename)

Load constructor.

Parameters
[in]filenameCOSI response file.

Create COSI response by loading data from a response file.

Definition at line 103 of file GCOSResponse.cpp.

References init_members(), and load().

◆ GCOSResponse() [3/3]

GCOSResponse::GCOSResponse ( const GCOSResponse & rsp)

Copy constructor.

Parameters
[in]rspCOSI response.

Definition at line 121 of file GCOSResponse.cpp.

References copy_members(), and init_members().

◆ ~GCOSResponse()

GCOSResponse::~GCOSResponse ( void )
virtual

Destructor.

Definition at line 137 of file GCOSResponse.cpp.

References free_members().

Member Function Documentation

◆ classname()

std::string GCOSResponse::classname ( void ) const
inlinevirtual

Return class name.

Returns
String containing the class name ("GCOSResponse").

Implements GResponse.

Definition at line 171 of file GCOSResponse.hpp.

◆ clear()

void GCOSResponse::clear ( void )
virtual

Clear instance.

Clears COSI response by resetting all class members to an initial state. Any information that was present before will be lost.

Implements GResponse.

Definition at line 200 of file GCOSResponse.cpp.

References free_members(), GResponse::free_members(), init_members(), and GResponse::init_members().

Referenced by GCOSObservation::init_members().

◆ clone()

GCOSResponse * GCOSResponse::clone ( void ) const
virtual

Clone instance.

Returns
Pointer to deep copy of COSI response.

Implements GResponse.

Definition at line 220 of file GCOSResponse.cpp.

References GCOSResponse().

◆ copy_members()

void GCOSResponse::copy_members ( const GCOSResponse & rsp)
private

Referenced by GCOSResponse(), and operator=().

◆ ebounds()

virtual GEbounds GCOSResponse::ebounds ( const GEnergy & obsEnergy) const
virtual

Implements GResponse.

◆ eff_areas()

const GNdarray & GCOSResponse::eff_areas ( void ) const
inline

Return effective area array.

Returns
Effective area array.

Returns the effective area array that was loaded from a COSI response file.

Definition at line 334 of file GCOSResponse.hpp.

References m_eff_areas.

◆ flat_index()

int GCOSResponse::flat_index ( const int & idir,
const int & ieng = 0,
const int & ipol = 0 ) const
private

◆ free_members()

void GCOSResponse::free_members ( void )
private

Referenced by clear(), operator=(), and ~GCOSResponse().

◆ get_response_chunk()

int GCOSResponse::get_response_chunk ( const int & idir,
const int & ieng = 0,
const int & ipol = 0 ) const

◆ get_response_chunk_index()

int GCOSResponse::get_response_chunk_index ( const int & idir,
const int & ieng = 0,
const int & ipol = 0 ) const
private

◆ get_response_chunk_key()

const GXmlElement * GCOSResponse::get_response_chunk_key ( const int & idir,
const int & ieng = 0,
const int & ipol = 0 ) const
private

◆ hdf5()

const GHdf5 & GCOSResponse::hdf5 ( void ) const
inline

Return HDF5 file.

Returns
HDF5 file.

Returns the HDF5 file that was loaded from a COSI response file.

Definition at line 229 of file GCOSResponse.hpp.

References m_hdf5.

◆ init_members()

void GCOSResponse::init_members ( void )
private

◆ irf()

virtual double GCOSResponse::irf ( const GEvent & event,
const GPhoton & photon,
const GObservation & obs ) const
virtual

Implements GResponse.

◆ load()

void GCOSResponse::load ( const GFilename & filename)

◆ nroi()

virtual double GCOSResponse::nroi ( const GModelSky & model,
const GEnergy & obsEng,
const GTime & obsTime,
const GObservation & obs ) const
virtual

Implements GResponse.

◆ obs_dirs()

const GHealpix & GCOSResponse::obs_dirs ( void ) const
inline

Return HealPix projection of measured scatter directions.

Returns
HealPix projection of measured scatter directions.

Returns the HealPix projection of measured scatter directions that was loaded from a COSI response file.

Definition at line 289 of file GCOSResponse.hpp.

References m_obs_dirs.

◆ obs_ebounds()

const GEbounds & GCOSResponse::obs_ebounds ( void ) const
inline

Return measured event energy boundaries.

Returns
Measured event energy boundaries.

Returns the measured event energy boundaries that were loaded from a COSI response file.

Definition at line 319 of file GCOSResponse.hpp.

References m_obs_ebounds.

◆ obs_phis()

const GBounds & GCOSResponse::obs_phis ( void ) const
inline

Return measured scatter angle boundaries.

Returns
Measured scatter angle boundaries.

Returns the measured scatter angle boundaries that were loaded from a COSI response file.

Definition at line 304 of file GCOSResponse.hpp.

References m_obs_phis.

◆ operator=()

GCOSResponse & GCOSResponse::operator= ( const GCOSResponse & rsp)
virtual

Assignment operator.

Parameters
[in]rspCOSI response.
Returns
COSI response.

Assign COSI response to this object. The assignment performs a deep copy of all information, hence the original object from which the assignment was made can be destroyed after this operation without any loss of information.

Definition at line 164 of file GCOSResponse.cpp.

References copy_members(), free_members(), init_members(), and GResponse::operator=().

◆ print()

virtual std::string GCOSResponse::print ( const GChatter & chatter = NORMAL) const
virtual

Print content of object.

Parameters
[in]chatterChattiness (defaults to NORMAL).
Returns
String containing the content of the object.

Formats the content in a standard way and puts this content in a C++ string that is returned.

Implements GResponse.

◆ read()

void GCOSResponse::read ( const GFits & fits)

◆ read_bounds()

GBounds GCOSResponse::read_bounds ( FILE * fptr,
const GXmlElement * dataspace,
const GXmlElement * datatype,
const GXmlElement * datalayout )
private

◆ read_ebounds()

GEbounds GCOSResponse::read_ebounds ( FILE * fptr,
const GXmlElement * dataspace,
const GXmlElement * datatype,
const GXmlElement * datalayout,
const std::string & unit )
private

◆ read_ndarray()

GNdarray GCOSResponse::read_ndarray ( FILE * fptr,
const GXmlElement * dataspace,
const GXmlElement * datatype,
const GXmlElement * datalayout )
private

◆ read_response()

void GCOSResponse::read_response ( FILE * fptr)
private

◆ read_response_matrix()

void GCOSResponse::read_response_matrix ( FILE * fptr,
const GXmlElement * dataspace,
const GXmlElement * datatype,
const GXmlElement * datalayout,
const GXmlElement * datafilter )
private

◆ rspfile()

const GFilename & GCOSResponse::rspfile ( void ) const
inline

Return response file name.

Returns
Response file name.

Returns the file name from which the response was loaded. This may either be a HDF5 file or a FITS file.

Definition at line 214 of file GCOSResponse.hpp.

References m_rspfile.

◆ save()

void GCOSResponse::save ( const GFilename & filename,
const bool & clobber = false ) const

◆ set_response_chunk_pointers()

void GCOSResponse::set_response_chunk_pointers ( void )
private

◆ src_dirs()

const GHealpix & GCOSResponse::src_dirs ( void ) const
inline

Return HealPix projection of true photon directions.

Returns
HealPix projection of true photon directions.

Returns the HealPix projection of true photon directions that was loaded from a COSI response file.

Definition at line 244 of file GCOSResponse.hpp.

References m_src_dirs.

◆ src_ebounds()

const GEbounds & GCOSResponse::src_ebounds ( void ) const
inline

Return true photon energy boundaries.

Returns
True photon energy boundaries.

Returns the true photon energy boundaries that were loaded from a COSI response file.

Definition at line 259 of file GCOSResponse.hpp.

References m_src_ebounds.

◆ src_polarisations()

const GBounds & GCOSResponse::src_polarisations ( void ) const
inline

Return true polarisation angle boundaries.

Returns
True polarisation angle boundaries.

Returns the true polarisation angle boundaries that were loaded from a COSI response file.

Definition at line 274 of file GCOSResponse.hpp.

References m_src_pols.

◆ use_edisp()

bool GCOSResponse::use_edisp ( void ) const
inlinevirtual

Signal if energy dispersion will be used.

Returns
False.
Todo
Implement method as needed.

Implements GResponse.

Definition at line 185 of file GCOSResponse.hpp.

◆ use_tdisp()

bool GCOSResponse::use_tdisp ( void ) const
inlinevirtual

Signal if time dispersion will be used.

Returns
False.
Todo
Implement method as needed.

Implements GResponse.

Definition at line 199 of file GCOSResponse.hpp.

◆ write()

void GCOSResponse::write ( GFits & fits) const

Member Data Documentation

◆ m_eff_areas

GNdarray GCOSResponse::m_eff_areas
private

Array of effective areas.

Definition at line 153 of file GCOSResponse.hpp.

Referenced by eff_areas().

◆ m_hdf5

GHdf5 GCOSResponse::m_hdf5
private

HDF5 file.

Definition at line 146 of file GCOSResponse.hpp.

Referenced by hdf5().

◆ m_obs_dirs

GHealpix GCOSResponse::m_obs_dirs
private

Sky projection for observed events.

Definition at line 150 of file GCOSResponse.hpp.

Referenced by obs_dirs().

◆ m_obs_ebounds

GEbounds GCOSResponse::m_obs_ebounds
private

Energy boundaries for observed events.

Definition at line 152 of file GCOSResponse.hpp.

Referenced by obs_ebounds().

◆ m_obs_phis

GBounds GCOSResponse::m_obs_phis
private

Boundaries for observed scatter angles.

Definition at line 151 of file GCOSResponse.hpp.

Referenced by obs_phis().

◆ m_rsp_chunk_datafilter

const GXmlElement* GCOSResponse::m_rsp_chunk_datafilter
private

Data filter.

Definition at line 159 of file GCOSResponse.hpp.

◆ m_rsp_chunk_datalayout

const GXmlElement* GCOSResponse::m_rsp_chunk_datalayout
private

Data layout.

Definition at line 158 of file GCOSResponse.hpp.

◆ m_rsp_chunk_dataspace

const GXmlElement* GCOSResponse::m_rsp_chunk_dataspace
private

Data space.

Definition at line 156 of file GCOSResponse.hpp.

◆ m_rsp_chunk_datatype

const GXmlElement* GCOSResponse::m_rsp_chunk_datatype
private

Data type.

Definition at line 157 of file GCOSResponse.hpp.

◆ m_rsp_chunk_indices

std::vector<int> GCOSResponse::m_rsp_chunk_indices
mutableprivate

Loaded indices.

Definition at line 160 of file GCOSResponse.hpp.

◆ m_rsp_chunks

std::vector<std::vector<uint16_t> > GCOSResponse::m_rsp_chunks
mutableprivate

Loaded chunks.

Definition at line 161 of file GCOSResponse.hpp.

◆ m_rspfile

GFilename GCOSResponse::m_rspfile
private

Response file name.

Definition at line 145 of file GCOSResponse.hpp.

Referenced by rspfile().

◆ m_src_dirs

GHealpix GCOSResponse::m_src_dirs
private

Sky projection for source photons.

Definition at line 147 of file GCOSResponse.hpp.

Referenced by src_dirs().

◆ m_src_ebounds

GEbounds GCOSResponse::m_src_ebounds
private

Energy boundaries for source photons.

Definition at line 148 of file GCOSResponse.hpp.

Referenced by src_ebounds().

◆ m_src_pols

GBounds GCOSResponse::m_src_pols
private

Boundaries for observed polarisation.

Definition at line 149 of file GCOSResponse.hpp.

Referenced by src_polarisations().


The documentation for this class was generated from the following files: