|
GammaLib 2.2.0.dev
|
COSI instrument response function class. More...
#include <GCOSResponse.hpp>
Public Member Functions | |
| GCOSResponse (void) | |
| Void constructor. | |
| GCOSResponse (const GFilename &filename) | |
| Load constructor. | |
| GCOSResponse (const GCOSResponse &rsp) | |
| Copy constructor. | |
| virtual | ~GCOSResponse (void) |
| Destructor. | |
| virtual GCOSResponse & | operator= (const GCOSResponse &rsp) |
| Assignment operator. | |
| virtual void | clear (void) |
| Clear instance. | |
| virtual GCOSResponse * | clone (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 GFilename & | rspfile (void) const |
| Return response file name. | |
| const GHdf5 & | hdf5 (void) const |
| Return HDF5 file. | |
| const GHealpix & | src_dirs (void) const |
| Return HealPix projection of true photon directions. | |
| const GEbounds & | src_ebounds (void) const |
| Return true photon energy boundaries. | |
| const GBounds & | src_polarisations (void) const |
| Return true polarisation angle boundaries. | |
| const GHealpix & | obs_dirs (void) const |
| Return HealPix projection of measured scatter directions. | |
| const GBounds & | obs_phis (void) const |
| Return measured scatter angle boundaries. | |
| const GEbounds & | obs_ebounds (void) const |
| Return measured event energy boundaries. | |
| const GNdarray & | eff_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 GResponse & | operator= (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 GXmlElement * | get_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 GXmlElement * | m_rsp_chunk_dataspace |
| Data space. | |
| const GXmlElement * | m_rsp_chunk_datatype |
| Data type. | |
| const GXmlElement * | m_rsp_chunk_datalayout |
| Data layout. | |
| const GXmlElement * | m_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 |
COSI instrument response function class.
The COSI instrument response function class defines the function that translates from physical quantities to measured quantities.
Definition at line 62 of file GCOSResponse.hpp.
| 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::GCOSResponse | ( | const GFilename & | filename | ) |
Load constructor.
| [in] | filename | COSI 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::GCOSResponse | ( | const GCOSResponse & | rsp | ) |
Copy constructor.
| [in] | rsp | COSI response. |
Definition at line 121 of file GCOSResponse.cpp.
References copy_members(), and init_members().
|
virtual |
|
inlinevirtual |
Return class name.
Implements GResponse.
Definition at line 171 of file GCOSResponse.hpp.
|
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().
|
virtual |
Clone instance.
Implements GResponse.
Definition at line 220 of file GCOSResponse.cpp.
References GCOSResponse().
|
private |
Referenced by GCOSResponse(), and operator=().
Implements GResponse.
|
inline |
Return 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.
|
private |
|
private |
Referenced by clear(), operator=(), and ~GCOSResponse().
| int GCOSResponse::get_response_chunk | ( | const int & | idir, |
| const int & | ieng = 0, | ||
| const int & | ipol = 0 ) const |
|
private |
|
private |
|
inline |
Return 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.
|
private |
Referenced by clear(), GCOSResponse(), GCOSResponse(), GCOSResponse(), and operator=().
|
virtual |
Implements GResponse.
| void GCOSResponse::load | ( | const GFilename & | filename | ) |
Referenced by GCOSResponse(), and GCOSObservation::load().
|
virtual |
Implements GResponse.
|
inline |
Return 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.
|
inline |
Return 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.
|
inline |
Return 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.
|
virtual |
Assignment operator.
| [in] | rsp | 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 content of object.
| [in] | chatter | Chattiness (defaults to NORMAL). |
Formats the content in a standard way and puts this content in a C++ string that is returned.
Implements GResponse.
| void GCOSResponse::read | ( | const GFits & | fits | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
Return 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.
| void GCOSResponse::save | ( | const GFilename & | filename, |
| const bool & | clobber = false ) const |
|
private |
|
inline |
Return 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.
|
inline |
Return 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.
|
inline |
Return 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.
|
inlinevirtual |
Signal if energy dispersion will be used.
Implements GResponse.
Definition at line 185 of file GCOSResponse.hpp.
|
inlinevirtual |
Signal if time dispersion will be used.
Implements GResponse.
Definition at line 199 of file GCOSResponse.hpp.
| void GCOSResponse::write | ( | GFits & | fits | ) | const |
|
private |
Array of effective areas.
Definition at line 153 of file GCOSResponse.hpp.
Referenced by eff_areas().
|
private |
|
private |
Sky projection for observed events.
Definition at line 150 of file GCOSResponse.hpp.
Referenced by obs_dirs().
|
private |
Energy boundaries for observed events.
Definition at line 152 of file GCOSResponse.hpp.
Referenced by obs_ebounds().
|
private |
Boundaries for observed scatter angles.
Definition at line 151 of file GCOSResponse.hpp.
Referenced by obs_phis().
|
private |
Data filter.
Definition at line 159 of file GCOSResponse.hpp.
|
private |
Data layout.
Definition at line 158 of file GCOSResponse.hpp.
|
private |
Data space.
Definition at line 156 of file GCOSResponse.hpp.
|
private |
Data type.
Definition at line 157 of file GCOSResponse.hpp.
|
mutableprivate |
Loaded indices.
Definition at line 160 of file GCOSResponse.hpp.
|
mutableprivate |
Loaded chunks.
Definition at line 161 of file GCOSResponse.hpp.
|
private |
|
private |
Sky projection for source photons.
Definition at line 147 of file GCOSResponse.hpp.
Referenced by src_dirs().
|
private |
Energy boundaries for source photons.
Definition at line 148 of file GCOSResponse.hpp.
Referenced by src_ebounds().
|
private |
Boundaries for observed polarisation.
Definition at line 149 of file GCOSResponse.hpp.
Referenced by src_polarisations().