Class Header

Class Documentation

class Header

Public Functions

Header() = default
inline Header(const Header &other)

copy constructor

inline Header &operator=(const Header &other)

assignment operator

inline FitsKeys &primary()

return a reference to _primary object

getter functions return references to the private FitsKeys data objects

inline FitsKeys &extension()

return a reference to _extension object

inline std::map<std::string, FitsKeys> &elmomap()
inline void erase_extensions()
inline void erase_extensions(const std::string &chan)
inline FitsKeys &elmo(const std::string &chan)
inline const FitsKeys &elmo(const std::string &chan) const
inline void copy_extensionmap(const Header &source)
inline void copy_extension(const std::string &chan, const Header &src)
inline void merge_extension(const std::string &chan, const Header &src)
inline void add_extension(const std::string chan, const FitsKeys &keydb)
inline bool has_chan(const std::string chan) const
template<typename T>
inline void add_key_t(FitsKeys &keydb, const std::string &keyword, const T &value, const std::string &comment, std::string type_override)

template class adds key,value,comment to indicated keydb

Parameters:
  • keydb[in] reference to FitsKeys database map

  • keyword[in] name of header keyword

  • value[in] value of template type <T>

  • comment[in] comment string for header keyword

template<typename T>
inline void add_key(FitsKeys &keydb, const std::string &keyword, const T &value, const std::string &comment)
template<typename T>
inline void add_key(const std::string &keyword, const T &value, const std::string &comment, bool use_extension, const std::string &chan = "")
inline void add_json_key(const json &jmessage, const std::string &jkey, const std::string &keyword, const std::string &comment, const std::string &type, bool use_extension, const std::string &chan = "")

template class adds key,value,comment to indicated keydb from json message

This extracts the value from a JSON message and uses add_key to add the keyword to the indicated database map.

Parameters:
  • jmessage[in] JSON message is the source of the value

  • jkey[in] key to index jmessage

  • keyword[in] FITS header keyword

  • comment[in] comment string for header keyword

  • type[in] type of key can be optionally specified

  • use_extension[in] extension or primary

  • chan[in] channel selects keyword db

inline void add_elmo_key(FitsKeys &keydb, const json &jmessage, const std::string &jkey, const std::string &keyword, const std::string &comment)
template<typename HeaderType, typename T = nlohmann::json>
inline void add_json_key(HeaderType type, const T &jmessage, const std::string &keyword, const std::string &comment)
template<typename HeaderType>
inline void add_json_key(HeaderType type, const nlohmann::json &jmessage, const std::string &jkey, const std::string &keyword, const std::string &comment)