GammaLib 2.0.0
Loading...
Searching...
No Matches
GMWLInstDir.hpp
Go to the documentation of this file.
1/***************************************************************************
2 * GMWLInstDir.hpp - Multi-wavelength instrument direction class *
3 * ----------------------------------------------------------------------- *
4 * copyright (C) 2010-2020 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 GMWLInstDir.hpp
23 * @brief GMWLInstDir class definition.
24 * @author Juergen Knoedlseder
25 */
26
27#ifndef GMWLINSTDIR_HPP
28#define GMWLINSTDIR_HPP
29
30/* __ Includes ___________________________________________________________ */
31#include <string>
32#include <sys/types.h>
33#if defined(__sun) && (defined(__svr4__) || defined(__SVR4)) // SOLARIS
34 typedef uint64_t u_int64_t;
35#endif // SOLARIS
36#include "GInstDir.hpp"
37
38
39/***********************************************************************//**
40 * @class GMWLInstDir
41 *
42 * @brief Interface for the Multi-wavelength instrument direction class.
43 *
44 * The Multi-wavelength instrument direction class is a dummy class that is
45 * needed but not used for the implementation of the Multi-wavelength
46 * interface as an instrument class.
47 ***************************************************************************/
48class GMWLInstDir : public GInstDir {
49
50public:
51 // Constructors and destructors
52 GMWLInstDir(void);
53 GMWLInstDir(const GMWLInstDir& dir);
54 virtual ~GMWLInstDir(void);
55
56 // Operators
58
59 // Methods
60 virtual void clear(void);
61 virtual GMWLInstDir* clone(void) const;
62 virtual std::string classname(void) const;
63 virtual u_int64_t hash(void) const;
64 virtual std::string print(const GChatter& chatter = NORMAL) const;
65
66protected:
67 // Protected methods
68 void init_members(void);
69 void copy_members(const GMWLInstDir& dir);
70 void free_members(void);
71};
72
73
74/***********************************************************************//**
75 * @brief Return class name
76 *
77 * @return String containing the class name ("GMWLInstDir").
78 ***************************************************************************/
79inline
80std::string GMWLInstDir::classname(void) const
81{
82 return ("GMWLInstDir");
83}
84
85
86/***********************************************************************//**
87 * @brief Return instrument direction hash value
88 *
89 * @return Hash value.
90 *
91 * Returns a hash value that can be used in the response cache.
92 ***************************************************************************/
93inline
94u_int64_t GMWLInstDir::hash(void) const
95{
96 return 0;
97}
98
99#endif /* GMWLINSTDIR_HPP */
Abstract instrument direction base class definition.
GChatter
Definition GTypemaps.hpp:33
@ NORMAL
Definition GTypemaps.hpp:36
Abstract instrument direction base class.
Definition GInstDir.hpp:51
Interface for the Multi-wavelength instrument direction class.
void free_members(void)
Delete class members.
virtual u_int64_t hash(void) const
Return instrument direction hash value.
virtual GMWLInstDir * clone(void) const
Clone instance.
GMWLInstDir(void)
Void constructor.
void init_members(void)
Initialise class members.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print instrument direction information.
virtual ~GMWLInstDir(void)
Destructor.
virtual std::string classname(void) const
Return class name.
GMWLInstDir & operator=(const GMWLInstDir &dir)
Assignment operator.
void copy_members(const GMWLInstDir &dir)
Copy class members.
virtual void clear(void)
Clear instance.