Commit 342c1007fdd302022520dcf822a60b7f9400d0b4
1 parent
bb0bddad
Write response information into simulated observation definition file (#2170)
Showing
4 changed files
with
40 additions
and
12 deletions
ChangeLog
| 1 | -2017-07-22 | |
| 1 | +2017-07-25 | |
| 2 | 2 | |
| 3 | 3 | * Version 1.4.0 released |
| 4 | 4 | ========================= |
| 5 | 5 | |
| 6 | + Write response information into simulated observation definition file (#2170) | |
| 6 | 7 | Normalise phase curves by default (#2154) |
| 7 | 8 | Support Python list slicing for container classes (#2128) |
| 8 | 9 | Add GSkyRegions::overlaps() and GSkyMap::overlaps() classes (#1980) | ... | ... |
NEWS
| 1 | 1 | New Features and Important Changes in GammaLib 1.4.0 |
| 2 | 2 | |
| 3 | -22 July 2017 | |
| 3 | +25 July 2017 | |
| 4 | 4 | |
| 5 | 5 | |
| 6 | 6 | 1. Introduction |
| ... | ... | @@ -149,6 +149,10 @@ GCTACubeEdisp::fill_cube(), and GCTACubeBackground::fill() methods now |
| 149 | 149 | exclude any observations from the filling for which the RoI does not |
| 150 | 150 | overlap with the cube definition (#1980). |
| 151 | 151 | |
| 152 | +The response information is now always written in the observation definition | |
| 153 | +XML file if it is available, and not only if it has been read in previously | |
| 154 | +from another XML file (#2170). | |
| 155 | + | |
| 152 | 156 | |
| 153 | 157 | 21. COMPTEL interface |
| 154 | 158 | --------------------- | ... | ... |
doc/source/admin/release_history/1.4.rst
| ... | ... | @@ -10,8 +10,7 @@ GammaLib 1.4 is a major release that adds significant functionality. |
| 10 | 10 | |
| 11 | 11 | In particular, this release provides: |
| 12 | 12 | |
| 13 | -* TBD | |
| 14 | -* TBD | |
| 13 | +* Support for Python list slicing for all container classes | |
| 15 | 14 | |
| 16 | 15 | |
| 17 | 16 | Bug fixes |
| ... | ... | @@ -21,6 +20,10 @@ Bug fixes |
| 21 | 20 | Improvements |
| 22 | 21 | ------------ |
| 23 | 22 | |
| 23 | +* [`2170 <https://cta-redmine.irap.omp.eu/issues/2170>`_] - | |
| 24 | + Write response information into simulated observation definition file | |
| 25 | +* [`2154 <https://cta-redmine.irap.omp.eu/issues/2154>`_] - | |
| 26 | + Normalise phase curves by default | |
| 24 | 27 | * [`1980 <https://cta-redmine.irap.omp.eu/issues/1980>`_] - |
| 25 | 28 | Add ``GSkyRegions::overlaps()`` and ``GSkyMap::overlaps()`` classes |
| 26 | 29 | |
| ... | ... | @@ -28,6 +31,9 @@ Improvements |
| 28 | 31 | New features |
| 29 | 32 | ------------ |
| 30 | 33 | |
| 34 | +* [`2128 <https://cta-redmine.irap.omp.eu/issues/2128>`_] - | |
| 35 | + Support Python list slicing for container classes | |
| 36 | + | |
| 31 | 37 | |
| 32 | 38 | |
| 33 | 39 | Clean up | ... | ... |
inst/cta/src/GCTAResponseIrf.cpp
| ... | ... | @@ -756,11 +756,11 @@ void GCTAResponseIrf::read(const GXmlElement& xml) |
| 756 | 756 | |
| 757 | 757 | } // endif: sigma attribute specified |
| 758 | 758 | |
| 759 | - // Store database and response names (we do this now since the | |
| 760 | - // load() method results the object, except of the calibration | |
| 761 | - // database) | |
| 762 | - m_xml_caldb = xml_caldb; | |
| 763 | - m_xml_rspname = xml_rspname; | |
| 759 | + // Store database and response names for later writing into the XML | |
| 760 | + // file (we do this now since the load() method clears all | |
| 761 | + // GCTAResponseIrf data members) | |
| 762 | + //m_xml_caldb = xml_caldb; | |
| 763 | + //m_xml_rspname = xml_rspname; | |
| 764 | 764 | |
| 765 | 765 | } // endif: "Calibration" parameter found |
| 766 | 766 | |
| ... | ... | @@ -1020,6 +1020,9 @@ void GCTAResponseIrf::write(GXmlElement& xml) const |
| 1020 | 1020 | * appropriate response is found, the method takes the database root path |
| 1021 | 1021 | * and response name to build the full path to the response file, and tries |
| 1022 | 1022 | * to load the response from these paths. |
| 1023 | + * | |
| 1024 | + * The method sets the calibration database and response names for writing | |
| 1025 | + * of the response information into the XML file. | |
| 1023 | 1026 | ***************************************************************************/ |
| 1024 | 1027 | void GCTAResponseIrf::load(const std::string& rspname) |
| 1025 | 1028 | { |
| ... | ... | @@ -1042,19 +1045,26 @@ void GCTAResponseIrf::load(const std::string& rspname) |
| 1042 | 1045 | bgdname = m_caldb.filename("","","BGD","","",expr); |
| 1043 | 1046 | } |
| 1044 | 1047 | |
| 1048 | + // Signal usage of calibration database | |
| 1049 | + bool use_caldb = true; | |
| 1050 | + | |
| 1045 | 1051 | // If filenames are empty then build filenames from CALDB root path and |
| 1046 | 1052 | // response name |
| 1047 | 1053 | if (aeffname.is_empty()) { |
| 1048 | - aeffname = irf_filename(gammalib::filepath(m_caldb.rootdir(), rspname)); | |
| 1054 | + aeffname = irf_filename(gammalib::filepath(m_caldb.rootdir(), rspname)); | |
| 1055 | + use_caldb = false; | |
| 1049 | 1056 | } |
| 1050 | 1057 | if (psfname.is_empty()) { |
| 1051 | - psfname = irf_filename(gammalib::filepath(m_caldb.rootdir(), rspname)); | |
| 1058 | + psfname = irf_filename(gammalib::filepath(m_caldb.rootdir(), rspname)); | |
| 1059 | + use_caldb = false; | |
| 1052 | 1060 | } |
| 1053 | 1061 | if (edispname.is_empty()) { |
| 1054 | 1062 | edispname = irf_filename(gammalib::filepath(m_caldb.rootdir(), rspname)); |
| 1063 | + use_caldb = false; | |
| 1055 | 1064 | } |
| 1056 | 1065 | if (bgdname.is_empty()) { |
| 1057 | - bgdname = irf_filename(gammalib::filepath(m_caldb.rootdir(), rspname)); | |
| 1066 | + bgdname = irf_filename(gammalib::filepath(m_caldb.rootdir(), rspname)); | |
| 1067 | + use_caldb = false; | |
| 1058 | 1068 | } |
| 1059 | 1069 | |
| 1060 | 1070 | // Load effective area |
| ... | ... | @@ -1078,6 +1088,13 @@ void GCTAResponseIrf::load(const std::string& rspname) |
| 1078 | 1088 | // Store response name |
| 1079 | 1089 | m_rspname = rspname; |
| 1080 | 1090 | |
| 1091 | + // If the calibration database has been used then store database and | |
| 1092 | + // response names for later writing into the XML file | |
| 1093 | + if (use_caldb) { | |
| 1094 | + m_xml_caldb = caldb.instrument(); | |
| 1095 | + m_xml_rspname = rspname; | |
| 1096 | + } | |
| 1097 | + | |
| 1081 | 1098 | // Return |
| 1082 | 1099 | return; |
| 1083 | 1100 | } | ... | ... |