GammaLib  2.1.0.dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GFitsAsciiTable.hpp
Go to the documentation of this file.
1 /***************************************************************************
2  * GFitsAsciiTable.hpp - FITS ASCII table class *
3  * ----------------------------------------------------------------------- *
4  * copyright (C) 2008-2018 by Juergen Knoedlseder *
5  * ----------------------------------------------------------------------- *
6  * *
7  * This program is free software: you can redistribute it and/or modify *
8  * it under the terms of the GNU General Public License as published by *
9  * the Free Software Foundation, either version 3 of the License, or *
10  * (at your option) any later version. *
11  * *
12  * This program is distributed in the hope that it will be useful, *
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15  * GNU General Public License for more details. *
16  * *
17  * You should have received a copy of the GNU General Public License *
18  * along with this program. If not, see <http://www.gnu.org/licenses/>. *
19  * *
20  ***************************************************************************/
21 /**
22  * @file GFitsAsciiTable.hpp
23  * @brief FITS ASCII table class definition
24  * @author Juergen Knoedlseder
25  */
26 
27 #ifndef GFITSASCIITABLE_HPP
28 #define GFITSASCIITABLE_HPP
29 
30 /* __ Includes ___________________________________________________________ */
31 #include "GFitsTable.hpp"
32 
33 
34 /***********************************************************************//**
35  * @class GFitsAsciiTable
36  *
37  * @brief FITS ASCII table class
38  *
39  * The following ASCII table columns are supported:
40  * TSTRING (A),
41  * TLONG (I),
42  * TDOUBLE (F,D)
43  * TFLOAT (E)
44  ***************************************************************************/
45 class GFitsAsciiTable : public GFitsTable {
46 
47 public:
48  // Constructors and destructors
49  GFitsAsciiTable(void);
50  explicit GFitsAsciiTable(const int& nrows);
51  GFitsAsciiTable(const GFitsAsciiTable& table);
52  virtual ~GFitsAsciiTable(void);
53 
54  // Operators
56 
57  // Methods
58  virtual void clear(void);
59  virtual GFitsAsciiTable* clone(void) const;
60  virtual std::string classname(void) const;
61  HDUType exttype(void) const;
62 
63 private:
64  // Private methods
65  void init_members(void);
66  void copy_members(const GFitsAsciiTable& table);
67  void free_members(void);
68  void init_table_header(void);
69 };
70 
71 
72 /***********************************************************************//**
73  * @brief Return class name
74  *
75  * @return String containing the class name ("GFitsAsciiTable").
76  ***************************************************************************/
77 inline
78 std::string GFitsAsciiTable::classname(void) const
79 {
80  return ("GFitsAsciiTable");
81 }
82 
83 
84 /***********************************************************************//**
85  * @brief Return extension type
86  *
87  * @return Extension type (HT_ASCII_TABLE).
88  ***************************************************************************/
89 inline
91 {
92  return (HT_ASCII_TABLE);
93 }
94 
95 #endif /* GFITSASCIITABLE_HPP */
HDUType exttype(void) const
Return extension type.
Abstract interface for FITS table.
Definition: GFitsTable.hpp:44
virtual void clear(void)
Clear ASCII table.
void init_table_header(void)
Initialise ASCII table header.
FITS ASCII table class.
virtual GFitsAsciiTable * clone(void) const
Clone ASCII table.
const int & nrows(void) const
Return number of rows in table.
Definition: GFitsTable.hpp:119
GFitsAsciiTable(void)
Void constructor.
virtual ~GFitsAsciiTable(void)
Destructor.
GFitsAsciiTable & operator=(const GFitsAsciiTable &table)
Assignment operator.
void init_members(void)
Initialise class members.
virtual std::string classname(void) const
Return class name.
void copy_members(const GFitsAsciiTable &table)
Copy class members.
void free_members(void)
Delete class members.
FITS table abstract base class interface definition.