diff --git a/ChangeLog b/ChangeLog index efe2d69..6e4a816 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,10 @@ -2017-06-23 +2017-07-03 * Version 1.4.0 released ======================== + Install ctools header files (#2145) + 2017-06-23 diff --git a/NEWS b/NEWS index d8b0633..a2e9114 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ New Features and Important Changes in ctools 1.4.0 -23 June 2017 +3 July 2017 Introduction @@ -11,7 +11,8 @@ ctools release with respect to the precedent release. Configuration ------------- -None +The ctools header files are now installed into $(prefix)/include/ctools +(#2145). Python interface diff --git a/doc/source/admin/release_history/1.4.rst b/doc/source/admin/release_history/1.4.rst new file mode 100644 index 0000000..f2200f3 --- /dev/null +++ b/doc/source/admin/release_history/1.4.rst @@ -0,0 +1,29 @@ +.. _1.4: + +ctools 1.4 release (TBD) +================================ + +Overview +-------- + +ctools 1.4 is a major release that adds significant functionality. + +In particular, this release provides: + +* TBW + + +Bug fixes +--------- + + + +Improvements +------------ + +* [`2145 `_] - + Install C++ header files + + +New features +------------ diff --git a/doc/source/admin/release_history/index.rst b/doc/source/admin/release_history/index.rst index 7a64c36..1bf8aa0 100644 --- a/doc/source/admin/release_history/index.rst +++ b/doc/source/admin/release_history/index.rst @@ -8,6 +8,7 @@ Major releases: .. toctree:: :maxdepth: 1 + ctools 1.4 <1.4> ctools 1.3 <1.3> ctools 1.2 <1.2> ctools 1.1 <1.1> diff --git a/src/Makefile.am b/src/Makefile.am index 138cdd1..7c54235 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -49,6 +49,9 @@ scripts = ctools-setup \ ctools-init.sh \ ctools-init.csh +# Headers to be distributed +pkginclude_HEADERS = ctools.hpp + # Build libtool library for ctools. This is needed to provide # a shared library that can be loaded for python bindings. We do # not have to build this library if no python bindings are used. diff --git a/src/ctbin/Makefile.am b/src/ctbin/Makefile.am index 2600a05..0cb8843 100644 --- a/src/ctbin/Makefile.am +++ b/src/ctbin/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctbin tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctbin # Sources sources = ctbin.cpp ctbin.hpp +# Headers +pkginclude_HEADERS = ctbin.hpp + # Libtool library noinst_LTLIBRARIES = libctbin.la libctbin_la_SOURCES = $(sources) diff --git a/src/ctbkgcube/Makefile.am b/src/ctbkgcube/Makefile.am index 9fd0ff9..b055d5a 100644 --- a/src/ctbkgcube/Makefile.am +++ b/src/ctbkgcube/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctbkgcube tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctbkgcube # Sources sources = ctbkgcube.cpp ctbkgcube.hpp +# Headers +pkginclude_HEADERS = ctbkgcube.hpp + # Libtool library noinst_LTLIBRARIES = libctbkgcube.la libctbkgcube_la_SOURCES = $(sources) diff --git a/src/ctbutterfly/Makefile.am b/src/ctbutterfly/Makefile.am index d1fba36..2beefd2 100644 --- a/src/ctbutterfly/Makefile.am +++ b/src/ctbutterfly/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctbutterfly tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctbutterfly # Sources sources = ctbutterfly.cpp ctbutterfly.hpp +# Headers +pkginclude_HEADERS = ctbutterfly.hpp + # Libtool library noinst_LTLIBRARIES = libctbutterfly.la libctbutterfly_la_SOURCES = $(sources) diff --git a/src/ctcubemask/Makefile.am b/src/ctcubemask/Makefile.am index 250c50f..b8a8720 100644 --- a/src/ctcubemask/Makefile.am +++ b/src/ctcubemask/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctcubemask tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctcubemask # Sources sources = ctcubemask.cpp ctcubemask.hpp +# Headers +pkginclude_HEADERS = ctcubemask.hpp + # Libtool library (only needed for python bindings) noinst_LTLIBRARIES = libctcubemask.la libctcubemask_la_SOURCES = $(sources) diff --git a/src/ctedispcube/Makefile.am b/src/ctedispcube/Makefile.am index c39fe83..93666b8 100644 --- a/src/ctedispcube/Makefile.am +++ b/src/ctedispcube/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctedispcube tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctedispcube # Sources sources = ctedispcube.cpp ctedispcube.hpp +# Headers +pkginclude_HEADERS = ctedispcube.hpp + # Libtool library noinst_LTLIBRARIES = libctedispcube.la libctedispcube_la_SOURCES = $(sources) diff --git a/src/cterror/Makefile.am b/src/cterror/Makefile.am index 306e333..f4f646d 100644 --- a/src/cterror/Makefile.am +++ b/src/cterror/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for cterror tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = cterror # Sources sources = cterror.cpp cterror.hpp +# Headers +pkginclude_HEADERS = cterror.hpp + # Libtool library noinst_LTLIBRARIES = libcterror.la libcterror_la_SOURCES = $(sources) diff --git a/src/ctexpcube/Makefile.am b/src/ctexpcube/Makefile.am index 09b5dc2..1e34991 100644 --- a/src/ctexpcube/Makefile.am +++ b/src/ctexpcube/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctexpcube tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctexpcube # Sources sources = ctexpcube.cpp ctexpcube.hpp +# Headers +pkginclude_HEADERS = ctexpcube.hpp + # Libtool library noinst_LTLIBRARIES = libctexpcube.la libctexpcube_la_SOURCES = $(sources) diff --git a/src/ctlike/Makefile.am b/src/ctlike/Makefile.am index 77bb7a6..431291a 100644 --- a/src/ctlike/Makefile.am +++ b/src/ctlike/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctlike tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctlike # Sources sources = ctlike.cpp ctlike.hpp +# Headers +pkginclude_HEADERS = ctlike.hpp + # Libtool library noinst_LTLIBRARIES = libctlike.la libctlike_la_SOURCES = $(sources) diff --git a/src/ctmapcube/Makefile.am b/src/ctmapcube/Makefile.am index 3d7cdbe..00d448a 100644 --- a/src/ctmapcube/Makefile.am +++ b/src/ctmapcube/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctmapcube tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctmapcube # Sources sources = ctmapcube.cpp ctmapcube.hpp +# Headers +pkginclude_HEADERS = ctmapcube.hpp + # Libtool library noinst_LTLIBRARIES = libctmapcube.la libctmapcube_la_SOURCES = $(sources) diff --git a/src/ctmodel/Makefile.am b/src/ctmodel/Makefile.am index 65ec51e..671c118 100644 --- a/src/ctmodel/Makefile.am +++ b/src/ctmodel/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctmodel tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctmodel # Sources sources = ctmodel.cpp ctmodel.hpp +# Headers +pkginclude_HEADERS = ctmodel.hpp + # Libtool library noinst_LTLIBRARIES = libctmodel.la libctmodel_la_SOURCES = $(sources) diff --git a/src/ctobssim/Makefile.am b/src/ctobssim/Makefile.am index e84c7a9..df04d0b 100644 --- a/src/ctobssim/Makefile.am +++ b/src/ctobssim/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctobssim tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctobssim # Sources sources = ctobssim.cpp ctobssim.hpp +# Headers +pkginclude_HEADERS = ctobssim.hpp + # Libtool library noinst_LTLIBRARIES = libctobssim.la libctobssim_la_SOURCES = $(sources) diff --git a/src/ctools.hpp b/src/ctools.hpp new file mode 100644 index 0000000..5af9f4f --- /dev/null +++ b/src/ctools.hpp @@ -0,0 +1,82 @@ +/*************************************************************************** + * ctools.hpp - Cherenkov Telescope Array Analysis tools Header file * + * ----------------------------------------------------------------------- * + * copyright (C) 2017 by Juergen Knoedlseder * + * ----------------------------------------------------------------------- * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + * * + ***************************************************************************/ +/** + * @file ctools.hpp + * @brief ctools definitions + * @author Juergen Knoedlseder + */ + +#ifndef CTOOLS_HPP +#define CTOOLS_HPP + + +/*************************************************************************** + * Core services * + ***************************************************************************/ + +/* __ Support functions __________________________________________________ */ +#include "support.hpp" + +/* __ Base classes _______________________________________________________ */ +#include "ctool.hpp" +#include "ctobservation.hpp" +#include "ctlikelihood.hpp" + + +/*************************************************************************** + * ctools * + ***************************************************************************/ + +/* __ Simulation tools ___________________________________________________ */ +#include "ctobssim.hpp" + +/* __ Selection tools ____________________________________________________ */ +#include "ctselect.hpp" + +/* __ Binning tools ______________________________________________________ */ +#include "ctbin.hpp" +#include "ctbkgcube.hpp" +#include "ctcubemask.hpp" +#include "ctedispcube.hpp" +#include "ctexpcube.hpp" +#include "ctpsfcube.hpp" + +/* __ Imaging tools ______________________________________________________ */ +#include "ctskymap.hpp" + +/* __ Spectral tools _____________________________________________________ */ + +/* __ Timing tools _______________________________________________________ */ +#include "ctphase.hpp" +#include "ctprob.hpp" + +/* __ Likelihood tools ___________________________________________________ */ +#include "ctbutterfly.hpp" +#include "cterror.hpp" +#include "ctlike.hpp" +#include "cttsmap.hpp" +#include "ctulimit.hpp" + +/* __ Other tools ________________________________________________________ */ +#include "ctmapcube.hpp" +#include "ctmodel.hpp" + +#endif /* CTOOLS_HPP */ diff --git a/src/ctphase/Makefile.am b/src/ctphase/Makefile.am index d95ec3d..93d8d8b 100644 --- a/src/ctphase/Makefile.am +++ b/src/ctphase/Makefile.am @@ -28,6 +28,9 @@ bin_PROGRAMS = ctphase # Sources sources = ctphase.cpp ctphase.hpp +# Headers +pkginclude_HEADERS = ctphase.hpp + # Libtool library (only needed for python bindings) noinst_LTLIBRARIES = libctphase.la libctphase_la_SOURCES = $(sources) diff --git a/src/ctprob/Makefile.am b/src/ctprob/Makefile.am index 1ef279c..7567d1b 100644 --- a/src/ctprob/Makefile.am +++ b/src/ctprob/Makefile.am @@ -28,6 +28,9 @@ bin_PROGRAMS = ctprob # Sources sources = ctprob.cpp ctprob.hpp +# Headers +pkginclude_HEADERS = ctprob.hpp + # Libtool library noinst_LTLIBRARIES = libctprob.la libctprob_la_SOURCES = $(sources) diff --git a/src/ctpsfcube/Makefile.am b/src/ctpsfcube/Makefile.am index 6a745ee..e5f7c7a 100644 --- a/src/ctpsfcube/Makefile.am +++ b/src/ctpsfcube/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctpsfcube tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctpsfcube # Sources sources = ctpsfcube.cpp ctpsfcube.hpp +# Headers +pkginclude_HEADERS = ctpsfcube.hpp + # Libtool library noinst_LTLIBRARIES = libctpsfcube.la libctpsfcube_la_SOURCES = $(sources) diff --git a/src/ctselect/Makefile.am b/src/ctselect/Makefile.am index a1ae83d..9800e5e 100644 --- a/src/ctselect/Makefile.am +++ b/src/ctselect/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctselect tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctselect # Sources sources = ctselect.cpp ctselect.hpp +# Headers +pkginclude_HEADERS = ctselect.hpp + # Libtool library (only needed for python bindings) noinst_LTLIBRARIES = libctselect.la libctselect_la_SOURCES = $(sources) diff --git a/src/ctskymap/Makefile.am b/src/ctskymap/Makefile.am index 9625854..a50a8f8 100644 --- a/src/ctskymap/Makefile.am +++ b/src/ctskymap/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctskymap tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctskymap # Sources sources = ctskymap.cpp ctskymap.hpp +# Headers +pkginclude_HEADERS = ctskymap.hpp + # Libtool library noinst_LTLIBRARIES = libctskymap.la libctskymap_la_SOURCES = $(sources) diff --git a/src/cttsmap/Makefile.am b/src/cttsmap/Makefile.am index 502eee9..f8caea4 100644 --- a/src/cttsmap/Makefile.am +++ b/src/cttsmap/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for cttsmap tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = cttsmap # Sources sources = cttsmap.cpp cttsmap.hpp +# Headers +pkginclude_HEADERS = cttsmap.hpp + # Libtool library noinst_LTLIBRARIES = libcttsmap.la libcttsmap_la_SOURCES = $(sources) diff --git a/src/ctulimit/Makefile.am b/src/ctulimit/Makefile.am index 29acd9f..011c7bb 100644 --- a/src/ctulimit/Makefile.am +++ b/src/ctulimit/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctulimit tool # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -28,6 +28,9 @@ bin_PROGRAMS = ctulimit # Sources sources = ctulimit.cpp ctulimit.hpp +# Headers +pkginclude_HEADERS = ctulimit.hpp + # Libtool library noinst_LTLIBRARIES = libctulimit.la libctulimit_la_SOURCES = $(sources) diff --git a/src/support/Makefile.am b/src/support/Makefile.am index aa54ad8..7f2d47d 100644 --- a/src/support/Makefile.am +++ b/src/support/Makefile.am @@ -1,7 +1,7 @@ ############################################################################# # Makefile.am for ctool base classes # # ------------------------------------------------------------------------- # -# Copyright (C) 2016 Juergen Knoedlseder # +# Copyright (C) 2016-2017 Juergen Knoedlseder # # ------------------------------------------------------------------------- # # # # This program is free software: you can redistribute it and/or modify # @@ -25,6 +25,12 @@ sources = support.cpp support.hpp \ ctobservation.cpp ctobservation.hpp \ ctlikelihood.cpp ctlikelihood.hpp +# Headers +pkginclude_HEADERS = support.hpp \ + ctool.hpp \ + ctobservation.hpp \ + ctlikelihood.hpp + # Build libtool library noinst_LTLIBRARIES = libsupport.la libsupport_la_SOURCES = $(sources)