Commit a423b3abce3295037be5737d6f79f0663da522fc

Authored by Jürgen Knödlseder
1 parent 8cbd8272

Add optional DRW header parameters

inst/com/include/GCOMDri.hpp
... ... @@ -167,6 +167,13 @@ protected:
167 167 int m_num_used_superpackets; //!< Number of used superpackets
168 168 int m_num_skipped_superpackets; //!< Number of skipped superpackets
169 169  
  170 + // Optional DRW parameters
  171 + std::string m_drw_method; //!< DRW method
  172 + std::string m_drw_status; //!< DRW fitting status
  173 + double m_drw_fprompt; //!< DRW fitted fprompt parameter
  174 + double m_drw_e_fprompt; //!< DRW fprompt parameter error
  175 + int m_drw_iter; //!< DRW fitting iterations
  176 +
170 177 // Selection parameters
171 178 bool m_has_selection; //!< Signal that selection was applied
172 179 GCOMSelection m_selection; //!< Selection parameters
... ...
inst/com/src/GCOMDri.cpp
... ... @@ -1091,6 +1091,13 @@ void GCOMDri::init_members(void)
1091 1091 // Initialise statistics
1092 1092 init_statistics();
1093 1093  
  1094 + // Initialise optional DRW parameters
  1095 + m_drw_method.clear();
  1096 + m_drw_status.clear();
  1097 + m_drw_fprompt = 0.0;
  1098 + m_drw_e_fprompt = 0.0;
  1099 + m_drw_iter = 0;
  1100 +
1094 1101 // Initialise selection parameters
1095 1102 m_has_selection = false;
1096 1103 m_selection.clear();
... ... @@ -1125,6 +1132,13 @@ void GCOMDri::copy_members(const GCOMDri&amp; dri)
1125 1132 m_num_used_superpackets = dri.m_num_used_superpackets;
1126 1133 m_num_skipped_superpackets = dri.m_num_skipped_superpackets;
1127 1134  
  1135 + // Copy optional DRW parameters
  1136 + m_drw_method = dri.m_drw_method;
  1137 + m_drw_status = dri.m_drw_status;
  1138 + m_drw_fprompt = dri.m_drw_fprompt;
  1139 + m_drw_e_fprompt = dri.m_drw_e_fprompt;
  1140 + m_drw_iter = dri.m_drw_iter;
  1141 +
1128 1142 // Copy selection parameters
1129 1143 m_has_selection = dri.m_has_selection;
1130 1144 m_selection = dri.m_selection;
... ... @@ -1444,6 +1458,17 @@ void GCOMDri::write_attributes(GFitsHDU* hdu) const
1444 1458 hdu->card("NSPUSE", m_num_used_superpackets, "Number of used superpackets");
1445 1459 hdu->card("NSPSKP", m_num_skipped_superpackets, "Number of skipped superpackets");
1446 1460  
  1461 + // Write optional DRW parameters
  1462 + if (!m_drw_method.empty()) {
  1463 + hdu->card("DRWMETHO", m_drw_method, "DRW computation method");
  1464 + if (m_drw_iter > 0) {
  1465 + hdu->card("DRWFITST", m_drw_status, "DRW f_prompt fit status");
  1466 + hdu->card("DRWFITIT", m_drw_iter, "DRW f_prompt fit iterations");
  1467 + hdu->card("DRWFP", m_drw_fprompt, "DRW f_prompt value");
  1468 + hdu->card("DRWEFP", m_drw_e_fprompt, "DRW f_prompt value error");
  1469 + }
  1470 + }
  1471 +
1447 1472 // Return
1448 1473 return;
1449 1474 }
... ...