Commit 21710d59df351e515f0a45eb5f40e1aaf8fdee81

Authored by Jürgen Knödlseder
1 parent 2de25f8e

Enhance logging experience.

src/ctmodel/ctmodel.cpp
... ... @@ -254,57 +254,56 @@ void ctmodel::run(void)
254 254 // Loop over all observations in the container
255 255 for (int i = 0; i < m_obs.size(); ++i) {
256 256  
257   - // Get CTA observation
258   - GCTAObservation* obs = dynamic_cast<GCTAObservation*>(m_obs[i]);
259   -
260   - // Continue only if observation is a CTA observation
261   - if (obs != NULL) {
262   -
263   - // Write header for observation
264   - if (logTerse()) {
265   - if (obs->name().length() > 1) {
266   - log.header3("Observation "+obs->name());
267   - }
268   - else {
269   - log.header3("Observation");
270   - }
  257 + // Write header for observation
  258 + if (logTerse()) {
  259 + std::string header = m_obs[i]->instrument() + " observation";
  260 + if (m_obs[i]->name().length() > 1) {
  261 + header += " \"" + m_obs[i]->name() + "\"";
271 262 }
272   -
273   - // Fill cube and leave loop if we are binned mode (meaning we only have
274   - // one binned observation)
275   - if (m_binned && m_obs.size() == 1) {
276   - fill_cube(obs);
277   - break;
  263 + if (m_obs[i]->id().length() > 1) {
  264 + header += " (id=" + m_obs[i]->id() +")";
278 265 }
  266 + log.header3(header);
  267 + }
279 268  
280   - // Skip observation if we don't have an unbinned observation
281   - if (obs->eventtype() != "EventList") {
  269 + // Get CTA observation
  270 + GCTAObservation* obs = dynamic_cast<GCTAObservation*>(m_obs[i]);
282 271  
283   - // Log that we skip the this observation
284   - if (logTerse()) {
285   - log << "Warning: Skipping binned observation \""+obs->name()+"\"";
286   - log << std::endl;
287   - }
288   - continue;
  272 + // Skip observation if it's not CTA
  273 + if (obs == NULL) {
  274 + if (logTerse()) {
  275 + log << " Skipping ";
  276 + log << m_obs[i]->instrument();
  277 + log << " observation" << std::endl;
289 278 }
  279 + continue;
  280 + }
290 281  
291   -
292   - // Fill the cube
  282 + // Fill cube and leave loop if we are binned mode (meaning we
  283 + // only have one binned observation)
  284 + if (m_binned && m_obs.size() == 1) {
293 285 fill_cube(obs);
  286 + break;
  287 + }
294 288  
295   - // Leave loop if we are binned mode (meaning we only have
296   - // one binned observation
297   - if (m_binned && m_obs.size() == 1) {
298   - break;
  289 + // Skip observation if we have a binned observation
  290 + if (obs->eventtype() == "CountsCube") {
  291 + if (logTerse()) {
  292 + log << " Skipping binned ";
  293 + log << obs->instrument();
  294 + log << " observation" << std::endl;
299 295 }
  296 + continue;
  297 + }
300 298  
301   - // Dispose events to free memory if event file exists on disk
302   - if (obs->eventfile().length() > 0 &&
303   - gammalib::file_exists(obs->eventfile())) {
304   - obs->dispose_events();
305   - }
  299 + // Fill the cube
  300 + fill_cube(obs);
306 301  
307   - } // endif: CTA observation found
  302 + // Dispose events to free memory if event file exists on disk
  303 + if (obs->eventfile().length() > 0 &&
  304 + gammalib::file_exists(obs->eventfile())) {
  305 + obs->dispose_events();
  306 + }
308 307  
309 308 } // endfor: looped over observations
310 309  
... ... @@ -345,8 +344,18 @@ void ctmodel::save(void)
345 344 // Make sure we have the FITS filename
346 345 m_outcube = (*this)["outcube"].filename();
347 346  
348   - // Save model cube into FITS file
349   - m_cube.save(m_outcube, clobber());
  347 + // Save only if filename is non-empty
  348 + if (m_outcube.length() > 0) {
  349 +
  350 + // Dump filename
  351 + if (logTerse()) {
  352 + log << "Save \""+m_outcube+"\"" << std::endl;
  353 + }
  354 +
  355 + // Save model cube into FITS file
  356 + m_cube.save(m_outcube, clobber());
  357 +
  358 + }
350 359  
351 360 // Return
352 361 return;
... ...
src/ctmodel/ctmodel.hpp
... ... @@ -92,7 +92,7 @@ protected:
92 92 GGti m_gti; //!< Model cube GTIs
93 93 bool m_has_cube; //!< Signal if cube has been set or loaded
94 94 bool m_append_cube; //!< Signal that cube should be appended
95   - bool m_binned; //!< Signals that we are in binned mode
  95 + bool m_binned; //!< Signals that we are in binned mode
96 96 };
97 97  
98 98  
... ...