27 #ifndef ioutils_fits__fitsHeader_hpp
28 #define ioutils_fits__fitsHeader_hpp
32 #include <unordered_map>
60 typedef std::unordered_multimap<std::string, headerIterator>::iterator
mapIterator;
68 std::list<fitsHeaderCard>
cards;
73 std::unordered_multimap<std::string, headerIterator>
cardMap;
116 size_t count(
const std::string & keyword );
124 void erase(
const std::string & keyword);
154 template<
typename typeT>
155 void append(
const std::string &
k,
const typeT &v,
const std::string &
c);
164 template<
typename typeT>
165 void append(
const std::string &
k,
const typeT &v);
172 void append(
const std::string &
k);
197 template<
typename typeT>
209 template<
typename typeT>
230 template<
typename typeT>
242 template<
typename typeT>
269 template<
typename typeT>
279 template<
typename typeT>
287 template<
typename typeT>
289 const std::string &
k,
298 template<
typename typeT>
300 const std::string &
k,
307 template<
typename typeT>
309 const std::string &
k,
318 template<
typename typeT>
320 const std::string &
k,
342 template<
typename dataT>
344 std::vector<fitsHeader> & heads,
345 const std::string &keyw
348 v.resize(heads.size());
350 for(
size_t i=0;i<heads.size(); ++i)
352 v[i] = heads[i][keyw].value<dataT>();
367 template<
typename dataT>
369 const std::string &keyw
372 std::vector<dataT> v(heads.size());
389 const std::string & repoName,
constexpr units::realT c()
The speed of light.
constexpr units::realT k()
Boltzmann Constant.
void fitsHeaderGitStatus(fitsHeader &head, const std::string &repoName, const char *sha1, int modified)
Write the status of a Git repository to HISTORY in a FITS header.
std::vector< dataT > headersToValues(std::vector< fitsHeader > &heads, const std::string &keyw)
Convert the values in a std::vector of fits headers into a std::vector of values.