Commit bbd08db3a6caafdd031dce7744ded754946cb97c

Authored by Jürgen Knödlseder
1 parent 0847394c

Add ctool::get_obs_header() method.

pyext/ctool.i
@@ -99,6 +99,7 @@ public: @@ -99,6 +99,7 @@ public:
99 %rename(_set_obs_bounds) set_obs_bounds(GObservations& obs); 99 %rename(_set_obs_bounds) set_obs_bounds(GObservations& obs);
100 %rename(_get_mean_pointing) get_mean_pointing(const GObservations& obs); 100 %rename(_get_mean_pointing) get_mean_pointing(const GObservations& obs);
101 %rename(_get_current_rss) get_current_rss(); 101 %rename(_get_current_rss) get_current_rss();
  102 + %rename(_get_obs_header) get_obs_header();
102 103
103 // Protected methods 104 // Protected methods
104 const bool& read_ahead(void) const; 105 const bool& read_ahead(void) const;
@@ -122,6 +123,7 @@ public: @@ -122,6 +123,7 @@ public:
122 void set_obs_bounds(GObservations& obs); 123 void set_obs_bounds(GObservations& obs);
123 GSkyDir get_mean_pointing(const GObservations& obs); 124 GSkyDir get_mean_pointing(const GObservations& obs);
124 size_t get_current_rss(void); 125 size_t get_current_rss(void);
  126 + std::string get_obs_header(const GObservation* obs);
125 }; 127 };
126 128
127 129
src/support/ctool.cpp
@@ -1108,6 +1108,39 @@ size_t ctool::get_current_rss(void) @@ -1108,6 +1108,39 @@ size_t ctool::get_current_rss(void)
1108 1108
1109 1109
1110 /***********************************************************************//** 1110 /***********************************************************************//**
  1111 + * @brief Return observation header string
  1112 + *
  1113 + * @param[in] obs Pointer to observation.
  1114 + * @return String containing observation information.
  1115 + *
  1116 + * Returns a string that contains observation information, including the
  1117 + * instrument name, the observation name, and the observation ID. The format
  1118 + * of the string is
  1119 + *
  1120 + * XXX observation "name" (id=YYYYY)
  1121 + *
  1122 + ***************************************************************************/
  1123 +std::string ctool::get_obs_header(const GObservation* obs)
  1124 +{
  1125 + // Initialise header string
  1126 + std::string header = obs->instrument() + " observation";
  1127 +
  1128 + // If observation name is not empty then add name
  1129 + if (!obs->name().empty()) {
  1130 + header += " \"" + obs->name() + "\"";
  1131 + }
  1132 +
  1133 + // If observation ID is not empty then add ID
  1134 + if (!obs->id().empty()) {
  1135 + header += " (id=" + obs->id() +")";
  1136 + }
  1137 +
  1138 + // Return header
  1139 + return header;
  1140 +}
  1141 +
  1142 +
  1143 +/***********************************************************************//**
1111 * @brief Dumps help text in the console 1144 * @brief Dumps help text in the console
1112 ***************************************************************************/ 1145 ***************************************************************************/
1113 void ctool::provide_help(void) const 1146 void ctool::provide_help(void) const
src/support/ctool.hpp
1 /*************************************************************************** 1 /***************************************************************************
2 * ctool - ctool base class * 2 * ctool - ctool base class *
3 * ----------------------------------------------------------------------- * 3 * ----------------------------------------------------------------------- *
4 - * copyright (C) 2014-2015 by Juergen Knoedlseder * 4 + * copyright (C) 2014-2016 by Juergen Knoedlseder *
5 * ----------------------------------------------------------------------- * 5 * ----------------------------------------------------------------------- *
6 * * 6 * *
7 * This program is free software: you can redistribute it and/or modify * 7 * This program is free software: you can redistribute it and/or modify *
@@ -90,17 +90,18 @@ protected: @@ -90,17 +90,18 @@ protected:
90 void set_obs_bounds(GObservations& obs); 90 void set_obs_bounds(GObservations& obs);
91 GSkyDir get_mean_pointing(const GObservations& obs); 91 GSkyDir get_mean_pointing(const GObservations& obs);
92 size_t get_current_rss(void); 92 size_t get_current_rss(void);
  93 + std::string get_obs_header(const GObservation* obs);
93 94
94 // Protected members 95 // Protected members
95 - bool m_read_ahead; //!< Read ahead parameters 96 + bool m_read_ahead; //!< Read ahead output parameters
96 97
97 protected: 98 protected:
98 // Protected methods 99 // Protected methods
99 - void provide_help(void) const; 100 + void provide_help(void) const;
100 101
101 // Protected members 102 // Protected members
102 - bool m_use_xml; //!< Use XML file instead of FITS file for observations  
103 - GTimeReference m_cta_ref; //!< CTA time reference 103 + bool m_use_xml; //!< Use XML file instead of FITS file for observations
  104 + GTimeReference m_cta_ref; //!< CTA time reference
104 }; 105 };
105 106
106 107