- Member cta_irf_diffuse_kern_phi::eval (const double &phi)
Optimize computation of sky direction in native coordinates
Implement azimuth angle computation of true photon in camera
Replace (theta,phi) by (delta,alpha)
- Member cta_nroi_diffuse_kern_phi::eval (const double &phi)
- Re-consider formula for possible simplification (dumb matrix multiplication is definitely not the fastest way to do that computation).
- Member cta_nroi_elliptical_kern_omega::eval (const double &omega)
Npred computation goes over sky coordinates. This can maybe be optimized to reduce the number of coordinate transformations.
Check whether the Npred omega argument is the right one.
- Member cta_nroi_radial_kern_omega::eval (const double &omega)
- Re-consider formula for possible simplification (dumb matrix multiplication is definitely not the fastest way to do that computation).
- Member GApplicationPar::check_value_filename (const std::string &value) const
- NONE is equivalent to an empty string.
- Member GCaldb::filename (const std::string &detector, const std::string &filter, const std::string &codename, const std::string &date, const std::string &time, const std::string &expr)
data should support "now" and probably be implemented using < condition.
time should support "now" and probably be implemented using < condition.
expr should support arbitrary Boolean expressions.
- Member GCOMEventBin::error (void) const
- The choice of delta has been made somewhat arbitrary, mainly because the optimizer routines filter error^2 below 1e-100.
- Member GCOMEventList::write (GFits &file) const
- Implement method.
- Member GCOMIaq::GCOMIaq (const double &phigeo_max, const double &phigeo_bin_size, const double &phibar_max, const double &phibar_bin_size)
- Test input argument validity.
- Member GCOMIaq::set (const GEnergy &energy, const GEbounds &ebounds)
- Implement geometrical smearing.
- Member GCOMIaq::set (const GModelSpectral &spectrum, const GEbounds &ebounds)
- Implement geometrical smearing.
- Member GCOMModelDRBPhibarBins::mc (const GObservation &obs, GRan &ran) const
- Implement method.
- Member GCOMModelDRBPhibarBins::npred (const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
- Implement method.
- Member GCOMModelDRBPhibarNodes::mc (const GObservation &obs, GRan &ran) const
- Implement method.
- Member GCOMModelDRBPhibarNodes::npred (const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
- Implement method.
- Member GCOMModelDRM::mc (const GObservation &obs, GRan &ran) const
- Implement method.
- Member GCOMModelDRM::npred (const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
- Implement method.
- Member GCOMObservation::write_attributes (GFitsHDU *hdu) const
- Implement method.
- Member GCOMRoi::print (const GChatter &chatter=NORMAL) const
- Implement method.
- Class GCOMTim
- Add class description.
- Member GCTAAeff2D::read (const GFitsTable &table)
- Analyse the unit of the parameter axis to determine the conversion factor for the effective areas. For the moment they are hard wired.
- Member GCTAAeffArf::read (const GFitsTable &table)
- Assign appropriate theta angle for PSF. So far we use onaxis. For appropriate theta angle assignment, we would need this information in the response header.
- Member GCTABackground2D::write (GFitsBinTable &table) const
- Add necessary keywords.
- Member GCTABackground3D::write (GFitsBinTable &table) const
- Add necessary keywords.
- Member GCTABackgroundPerfTable::init_mc_cache (void) const
Verify assumption made about the solid angles of the response table elements.
Add optional sampling on a finer spatial grid.
- Member GCTACubeBackground::update (const double &logE) const
- Write down formula
- Member GCTACubeExposure::print (const GChatter &chatter=NORMAL) const
- Add content
- Member GCTACubeExposure::update (const double &logE) const
- Write down formula
- Member GCTACubePsf::set_delta_axis (void)
- Check that none of the axis boundaries is non-positive.
- Member GCTACubePsf::set_eng_axis (void)
- Check that none of the axis boundaries is non-positive.
- Member GCTAEdisp2D::write (GFitsBinTable &table) const
- Add keywords.
- Member GCTAEventBin::error (void) const
- The choice of delta has been made somewhat arbitrary, mainly because the optimizer routines filter error^2 below 1e-100.
- Member GCTAEventCube::set_times (void)
- Could add a more sophisticated mean event time computation that weights by the length of the GTIs, yet so far we do not really use the mean event time, hence there is no rush to implement this.
- Member GCTAModelBackground::eval (const GEvent &event, const GObservation &obs, const bool &gradients=false) const
Add bookkeeping of last value and evaluate only if argument changed
Verify that CTA instrument direction pointer is valid, or better, add an offset method to GCTAPointing. Ideally, we should precompute all offset angles (for an event cube this may only be done easily if the pointing has been fixed; otherwise we need a structure similar to the Fermi/LAT livetime cube that provides the effective sky exposure as function of offset angle).
- Member GCTAModelBackground::mc (const GObservation &obs, GRan &ran) const
- Handle special case of cube spatial model
- Member GCTAModelIrfBackground::npred_roi_kern_phi::eval (const double &phi)
- Verify correct orientation of detx and dety with respect to phi
- Member GCTAModelRadialAcceptance::copy_members (const GCTAModelRadialAcceptance &model)
- Document method.
- Member GCTAModelRadialAcceptance::eval (const GEvent &event, const GObservation &obs, const bool &gradients=false) const
Add bookkeeping of last value and evaluate only if argument changed
Verify that CTA instrument direction pointer is valid, or better, add an offset method to GCTAPointing. Ideally, we should precompute all offset angles (for an event cube this may only be done easily if the pointing has been fixed; otherwise we need a structure similar to the Fermi/LAT livetime cube that provides the effective sky exposure as function of offset angle).
- Member GCTAModelRadialAcceptance::free_members (void)
- Document method.
- Member GCTAModelRadialAcceptance::init_members (void)
- Document method.
- Member GCTAModelRadialAcceptance::write (GXmlElement &xml) const
- Document method.
- Member GCTAModelRadialGauss::mc (GRan &ran) const
- Method can be optimised by using a random deviate of sin instead of the uniform random deviate which leads to many unnecessary rejections.
- Member GCTAModelRadialPolynom::mc (GRan &ran) const
- This method actually assumes that the polynom is always < 1, which may not be necessarily the case. Ideally, the method should determine the maximum of the polynomial to throw events. This is a severe limitation and should rapidly be corrected.
- Member GCTAModelRadialPolynom::read (const GXmlElement &xml)
- Implement a test of the coefficient boundaries.
- Member GCTAModelRadialProfile::mc (GRan &ran) const
- Method can be optimised by using a random deviate of sin instead of the uniform random deviate which leads to many unnecessary rejections.
- Member GCTAModelSpatial::npred_roi_kern_phi::eval (const double &phi)
- Verify correct orientation of detx and dety with respect to phi
- Member GCTAObservation::read_attributes (const GFitsHDU &hdu)
- The actual reader is a minimal reader to accomodate as many different datasets as possible. Once the CTA data format is fixed the reader should have more mandatory attributes.
- Member GCTAOnOffObservation::compute_alpha (const GCTAObservation &obs_on, const GCTAObservation &obs_off, const GSkyRegions &on, const GSkyRegions &off, const GModels &models, const bool &use_model_bkg)
- Compute alpha by integrating the background rate over the energy bins and not at the bin centre.
- Member GCTAOnOffObservation::compute_bgd (const GCTAObservation &obs, const GSkyRegions &off, const GModels &models, const bool &use_model_bkg)
- Integrate background rate over energy bin instead of computing the rate at the energy bin centre.
- Class GCTAPointing
- No transformation from sky coordinates to geographic coordinates has so far been implemented. The azimuth and zenith angle are not meaningful.
- Member GCTAPsf2D::write (GFitsBinTable &table) const
- Add necessary keywords.
- Member GCTAPsfKing::write (GFitsBinTable &table) const
- Add keywords.
- Member GCTAPsfTable::write (GFitsBinTable &table) const
- Add keywords.
- Member GCTAResponseCube::irf_elliptical (const GEvent &event, const GSource &source, const GObservation &obs) const
- Correct assumptions in exposure computation, PSF computation and energy dispersion computation.
- Member GCTAResponseCube::irf_radial (const GEvent &event, const GSource &source, const GObservation &obs) const
- Correct assumptions in exposure computation, PSF computation and energy dispersion computation.
- Member GCTAResponseCube::is_valid (void) const
- : To be implemented (check if GCTACubeExposure and GCTACubePsf is loaded)
- Member GCTAResponseCube::nroi (const GModelSky &model, const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
- Implement method (is maybe not really needed)
- Member GCTAResponseIrf::irf (const GEvent &event, const GPhoton &photon, const GObservation &obs) const
- Set polar angle phi of photon in camera system
- Member GCTAResponseIrf::mc (const double &area, const GPhoton &photon, const GObservation &obs, GRan &ran) const
Set polar angle phi of photon in camera system
Implement energy dispersion
- Member GCTAResponseIrf::npsf (const GSkyDir &srcDir, const double &srcLogEng, const GTime &srcTime, const GCTAPointing &pnt, const GCTARoi &roi) const
Enhance romberg() integration method for small integration regions (see comment about kluge below)
Implement phi dependence in camera system
- Member GCTAResponseTable::axis_log10 (const int &axis)
- Check that none of the axis boundaries is non-positive.
- Member GCTAResponseTable::operator() (const int &index, const double &arg1, const double &arg2, const double &arg3) const
- Write down formula.
- Member GCTAResponseTable::operator() (const double &arg) const
- Write down formula.
- Member GCTAResponseTable::operator() (const double &arg1, const double &arg2) const
- Write down formula.
- Member GCTAResponseTable::operator() (const double &arg1, const double &arg2, const double &arg3) const
- Write down formula.
- Member GCTAResponseTable::operator() (const int &table, const double &arg) const
- Write down formula.
- Member GCTAResponseTable::operator() (const int &table, const double &arg1, const double &arg2) const
- Write down formula.
- Member GCTAResponseTable::read_colnames (const GFitsTable &hdu)
- Implement exceptions for invalid HDU format
- Member GCTAResponseTable::update (const double &arg) const
- Write down formula
- Member GCTAResponseTable::update (const double &arg1, const double &arg2) const
- Write down formula
- Member GCTAResponseTable::update (const double &arg1, const double &arg2, const double &arg3) const
- Write down formula
- Class GDaemon
- Add class description.
- Member GEbounds::contains (const GEnergy &emin, const GEnergy &emax) const
- This method is so far only correct for contiguous energy boundaries.
- Member GEbounds::write (GFits &file, const std::string &extname=gammalib::extname_ebounds, const std::string &unit="keV") const
- Write header keywords.
- Member GFits::extend (const GFits &fits)
- Handle HDU update in FITS file.
- Member GFits::remove (const int &extno)
- Handle HDU update in FITS file.
- Class GFitsHDU
- Implement GFitsHDU* select(const std::string& expr) that applies to a table HDU for row selection.
- Member GFitsHDU::save (void)
- Put the m_header.save(FPTR(m_fitsfile)) call in the data_save() methods
- Member GFitsHeaderCard::set_dtype (const std::string &value)
- Implement syntax checking for integer or float values.
- Member GFitsImage::data_close (void)
- Not sure that this is efficient at this level since the pixel array will not be deallocated!!!
- Member GFitsImage::nulval (const void *value)
- To correctly reflect the nul value in the data, the image should be reloaded. However, the image may have been changed, so in principle saving is needed. However, we may not want to store the image, hence saving is also not desired. We thus have to develop a method to update the image information for a new nul value in place ...
- Member GFitsImage::print (const GChatter &chatter=NORMAL) const
- Format and cfitsio information is mainly for debugging. This could be vanish in a more stable version of the code, or it could be compiled in conditionally using a debug option.
- Member GFitsTable::data_save (void)
- This method should also update the header. Even easier, this method should save the header into the file using the m_header.save() method. Only this assures coherence between the files !!!! Once this has been implemented (also in the GFitsImage method) we should delete the m_header.save() call in GFitsHDU::save.
- Member GFitsTableBitCol::nulval (const unsigned char *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableBitCol::resize_data (const int &index, const int &number)
- Needs to be implemented
- Class GFitsTableBoolCol
- Each Bit is actually stored in one Byte. To save memory a more compact storage scheme should be implemented.
- Member GFitsTableBoolCol::nulval (const bool *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableByteCol::nulval (const unsigned char *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableCDoubleCol::nulval (const GFits::cdouble *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableCFloatCol::nulval (const GFits::cfloat *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableCol::dim (const std::vector< int > &dim)
- Implement dimension check.
- Member GFitsTableCol::print (const GChatter &chatter=NORMAL) const
- Format and cfitsio information is mainly for debugging. This could vanish in a more stable version of the code, or it could be compiled-in conditionally using a debug option. Alternatively, a higher chatter level may be required to see this information.
- Member GFitsTableDoubleCol::nulval (const double *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableFloatCol::nulval (const float *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableLongCol::nulval (const long *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableLongLongCol::nulval (const long long *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableShortCol::nulval (const short *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableStringCol::nulval (const std::string &value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableULongCol::nulval (const unsigned long *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GFitsTableUShortCol::nulval (const unsigned short *value)
- To correctly reflect the nul value in the data, the column should be reloaded. However, the column may have been changed, so in principle saving is needed. However, we may not want to store the data, hence saving is also not desired. We thus have to develop a method to update the column information for a new nul value in place ...
- Member GIntegral::polint (double *xa, double *ya, int n, double x, double *dy)
Implement exceptions instead of screen dump.
Use std::vector for xa and ya and start at 0
- Member GLATAeff::efficiency_factor1 (const GEnergy &srcEng) const
- Implement cache to save computation time if called with same energy value (happens for binned analysis for example)
- Member GLATAeff::efficiency_factor2 (const GEnergy &srcEng) const
- Implement cache to save computation time if called with same energy value (happens for binned analysis for example)
- Member GLATAeff::operator() (const double &logE, const double &ctheta, const double &phi)
- Phi-dependence not yet implemented.
- Member GLATAeff::read (const GFits &file, const std::string &evtype)
- Implement reading of Phi-dependence information.
- Member GLATAeff::write (GFits &file) const
- Write also phi and rate HDUs if they exist.
- Class GLATEdisp
- Implement support for older response functions?
- Member GLATEdisp::read (const GFits &file, const std::string &evtype)
- Implement reading of scaling parameters
- Member GLATEdisp::read_edisp (const GFitsTable &table)
- Implement reading of energy dispersion table
- Class GLATEventBin
- Implement stand alone version of event bin.
- Member GLATEventBin::error (void) const
- The choice of delta has been made somewhat arbitrary, mainly because the optimizer routines filter error^2 below 1e-100.
- Member GLATEventCube::read_ebds (const GFitsTable &hdu)
- Energy bounds read method should take const GFitsTable* as argument
- Member GLATEventCube::set_times (void)
- Could add a more sophisticated mean event time computation that weights by the length of the GTIs, yet so far we do not really use the mean event time, hence there is no rush to implement this.
- Member GLATEventList::read_ds_keys (const GFitsHDU &hdu)
Declared header card const in to GFitsHDU.
Add check key method to GFitsHDU to avoid unneccesary try/catch blocks.
- Member GLATEventList::save (const GFilename &filename, const bool &clobber=false) const
- To be implemented.
- Member GLATEventList::write (GFits &file) const
- To be implemented.
- Member GLATLtCube::read (const GFits &file)
- Reading of cos theta boundaries not yet implemented. This is not critical since they are not really needed. We just need them once we want to implement also saving.
- Member GLATLtCube::save (const GFilename &filename, const bool &clobber=false) const
- Not yet implemented.
- Member GLATMeanPsf::set_map_corrections (const GLATObservation &obs)
- We can also implement a method for event atoms, yet it is not clear whether we really need this.
- Member GLATObservation::load_binned (const std::string &cntmap_name, const std::string &expmap_name, const std::string <cube_name)
- So far nothing is done with the expmap file. Approriate loading needs to be implemented.
- Member GLATObservation::load_unbinned (const std::string &ft1name, const std::string &ft2name, const std::string <cube_name)
- So far nothing is done with the ft2 file and the ltcube file. Loading of the relevant information needs to be implemented.
- Member GLATObservation::write (GXmlElement &xml) const
- We should create a special exception that informs that there is neither a valid LAT event list nor a valid LAT counts map in this observations.
- Class GLATPsf
- Implement Phi dependence
- Member GLATPsf::has_phi (void) const
- Implement phi dependence
- Member GLATPsf::read (const GFits &file, const std::string &evtype)
- Implement PSF version 2.
- Member GLATPsf::write (GFits &file) const
- Implement PSF versions 2 and 3.
- Member GLATPsfBase::write_scale (GFits &file) const
- Check if PSF_SCALING_PARAMS exists already in FITS file
- Member GLATPsfV1::base_int (const double &u, const double &gamma)
- Verify that 1+u/gamma is not negative
- Member GLATPsfV1::psf (const double &offset, const double &logE, const double &ctheta)
- Some optimisation could be done as in many cases gcore==gtail, and for this special case ntail=ncore, hence things become a little simpler.
- Member GLATPsfV1::write (GFits &file) const
- Check if a RPSF extension exists already in FITS file
- Member GLATPsfV3::base_int (const double &u, const double &gamma)
- Verify that 1+u/gamma is not negative
- Member GLATPsfV3::integrate_psf (const double &energy, const int &index)
- Implement gcore and gtail checking
- Member GLATPsfV3::write (GFits &file) const
- Check if a RPSF extension exists already in FITS file
- Member GLATResponse::irf (const GEvent &event, const GPhoton &photon, const GObservation &obs) const
- The IRF value is not divided by ontime of the event, but it is already time integrated.
- Member GLATResponse::irf_spatial_atom (const GLATEventAtom &event, const GSource &source, const GObservation &obs) const
- Not yet implemented.
- Member GLATResponse::irf_spatial_bin (const GLATEventBin &event, const GSource &source, const GObservation &obs) const
Extract event cube from observation. We do not need the cube pointer in the event anymore.
Implement more efficient method for response search (name search is not very rapid).
Instead of calling "offset = event.dir().dist_deg(srcDir)" we can precompute and store for each PSF the offsets. This should save quite some time since the distance computation is time consuming.
- Member GLATResponse::save (const std::string &rspname) const
- Not yet implemented.
- Member GLATResponseTable::energy (const int &ie) const
- Store also linear energies to avoid conversion.
- Member GLog::operator() (const char *msgFormat,...)
- A static buffer of length 8192 is allocated. Although this is likely sufficient for any normal application there is nothing that prevents in principle the overflow of the buffer. A more sophisticated scheme should be implemented.
- Member GLog::operator<< (std::ostream &(*fn)(std::ostream &))
- This is a quick an dirty implementation of the std::endl operator. A clean GLog::endl operator should be implemented instead, yet this needs some deeper understanding of our the
- Member GMatrix::invert (void) const
- Needs to be implemented.
- Member GMatrix::solve (const GVector &vector) const
- Needs to be implemented.
- Member GMatrixSparse::insert_row (const int &row, const GVector &vector, const bool &add)
- Remove elements that are empty after addition
- Member GMatrixSparse::invert (void) const
- Specify in documentation for which kind of matrix the method works.
- Member GMatrixSparse::operator*= (const GMatrixSparse &matrix)
- Implement native sparse code
- Member GMatrixSparse::operator+= (const GMatrixSparse &matrix)
- Implement native sparse code
- Member GMatrixSparse::operator-= (const GMatrixSparse &matrix)
- Implement native sparse code
- Member GMatrixSparse::operator== (const GMatrixSparse &matrix) const
- Implement native sparse code
- Member GMatrixSparse::solve (const GVector &vector) const
- Specify in documentation for which kind of matrix the method works.
- Member GMatrixSymmetric::add_to_row (const int &row, const GVector &vector)
- To be implemented.
- Member GMatrixSymmetric::alloc_members (const int &rows, const int &columns)
- Verify if the index array m_inx should be initialized.
- Member GMatrixSymmetric::invert (void) const
- Specify in documentation for which kind of matrix the method works.
- Member GMatrixSymmetric::row (const int &row, const GVector &vector)
- To be implemented.
- Member GMatrixSymmetric::solve (const GVector &vector) const
- Specify in documentation for which kind of matrix the method works.
- Member GModels::read (const GXml &xml)
- Sources names are not verified so far for uniqueness. This would be required to achieve an unambiguous update of parameters in an already existing XML file when using the write method.
- Member GModelSky::flux (const GEnergy &emin, const GEnergy &emax) const
- Take spatial photon flux normalisation into account
- Member GModelSky::mc (const double &area, const GSkyDir &dir, const double &radius, const GEnergy &emin, const GEnergy &emax, const GTime &tmin, const GTime &tmax, GRan &ran) const
- Implement unique model ID to assign as Monte Carlo ID
- Member GModelSky::set_type (void)
- A method could be implemented in the GModelSpatial class that determines the model type. This is however not very critical.
- Member GModelSky::value (const GPhoton &photon)
- We probably should return a value of 0 is no model components exist. But we may also make sure that the model never has NULL pointers, which would avoid all the pointer checks.
- Member GModelSpatialComposite::set_region (void) const
- Implement computation of sky boundary region
- Member GModelSpatialDiffuseCube::mc (const GEnergy &energy, const GTime &time, GRan &ran) const
- Make sure that spatial model value is taken into account.
- Member GModelSpatialEllipticalDisk::contains (const GSkyDir &dir, const double &margin=0.0) const
- Implement correct evaluation of effective ellipse radius.
- Member GModelSpatialEllipticalDisk::eval (const double &theta, const double &posangle, const GEnergy &energy, const GTime &time, const bool &gradients=false) const
- Quote formula for ellipse solid angle
- Member GModelSpatialEllipticalDisk::mc (const GEnergy &energy, const GTime &time, GRan &ran) const
- Test function
- Member GModelSpatialEllipticalDisk::read (const GXmlElement &xml)
- Implement a test of the ellipse boundary. The axes and axes minimum should be >0.
- Member GModelSpatialEllipticalDisk::update (void) const
- check this formula
- Member GModelSpatialEllipticalGauss::contains (const GSkyDir &dir, const double &margin=0.0) const
- Implement correct evaluation of effective ellipse radius.
- Member GModelSpatialEllipticalGauss::read (const GXmlElement &xml)
- Implement a test of the ellipse boundary. The axes and axes minimum should be >0.
- Member GModelSpatialEllipticalGeneralGauss::contains (const GSkyDir &dir, const double &margin=0.0) const
- Implement correct evaluation of effective ellipse radius.
- Member GModelSpatialEllipticalGeneralGauss::read (const GXmlElement &xml)
- Implement a test of the ellipse boundary. The axes and axes minimum should be >0.
- Member GModelSpatialRadialDisk::read (const GXmlElement &xml)
- Implement a test of the radius and radius boundary. The radius and radius minimum should be >0.
- Member GModelSpatialRadialGauss::mc (const GEnergy &energy, const GTime &time, GRan &ran) const
- This method is only valid in the small angle approximation.
- Member GModelSpatialRadialGauss::read (const GXmlElement &xml)
- Implement a test of the sigma and sigma boundary. The sigma and sigma minimum should be >0.
- Member GModelSpatialRadialGeneralGauss::mc (const GEnergy &energy, const GTime &time, GRan &ran) const
- This method is only valid in the small angle approximation.
- Member GModelSpatialRadialGeneralGauss::read (const GXmlElement &xml)
- Implement a test of the radius and radius boundary. The sigma and sigma minimum should be >0.
- Member GModelSpatialRadialRing::read (const GXmlElement &xml)
- Implement a test of the radius and width. Both parameters should be >0.
- Member GModelSpatialRadialShell::read (const GXmlElement &xml)
- Implement tests of the radius and radius boundary and the width and width boundary. The radius and radius boundary should be >=0, the width and width boundary should be >0.
- Member GModelSpectralBins::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- Document method.
- Member GModelSpectralBins::read (const GXmlElement &xml)
Check that bins are ordered
Check that energy boundaries are not overlapping
- Member GModelSpectralBrokenPlaw::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- The method expects that energy!=0. Otherwise Inf or NaN may result.
- Member GModelSpectralExpInvPlaw::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- The method expects that pivot!=0. Otherwise Inf or NaN may result. We should add a test that prevents using invalid values.
- Member GModelSpectralExpPlaw::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- The method expects that pivot!=0 and ecut!=0. Otherwise Inf or NaN may result. We should add a test that prevents using invalid values.
- Member GModelSpectralLogParabola::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- The method expects that energy!=0. Otherwise Inf or NaN may result.
- Member GModelSpectralMultiplicative::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- The method expects that energy!=0. Otherwise Inf or NaN may result.
- Member GModelSpectralNodes::read (const GXmlElement &xml)
Check that nodes are ordered
Check that energy boundaries are not overlapping
Check whether we require at least one or two nodes
- Member GModelSpectralNodes::set_eval_cache (void) const
- Check that all energies and intensities are > 0
- Member GModelSpectralNodes::set_flux_cache (void) const
- Handle special case emin=emax and fmin=fmax
- Member GModelSpectralNodes::update_eval_cache (void) const
- Check that all energies and intensities are > 0
- Member GModelSpectralPlaw::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- The method expects that energy!=0. Otherwise Inf or NaN may result.
- Member GModelSpectralSmoothBrokenPlaw::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- The method expects that energy!=0. Otherwise Inf or NaN may result.
- Member GModelSpectralSuperExpPlaw::eval (const GEnergy &srcEng, const GTime &srcTime=GTime(), const bool &gradients=false) const
- The method expects that pivot!=0 and ecut!=0. Otherwise Inf or NaN may result. We should add a test that prevents using invalid values.
- Member GMWLSpectrum::load (const GFilename &filename)
- So far only FITS file support is implemented.
- Member GMWLSpectrum::read_fits (const GFitsTable &table)
- Investigate whether we can exploit UCDs for identifying the correct columns or for determining the units.
- Member GMWLSpectrum::save (const GFilename &filename, const bool &clobber=false) const
- To be implemented.
- Member GMWLSpectrum::write (GFits &file) const
- To be implemented.
- Member GObservations::read (const GXml &xml)
- Observation names and IDs are not verified so far for uniqueness. This would be required to achieve an unambiguous update of parameters in an already existing XML file when using the write method.
- Member GRan::cdf (const GVector &cdf)
- Somehow merge with the above method to reduce code repetition
- Member GRan::exp (const double &lambda)
- Check that \(\lambda>0\).
- Member GSkyMap::create_wcs_hdu (void) const
- Set additional keywords.
- Member GSkyMap::load (const GFilename &filename)
- Do we have to restrict a HEALPix map to a BinTable and a WCS map to a Double precision image???
- Member GSkyMap::projection (const GSkyProjection &proj)
- We may restrict this method to not allow changing the projection dimension.
- Member GSkyRegionMap::read (const std::string &line)
- Translate any DS9 region into a map.
- Member GSkyRegionMap::write (void) const
- Translate region map into a DS9 polygon.
- Member GSkyRegionRectangle::overlaps (const GSkyRegion ®) const
- Improve implementation for rectangle-rectangle
- Member GSPIEventBin::error (void) const
- The choice of delta has been made somewhat arbitrary, mainly because the optimizer routines filter error^2 below 1e-100.
- Member GSPIModelDataSpace::mc (const GObservation &obs, GRan &ran) const
- Implement method.
- Member GSPIModelDataSpace::npred (const GEnergy &obsEng, const GTime &obsTime, const GObservation &obs) const
- Implement method.
- Class GSPIObservation
- Complete the class description.
- Class GSPIResponse
- Complete the class description.
- Member GSPIResponse::ebounds (const GEnergy &obsEnergy) const
- Implement this method if you need energy dispersion.
- Member GSPIResponse::irf (const GEvent &event, const GPhoton &photon, const GObservation &obs) const
Write down formula
Describe in detail how the response is computed.
- Member GSPIResponse::use_edisp (void) const
- Implement method as needed.
- Member GSPIResponse::use_tdisp (void) const
- Implement method as needed.
- Class GTestSuite
- Detailed explanation.
- Class GTestSuites
- Provide detailed description
- Member GTimeReference::set (const double &mrdref, const std::string &timeunit, const std::string ×ys="TT", const std::string &timeref="LOCAL")
- Implement checking of "timesys" and "timeref" parameters.
- Member GUrlFile::copy_members (const GUrlFile &url)
- The simple copying of the file pointer is not clean as we have no control anymore over the object. The file pointer should be cloned somehow.
- Member GUrlFile::open (const std::string &url, const std::string &mode)
- Strip any file:// prefix
- Member GUrlString::scanf (const char *format,...)
- The position indicator is not forwared as I have no idea how to do this in fact!!!
- Member GWcs::set_members (const std::string &coords, const double &crval1, const double &crval2, const double &crpix1, const double &crpix2, const double &cdelt1, const double &cdelt2)
- Implement parameter validity check
- Member GWcs::wcs_p2s (int ncoord, int nelem, const double *pixcrd, double *imgcrd, double *phi, double *theta, double *world, int *stat) const
Check for constant x and/or y to speed-up computations
Zero the unused world coordinate elements
- Member GWcs::wcs_s2p (int ncoord, int nelem, const double *world, double *phi, double *theta, double *imgcrd, double *pixcrd, int *stat) const
Check for constant x and/or y to speed-up computations
Zero the unused world coordinate elements
- Member GWcs::wcs_set (void) const
Determine axis types from CTYPEia
Convert to canonical units
Do we have PVi_ma keyvalues?
Do simple alias translations
Update PVi_ma keyvalues
Non-linear spectral axis present?
Tabular axes present?
- Member GXml::load (const GFilename &filename)
- Ideally, we would like to extract the URL type from the filename so that any kind of URL can be used for loading.
- Member GXml::save (const GFilename &filename) const
- Ideally, we would like to extract the URL type from the filename so that any kind of URL can be used for loading.
- Member GXmlComment::parse (const std::string &segment)
- Check validity of characters in comment string
- Member GXmlElement::parse_attribute (size_t *pos, const std::string &segment)
- Verify XML validity of attribute name and value
- Member GXmlNode::copy_members (const GXmlNode &node)
- Is copying the parent node pointer correct?
- Member operator== (const GHorizDir &a, const GHorizDir &b)
- : really should test for being within some tolerance here