Commit 04d8c1544567403c3a2560b5ed4f60f475005069
1 parent
7f7a1d41
add LAT observation class
Showing
7 changed files
with
129 additions
and
9 deletions
include/GLATObservation.hpp
| ... | ... | @@ -21,6 +21,7 @@ |
| 21 | 21 | |
| 22 | 22 | /* __ Includes ___________________________________________________________ */ |
| 23 | 23 | #include "GObservation.hpp" |
| 24 | +#include "GFits.hpp" | |
| 24 | 25 | |
| 25 | 26 | /* __ Namespaces _________________________________________________________ */ |
| 26 | 27 | |
| ... | ... | @@ -35,24 +36,30 @@ class GLATObservation : public GObservation { |
| 35 | 36 | public: |
| 36 | 37 | // Constructors and destructors |
| 37 | 38 | GLATObservation(); |
| 39 | + GLATObservation(const std::string& ft1name, const std::string& ft2name); | |
| 38 | 40 | GLATObservation(const GLATObservation& obs); |
| 39 | 41 | virtual ~GLATObservation(); |
| 40 | 42 | |
| 41 | 43 | // Operators |
| 42 | - virtual GLATObservation& operator= (const GLATObservation& obs); | |
| 44 | + GLATObservation& operator= (const GLATObservation& obs); | |
| 43 | 45 | |
| 44 | 46 | // Methods |
| 47 | + GFits* ft1(void) const; | |
| 48 | + GFits* ft2(void) const; | |
| 45 | 49 | |
| 46 | 50 | protected: |
| 47 | 51 | // Protected methods |
| 48 | - void init_members(void); | |
| 49 | - void copy_members(const GLATObservation& obs); | |
| 50 | - void free_members(void); | |
| 51 | - virtual GLATObservation* clone(void) const; | |
| 52 | + void init_members(void); | |
| 53 | + void copy_members(const GLATObservation& obs); | |
| 54 | + void free_members(void); | |
| 55 | + GLATObservation* clone(void) const; | |
| 52 | 56 | |
| 53 | 57 | // Protected data area |
| 54 | 58 | |
| 55 | 59 | private: |
| 60 | + GFits* m_ft1; //!< FT1 FITS file | |
| 61 | + GFits* m_ft2; //!< FT2 FITS file | |
| 62 | + GFits* m_ltcube; //!< Lifetime cube FITS file | |
| 56 | 63 | }; |
| 57 | 64 | |
| 58 | 65 | #endif /* GLATOBSERVATION_HPP */ | ... | ... |
include/Makefile.am
include/Makefile.in
pyext/GLATObservation.i
0 → 100644
| 1 | +/*************************************************************************** | |
| 2 | + * GLATObservation.i - LAT Observation class SWIG interface * | |
| 3 | + * ----------------------------------------------------------------------- * | |
| 4 | + * copyright : (C) 2008 by Jurgen Knodlseder * | |
| 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 2 of the License, or * | |
| 10 | + * (at your option) any later version. * | |
| 11 | + * * | |
| 12 | + ***************************************************************************/ | |
| 13 | +/** | |
| 14 | + * @file GLATObservation.i | |
| 15 | + * @brief GLATObservation class SWIG file. | |
| 16 | + * @author J. Knodlseder | |
| 17 | + */ | |
| 18 | +%{ | |
| 19 | +/* Put headers and other declarations here that are needed for compilation */ | |
| 20 | +#include "GLATObservation.hpp" | |
| 21 | +%} | |
| 22 | +%include stl.i | |
| 23 | +%feature("notabstract") GLATObservation; | |
| 24 | +%import GObservation.i | |
| 25 | + | |
| 26 | +/***********************************************************************//** | |
| 27 | + * @class GLATObservation | |
| 28 | + * | |
| 29 | + * @brief Interface for the LAT observation classes. | |
| 30 | + ***************************************************************************/ | |
| 31 | +class GLATObservation : public GObservation { | |
| 32 | +public: | |
| 33 | + // Constructors and destructors | |
| 34 | + GLATObservation(); | |
| 35 | + GLATObservation(const std::string& ft1name, const std::string& ft2name); | |
| 36 | + GLATObservation(const GLATObservation& obs); | |
| 37 | + virtual ~GLATObservation(); | |
| 38 | + | |
| 39 | + // Methods | |
| 40 | + GFits* ft1(void) const; | |
| 41 | + GFits* ft2(void) const; | |
| 42 | +}; | |
| 43 | + | ... | ... |
src/Makefile.am
src/Makefile.in
| ... | ... | @@ -135,6 +135,7 @@ files = GException.cpp \ |
| 135 | 135 | fits/GFitsAsciiTable.cpp \ |
| 136 | 136 | fits/GFitsBinTable.cpp \ |
| 137 | 137 | fits/GFitsTableCol.cpp \ |
| 138 | + fits/GFitsTableLogCol.cpp \ | |
| 138 | 139 | fits/GFitsTableStrCol.cpp \ |
| 139 | 140 | fits/GFitsTableShtCol.cpp \ |
| 140 | 141 | fits/GFitsTableLngCol.cpp \ |
| ... | ... | @@ -169,10 +170,11 @@ am__objects_1 = GException.lo GTools.lo GSkyDir.lo GNodeArray.lo \ |
| 169 | 170 | GLATObservation.lo GFitsHeaderCard.lo GFitsHeader.lo \ |
| 170 | 171 | GFitsData.lo GFitsImage.lo GFitsDblImage.lo GFitsTable.lo \ |
| 171 | 172 | GFitsAsciiTable.lo GFitsBinTable.lo GFitsTableCol.lo \ |
| 172 | - GFitsTableStrCol.lo GFitsTableShtCol.lo GFitsTableLngCol.lo \ | |
| 173 | - GFitsTableFltCol.lo GFitsTableDblCol.lo GFitsHDU.lo GFits.lo \ | |
| 174 | - GFitPar.lo GVector.lo GMatrixBase.lo GMatrix.lo GSymMatrix.lo \ | |
| 175 | - GSparseMatrix.lo GSparseSymbolic.lo GSparseNumeric.lo | |
| 173 | + GFitsTableLogCol.lo GFitsTableStrCol.lo GFitsTableShtCol.lo \ | |
| 174 | + GFitsTableLngCol.lo GFitsTableFltCol.lo GFitsTableDblCol.lo \ | |
| 175 | + GFitsHDU.lo GFits.lo GFitPar.lo GVector.lo GMatrixBase.lo \ | |
| 176 | + GMatrix.lo GSymMatrix.lo GSparseMatrix.lo GSparseSymbolic.lo \ | |
| 177 | + GSparseNumeric.lo | |
| 176 | 178 | am_libgamma_la_OBJECTS = $(am__objects_1) |
| 177 | 179 | libgamma_la_OBJECTS = $(am_libgamma_la_OBJECTS) |
| 178 | 180 | |
| ... | ... | @@ -251,6 +253,7 @@ GFitsTable.lo: fits/GFitsTable.cpp |
| 251 | 253 | GFitsAsciiTable.lo: fits/GFitsAsciiTable.cpp |
| 252 | 254 | GFitsBinTable.lo: fits/GFitsBinTable.cpp |
| 253 | 255 | GFitsTableCol.lo: fits/GFitsTableCol.cpp |
| 256 | +GFitsTableLogCol.lo: fits/GFitsTableLogCol.cpp | |
| 254 | 257 | GFitsTableStrCol.lo: fits/GFitsTableStrCol.cpp |
| 255 | 258 | GFitsTableShtCol.lo: fits/GFitsTableShtCol.cpp |
| 256 | 259 | GFitsTableLngCol.lo: fits/GFitsTableLngCol.cpp |
| ... | ... | @@ -446,6 +449,15 @@ GFitsTableCol.obj: fits/GFitsTableCol.cpp |
| 446 | 449 | GFitsTableCol.lo: fits/GFitsTableCol.cpp |
| 447 | 450 | $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GFitsTableCol.lo `test -f 'fits/GFitsTableCol.cpp' || echo '$(srcdir)/'`fits/GFitsTableCol.cpp |
| 448 | 451 | |
| 452 | +GFitsTableLogCol.o: fits/GFitsTableLogCol.cpp | |
| 453 | + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GFitsTableLogCol.o `test -f 'fits/GFitsTableLogCol.cpp' || echo '$(srcdir)/'`fits/GFitsTableLogCol.cpp | |
| 454 | + | |
| 455 | +GFitsTableLogCol.obj: fits/GFitsTableLogCol.cpp | |
| 456 | + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GFitsTableLogCol.obj `cygpath -w fits/GFitsTableLogCol.cpp` | |
| 457 | + | |
| 458 | +GFitsTableLogCol.lo: fits/GFitsTableLogCol.cpp | |
| 459 | + $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GFitsTableLogCol.lo `test -f 'fits/GFitsTableLogCol.cpp' || echo '$(srcdir)/'`fits/GFitsTableLogCol.cpp | |
| 460 | + | |
| 449 | 461 | GFitsTableStrCol.o: fits/GFitsTableStrCol.cpp |
| 450 | 462 | $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GFitsTableStrCol.o `test -f 'fits/GFitsTableStrCol.cpp' || echo '$(srcdir)/'`fits/GFitsTableStrCol.cpp |
| 451 | 463 | ... | ... |
src/obs/GLATObservation.cpp
| ... | ... | @@ -54,6 +54,31 @@ GLATObservation::GLATObservation() : GObservation() |
| 54 | 54 | |
| 55 | 55 | |
| 56 | 56 | /***********************************************************************//** |
| 57 | + * @brief Constructor | |
| 58 | + * | |
| 59 | + * @param[in] ft1name FT1 FITS filename. | |
| 60 | + * @param[in] ft2name FT2 FITS filename. | |
| 61 | + ***************************************************************************/ | |
| 62 | +GLATObservation::GLATObservation(const std::string& ft1name, | |
| 63 | + const std::string& ft2name) : GObservation() | |
| 64 | +{ | |
| 65 | + // Initialise class members for clean destruction | |
| 66 | + init_members(); | |
| 67 | + | |
| 68 | + // Allocate FT1 & FT2 FITS files | |
| 69 | + m_ft1 = new GFits; | |
| 70 | + m_ft2 = new GFits; | |
| 71 | + | |
| 72 | + // Open FT1 & FT2 FITS files | |
| 73 | + m_ft1->open(ft1name); | |
| 74 | + m_ft2->open(ft2name); | |
| 75 | + | |
| 76 | + // Return | |
| 77 | + return; | |
| 78 | +} | |
| 79 | + | |
| 80 | + | |
| 81 | +/***********************************************************************//** | |
| 57 | 82 | * @brief Copy constructor |
| 58 | 83 | * |
| 59 | 84 | * @param[in] obs Observation from which the instance should be built. |
| ... | ... | @@ -125,6 +150,25 @@ GLATObservation& GLATObservation::operator= (const GLATObservation& obs) |
| 125 | 150 | = = |
| 126 | 151 | ==========================================================================*/ |
| 127 | 152 | |
| 153 | +/***********************************************************************//** | |
| 154 | + * @brief Return pointer to FT1 file. | |
| 155 | + ***************************************************************************/ | |
| 156 | +GFits* GLATObservation::ft1(void) const | |
| 157 | +{ | |
| 158 | + // Return FT1 pointer | |
| 159 | + return m_ft1; | |
| 160 | +} | |
| 161 | + | |
| 162 | + | |
| 163 | +/***********************************************************************//** | |
| 164 | + * @brief Return pointer to FT2 file. | |
| 165 | + ***************************************************************************/ | |
| 166 | +GFits* GLATObservation::ft2(void) const | |
| 167 | +{ | |
| 168 | + // Return FT2 pointer | |
| 169 | + return m_ft2; | |
| 170 | +} | |
| 171 | + | |
| 128 | 172 | |
| 129 | 173 | /*========================================================================== |
| 130 | 174 | = = |
| ... | ... | @@ -138,6 +182,9 @@ GLATObservation& GLATObservation::operator= (const GLATObservation& obs) |
| 138 | 182 | void GLATObservation::init_members(void) |
| 139 | 183 | { |
| 140 | 184 | // Initialise members |
| 185 | + m_ft1 = NULL; | |
| 186 | + m_ft2 = NULL; | |
| 187 | + m_ltcube = NULL; | |
| 141 | 188 | |
| 142 | 189 | // Return |
| 143 | 190 | return; |
| ... | ... | @@ -164,6 +211,14 @@ void GLATObservation::copy_members(const GLATObservation& obs) |
| 164 | 211 | void GLATObservation::free_members(void) |
| 165 | 212 | { |
| 166 | 213 | // Free members |
| 214 | + if (m_ft1 != NULL) delete m_ft1; | |
| 215 | + if (m_ft2 != NULL) delete m_ft2; | |
| 216 | + if (m_ltcube != NULL) delete m_ltcube; | |
| 217 | + | |
| 218 | + // Mark memory as free | |
| 219 | + m_ft1 = NULL; | |
| 220 | + m_ft2 = NULL; | |
| 221 | + m_ltcube = NULL; | |
| 167 | 222 | |
| 168 | 223 | // Return |
| 169 | 224 | return; | ... | ... |