Commit 47ae45b627563b37b8b4efe7dc5bb2268d638f20
1 parent
0bb6c9ac
Complemented temporal phase curve constructor
Showing
4 changed files
with
43 additions
and
6 deletions
include/GModelTemporalPhaseCurve.hpp
| ... | ... | @@ -80,6 +80,11 @@ public: |
| 80 | 80 | GModelTemporalPhaseCurve(void); |
| 81 | 81 | explicit GModelTemporalPhaseCurve(const GXmlElement& xml); |
| 82 | 82 | GModelTemporalPhaseCurve(const GFilename& filename, |
| 83 | + const GTime& mjd, | |
| 84 | + const double& phase, | |
| 85 | + const double& f0, | |
| 86 | + const double& f1, | |
| 87 | + const double& f2, | |
| 83 | 88 | const double& norm = 1.0); |
| 84 | 89 | GModelTemporalPhaseCurve(const GModelTemporalPhaseCurve& model); |
| 85 | 90 | virtual ~GModelTemporalPhaseCurve(void); | ... | ... |
pyext/GModelTemporalPhaseCurve.i
| ... | ... | @@ -41,6 +41,11 @@ public: |
| 41 | 41 | GModelTemporalPhaseCurve(void); |
| 42 | 42 | explicit GModelTemporalPhaseCurve(const GXmlElement& xml); |
| 43 | 43 | GModelTemporalPhaseCurve(const GFilename& filename, |
| 44 | + const GTime& mjd, | |
| 45 | + const double& phase, | |
| 46 | + const double& f0, | |
| 47 | + const double& f1, | |
| 48 | + const double& f2, | |
| 44 | 49 | const double& norm = 1.0); |
| 45 | 50 | GModelTemporalPhaseCurve(const GModelTemporalPhaseCurve& model); |
| 46 | 51 | virtual ~GModelTemporalPhaseCurve(void); | ... | ... |
src/model/GModelTemporalPhaseCurve.cpp
| ... | ... | @@ -78,25 +78,41 @@ GModelTemporalPhaseCurve::GModelTemporalPhaseCurve(void) : GModelTemporal() |
| 78 | 78 | * @brief File constructor |
| 79 | 79 | * |
| 80 | 80 | * @param[in] filename File name of phase curve nodes. |
| 81 | + * @param[in] mjd Reference time. | |
| 82 | + * @param[in] phase Phase at reference time. | |
| 83 | + * @param[in] f0 Frequency at reference time (Hz). | |
| 84 | + * @param[in] f1 First frequency derivative at reference time. | |
| 85 | + * @param[in] f2 Second frequency derivative at reference time. | |
| 81 | 86 | * @param[in] norm Normalization factor. |
| 82 | 87 | * |
| 83 | 88 | * Constructs phase curve from a list of nodes that is found in the specified |
| 84 | - * FITS file. See the load_nodes() method for more information about the | |
| 85 | - * expected structure of the file. | |
| 89 | + * FITS file, a reference time and phase information at the reference time. | |
| 90 | + * See the load_nodes() method for more information about the expected | |
| 91 | + * structure of the file. | |
| 86 | 92 | ***************************************************************************/ |
| 87 | 93 | GModelTemporalPhaseCurve::GModelTemporalPhaseCurve(const GFilename& filename, |
| 94 | + const GTime& mjd, | |
| 95 | + const double& phase, | |
| 96 | + const double& f0, | |
| 97 | + const double& f1, | |
| 98 | + const double& f2, | |
| 88 | 99 | const double& norm) : |
| 89 | 100 | GModelTemporal() |
| 90 | 101 | { |
| 91 | 102 | // Initialise members |
| 92 | 103 | init_members(); |
| 93 | 104 | |
| 105 | + // Set parameters | |
| 106 | + this->mjd(mjd); | |
| 107 | + this->phase(phase); | |
| 108 | + this->f0(f0); | |
| 109 | + this->f1(f1); | |
| 110 | + this->f2(f2); | |
| 111 | + this->norm(norm); | |
| 112 | + | |
| 94 | 113 | // Load nodes |
| 95 | 114 | load_nodes(filename); |
| 96 | 115 | |
| 97 | - // Set normalization | |
| 98 | - m_norm.value(norm); | |
| 99 | - | |
| 100 | 116 | // Return |
| 101 | 117 | return; |
| 102 | 118 | } | ... | ... |
test/test_GModel.cpp
| ... | ... | @@ -2307,9 +2307,20 @@ void TestGModel::test_temp_phasecurve(void) |
| 2307 | 2307 | test_value(model1.type(), "PhaseCurve", "Check void model type"); |
| 2308 | 2308 | |
| 2309 | 2309 | // Test value constructor |
| 2310 | - GModelTemporalPhaseCurve model2(m_temp_phasecurve, 2.0); | |
| 2310 | + GModelTemporalPhaseCurve model2(m_temp_phasecurve, | |
| 2311 | + GTime(3.0, "secs"), | |
| 2312 | + 0.0, | |
| 2313 | + 1.0, | |
| 2314 | + 0.1, | |
| 2315 | + 0.01, | |
| 2316 | + 2.0); | |
| 2311 | 2317 | test_value(model2.filename().url(), m_temp_phasecurve, |
| 2312 | 2318 | "Check phase curve file name"); |
| 2319 | + test_value(model2.mjd().secs(), 3.0); | |
| 2320 | + test_value(model2.phase(), 0.0); | |
| 2321 | + test_value(model2.f0(), 1.0); | |
| 2322 | + test_value(model2.f1(), 0.1); | |
| 2323 | + test_value(model2.f2(), 0.01); | |
| 2313 | 2324 | test_value(model2.norm(), 2.0); |
| 2314 | 2325 | |
| 2315 | 2326 | // Test XML constructor | ... | ... |