Commit e8f54314eaad702bba8ed0ca2b0c13b8dfaeb405
1 parent
1c8a6842
Update code documentation
Showing
5 changed files
with
58 additions
and
32 deletions
include/GModelSpectralBrokenPlaw.hpp
| 1 | 1 | /*************************************************************************** |
| 2 | 2 | * GModelSpectralBrokenPlaw.hpp - Broken power law spectrum class * |
| 3 | 3 | * ----------------------------------------------------------------------- * |
| 4 | - * copyright (C) 2013-2016 by Anneli Schulz * | |
| 4 | + * copyright (C) 2013-2017 by Anneli Schulz * | |
| 5 | 5 | * ----------------------------------------------------------------------- * |
| 6 | 6 | * * |
| 7 | 7 | * This program is free software: you can redistribute it and/or modify * |
| ... | ... | @@ -48,14 +48,19 @@ class GXmlElement; |
| 48 | 48 | * by |
| 49 | 49 | * |
| 50 | 50 | * \f[ |
| 51 | - * S_{\rm E}(E | t) = {\tt m\_norm} | |
| 52 | - * \left( \frac{E}{\tt m\_breakenergy} \right)^{\tt m\_index1} | |
| 51 | + * S_{\rm E}(E | t) = k_0 \times \left \{ | |
| 52 | + * \begin{eqnarray} | |
| 53 | + * \left( \frac{E}{E_b} \right)^{\gamma_1} & {\rm if\,\,} E < E_b \\ | |
| 54 | + * \left( \frac{E}{E_b} \right)^{\gamma_2} & {\rm otherwise} | |
| 55 | + * \end{eqnarray} | |
| 56 | + * \right . | |
| 53 | 57 | * \f] |
| 54 | 58 | * |
| 55 | 59 | * where |
| 56 | - * - \f${\tt m\_norm}\f$ is the normalization or prefactor, | |
| 57 | - * - \f${\tt m\_index1}\f$ is the spectral index1, and | |
| 58 | - * - \f${\tt m\_breakenergy}\f$ is the breakenergy energy. | |
| 60 | + * \f$k_0\f$ is the normalization or prefactor, | |
| 61 | + * \f$\gamma_1\f$ is the spectral index before the break, | |
| 62 | + * \f$\gamma_2\f$ is the spectral index after the break, and | |
| 63 | + * \f$E_b\f$ is the break energy. | |
| 59 | 64 | ***************************************************************************/ |
| 60 | 65 | class GModelSpectralBrokenPlaw : public GModelSpectral { |
| 61 | 66 | ... | ... |
include/GModelTemporalLightCurve.hpp
| ... | ... | @@ -55,9 +55,9 @@ class GXmlElement; |
| 55 | 55 | * \f] |
| 56 | 56 | * |
| 57 | 57 | * where |
| 58 | - * \f$r(t)$\f is the rate defined by linear interpolation between the nodes | |
| 58 | + * \f$r(t)\f$ is the rate defined by linear interpolation between the nodes | |
| 59 | 59 | * in a FITS file, and |
| 60 | - * \f${\tt m\_norm}$\f is a normalisation constant. | |
| 60 | + * \f${\tt m\_norm}\f$ is a normalisation constant. | |
| 61 | 61 | ***************************************************************************/ |
| 62 | 62 | class GModelTemporalLightCurve : public GModelTemporal { |
| 63 | 63 | ... | ... |
include/GModelTemporalPhaseCurve.hpp
| ... | ... | @@ -47,7 +47,7 @@ class GXmlElement; |
| 47 | 47 | * @brief Temporal phase curve model class |
| 48 | 48 | * |
| 49 | 49 | * This class implements a temporal variation based on the phase |
| 50 | - * \f$\Phi(t)$\f that is computed using | |
| 50 | + * \f$\Phi(t)\f$ that is computed using | |
| 51 | 51 | * |
| 52 | 52 | * \f[ |
| 53 | 53 | * \Phi(t) = \Phi_0 + f(t-t_0) + \frac{1}{2}\dot{f} (t-t_0)^2 + |
| ... | ... | @@ -55,12 +55,12 @@ class GXmlElement; |
| 55 | 55 | * \f] |
| 56 | 56 | * |
| 57 | 57 | * where |
| 58 | - * \f$t_0$\f is a reference time, | |
| 59 | - * \f$\Phi_0$\f is the phase at the reference time, | |
| 60 | - * \f$f$\f is the variation frequency at the reference time, | |
| 61 | - * \f$\dot{f}$\f is the first derivative of the variation frequency at the | |
| 58 | + * \f$t_0\f$ is a reference time, | |
| 59 | + * \f$\Phi_0\f$ is the phase at the reference time, | |
| 60 | + * \f$f\f$ is the variation frequency at the reference time, | |
| 61 | + * \f$\dot{f}\f$ is the first derivative of the variation frequency at the | |
| 62 | 62 | * reference time, and |
| 63 | - * \f$\ddot{f}$\f is the second derivative of the variation frequency at the | |
| 63 | + * \f$\ddot{f}\f$ is the second derivative of the variation frequency at the | |
| 64 | 64 | * reference time. |
| 65 | 65 | * |
| 66 | 66 | * The temporal variation is then computed using |
| ... | ... | @@ -69,8 +69,8 @@ class GXmlElement; |
| 69 | 69 | * S_{\rm t}(t) = r(\Phi(t)) \times {\tt m\_norm} |
| 70 | 70 | * \f] |
| 71 | 71 | * |
| 72 | - * where \f$r(\Phi(t))$\f is the rate defined by linear interpolation between | |
| 73 | - * the nodes in a FITS file, and \f${\tt m\_norm}$\f is a normalisation | |
| 72 | + * where \f$r(\Phi(t))\f$ is the rate defined by linear interpolation between | |
| 73 | + * the nodes in a FITS file, and \f${\tt m\_norm}\f$ is a normalisation | |
| 74 | 74 | * constant. |
| 75 | 75 | ***************************************************************************/ |
| 76 | 76 | class GModelTemporalPhaseCurve : public GModelTemporal { |
| ... | ... | @@ -247,9 +247,9 @@ GTime GModelTemporalPhaseCurve::mjd(void) const |
| 247 | 247 | * Sets the reference Modified Julian Day. |
| 248 | 248 | ***************************************************************************/ |
| 249 | 249 | inline |
| 250 | -void GModelTemporalPhaseCurve::mjd(const GTime& time) | |
| 250 | +void GModelTemporalPhaseCurve::mjd(const GTime& mjd) | |
| 251 | 251 | { |
| 252 | - m_mjd.value(time.mjd()); | |
| 252 | + m_mjd.value(mjd.mjd()); | |
| 253 | 253 | return; |
| 254 | 254 | } |
| 255 | 255 | ... | ... |
inst/cta/include/GCTAOnOffObservation.hpp
| ... | ... | @@ -320,7 +320,7 @@ const GRmf& GCTAOnOffObservation::rmf(void) const |
| 320 | 320 | inline |
| 321 | 321 | int GCTAOnOffObservation::nobserved(void) const |
| 322 | 322 | { |
| 323 | - return (m_on_spec.counts()); | |
| 323 | + return ((int)(m_on_spec.counts()+0.5)); | |
| 324 | 324 | } |
| 325 | 325 | |
| 326 | 326 | #endif /* GCTAONOFFOBSERVATION_HPP */ | ... | ... |
src/model/GModelSpectralBrokenPlaw.cpp
| 1 | 1 | /*************************************************************************** |
| 2 | 2 | * GModelSpectralBrokenPlaw.cpp - Broken power law spectrum class * |
| 3 | 3 | * ----------------------------------------------------------------------- * |
| 4 | - * copyright (C) 2013-2016 by Anneli Schulz * | |
| 4 | + * copyright (C) 2013-2017 by Anneli Schulz * | |
| 5 | 5 | * ----------------------------------------------------------------------- * |
| 6 | 6 | * * |
| 7 | 7 | * This program is free software: you can redistribute it and/or modify * |
| ... | ... | @@ -294,32 +294,53 @@ GModelSpectralBrokenPlaw* GModelSpectralBrokenPlaw::clone(void) const |
| 294 | 294 | * Evaluates |
| 295 | 295 | * |
| 296 | 296 | * \f[ |
| 297 | - * S_{\rm E}(E | t) = {\tt m\_norm} | |
| 298 | - * \left( \frac{E}{\tt m\_breakenergy} \right)^{\tt m\_index} | |
| 297 | + * S_{\rm E}(E | t) = k_0 \times \left \{ | |
| 298 | + * \begin{eqnarray} | |
| 299 | + * \left( \frac{E}{E_b} \right)^{\gamma_1} & {\rm if\,\,} E < E_b \\ | |
| 300 | + * \left( \frac{E}{E_b} \right)^{\gamma_2} & {\rm otherwise} | |
| 301 | + * \end{eqnarray} | |
| 302 | + * \right . | |
| 299 | 303 | * \f] |
| 300 | 304 | * |
| 301 | 305 | * where |
| 302 | - * - \f${\tt m\_norm}\f$ is the normalization or prefactor, | |
| 303 | - * - \f${\tt m\_index}\f$ is the spectral index, and | |
| 304 | - * - \f${\tt m\_breakenergy}\f$ is the breakenergy energy. | |
| 306 | + * \f$k_0\f$ is the normalization or prefactor, | |
| 307 | + * \f$\gamma_1\f$ is the spectral index before the break, | |
| 308 | + * \f$\gamma_2\f$ is the spectral index after the break, and | |
| 309 | + * \f$E_b\f$ is the break energy. | |
| 305 | 310 | * |
| 306 | 311 | * If the @p gradients flag is true the method will also compute the |
| 307 | 312 | * partial derivatives of the model with respect to the parameters using |
| 308 | 313 | * |
| 309 | 314 | * \f[ |
| 310 | - * \frac{\delta S_{\rm E}(E | t)}{\delta {\tt m\_norm}} = | |
| 311 | - * \frac{S_{\rm E}(E | t)}{{\tt m\_norm}} | |
| 315 | + * \frac{\delta S_{\rm E}(E | t)}{\delta k_0} = | |
| 316 | + * \frac{S_{\rm E}(E | t)}{k_0} | |
| 312 | 317 | * \f] |
| 313 | 318 | * |
| 314 | 319 | * \f[ |
| 315 | - * \frac{\delta S_{\rm E}(E | t)}{\delta {\tt m\_index}} = | |
| 316 | - * S_{\rm E}(E | t) \, \ln(E/{\tt m_breakenergy}) | |
| 320 | + * \frac{\delta S_{\rm E}(E | t)}{\delta \gamma_1} = \left \{ | |
| 321 | + * \begin{eqnarray} | |
| 322 | + * S_{\rm E}(E | t) \, \ln(E/E_b) & {\rm if\,\,} E < E_b \\ | |
| 323 | + * 0 & {\rm otherwise} | |
| 324 | + * \end{eqnarray} | |
| 325 | + * \right . | |
| 317 | 326 | * \f] |
| 318 | 327 | * |
| 319 | 328 | * \f[ |
| 320 | - * \frac{\delta S_{\rm E}(E | t)}{\delta {\tt m\_breakenergy}} = | |
| 321 | - * -S_{\rm E}(E | t) \, | |
| 322 | - * \left( \frac{{\tt m\_index}}{{\tt m\_breakenergy}} \right) | |
| 329 | + * \frac{\delta S_{\rm E}(E | t)}{\delta \gamma_2} = \left \{ | |
| 330 | + * \begin{eqnarray} | |
| 331 | + * 0 & {\rm if\,\,} E < E_b \\ | |
| 332 | + * S_{\rm E}(E | t) \, \ln(E/E_b) & {\rm otherwise} | |
| 333 | + * \end{eqnarray} | |
| 334 | + * \right . | |
| 335 | + * \f] | |
| 336 | + * | |
| 337 | + * \f[ | |
| 338 | + * \frac{\delta S_{\rm E}(E | t)}{\delta E_b} = k_0 \times \left \{ | |
| 339 | + * \begin{eqnarray} | |
| 340 | + * -S_{\rm E}(E | t) \, \left( \frac{\gamma_1}{E_b} \right) & {\rm if\,\,} E < E_b \\ | |
| 341 | + * -S_{\rm E}(E | t) \, \left( \frac{\gamma_2}{E_b} \right) & {\rm otherwise} | |
| 342 | + * \end{eqnarray} | |
| 343 | + * \right . | |
| 323 | 344 | * \f] |
| 324 | 345 | * |
| 325 | 346 | * @todo The method expects that energy!=0. Otherwise Inf or NaN may result. | ... | ... |