Commit a77163721edb00be76f14e2e1b2dedfa639dbbeb
1 parent
85e462cd
Use GEnergies container instead of GEnergy vector.
Showing
4 changed files
with
22 additions
and
22 deletions
include/GModelSpatialDiffuseCube.hpp
| @@ -38,6 +38,7 @@ | @@ -38,6 +38,7 @@ | ||
| 38 | #include "GNodeArray.hpp" | 38 | #include "GNodeArray.hpp" |
| 39 | #include "GXmlElement.hpp" | 39 | #include "GXmlElement.hpp" |
| 40 | #include "GEbounds.hpp" | 40 | #include "GEbounds.hpp" |
| 41 | +#include "GEnergies.hpp" | ||
| 41 | 42 | ||
| 42 | 43 | ||
| 43 | /***********************************************************************//** | 44 | /***********************************************************************//** |
| @@ -58,9 +59,9 @@ public: | @@ -58,9 +59,9 @@ public: | ||
| 58 | explicit GModelSpatialDiffuseCube(const GXmlElement& xml); | 59 | explicit GModelSpatialDiffuseCube(const GXmlElement& xml); |
| 59 | explicit GModelSpatialDiffuseCube(const std::string& filename, | 60 | explicit GModelSpatialDiffuseCube(const std::string& filename, |
| 60 | const double& value = 1.0); | 61 | const double& value = 1.0); |
| 61 | - explicit GModelSpatialDiffuseCube(const GSkymap& cube, | ||
| 62 | - const std::vector<GEnergy>& energies, | ||
| 63 | - const double& value = 1.0); | 62 | + explicit GModelSpatialDiffuseCube(const GSkymap& cube, |
| 63 | + const GEnergies& energies, | ||
| 64 | + const double& value = 1.0); | ||
| 64 | GModelSpatialDiffuseCube(const GModelSpatialDiffuseCube& model); | 65 | GModelSpatialDiffuseCube(const GModelSpatialDiffuseCube& model); |
| 65 | virtual ~GModelSpatialDiffuseCube(void); | 66 | virtual ~GModelSpatialDiffuseCube(void); |
| 66 | 67 | ||
| @@ -90,8 +91,8 @@ public: | @@ -90,8 +91,8 @@ public: | ||
| 90 | void filename(const std::string& filename); | 91 | void filename(const std::string& filename); |
| 91 | const GSkymap& cube(void) const; | 92 | const GSkymap& cube(void) const; |
| 92 | void cube(const GSkymap& cube); | 93 | void cube(const GSkymap& cube); |
| 93 | - std::vector<GEnergy> energies(void); | ||
| 94 | - void energies(const std::vector<GEnergy>& energies); | 94 | + GEnergies energies(void); |
| 95 | + void energies(const GEnergies& energies); | ||
| 95 | const GModelSpectralNodes& spectrum(void) const; | 96 | const GModelSpectralNodes& spectrum(void) const; |
| 96 | void set_mc_cone(const GSkyDir& centre, | 97 | void set_mc_cone(const GSkyDir& centre, |
| 97 | const double& radius); | 98 | const double& radius); |
pyext/GModelSpatialDiffuseCube.i
| @@ -42,9 +42,9 @@ public: | @@ -42,9 +42,9 @@ public: | ||
| 42 | explicit GModelSpatialDiffuseCube(const GXmlElement& xml); | 42 | explicit GModelSpatialDiffuseCube(const GXmlElement& xml); |
| 43 | explicit GModelSpatialDiffuseCube(const std::string& filename, | 43 | explicit GModelSpatialDiffuseCube(const std::string& filename, |
| 44 | const double& value = 1.0); | 44 | const double& value = 1.0); |
| 45 | - explicit GModelSpatialDiffuseCube(const GSkymap& map, | ||
| 46 | - const std::vector<GEnergy>& energies, | ||
| 47 | - const double& value = 1.0); | 45 | + explicit GModelSpatialDiffuseCube(const GSkymap& map, |
| 46 | + const GEnergies& energies, | ||
| 47 | + const double& value = 1.0); | ||
| 48 | GModelSpatialDiffuseCube(const GModelSpatialDiffuseCube& model); | 48 | GModelSpatialDiffuseCube(const GModelSpatialDiffuseCube& model); |
| 49 | virtual ~GModelSpatialDiffuseCube(void); | 49 | virtual ~GModelSpatialDiffuseCube(void); |
| 50 | 50 | ||
| @@ -70,8 +70,8 @@ public: | @@ -70,8 +70,8 @@ public: | ||
| 70 | void filename(const std::string& filename); | 70 | void filename(const std::string& filename); |
| 71 | const GSkymap& cube(void) const; | 71 | const GSkymap& cube(void) const; |
| 72 | void cube(const GSkymap& cube); | 72 | void cube(const GSkymap& cube); |
| 73 | - std::vector<GEnergy> energies(void); | ||
| 74 | - void energies(const std::vector<GEnergy>& energies); | 73 | + GEnergies energies(void); |
| 74 | + void energies(const GEnergies& energies); | ||
| 75 | const GModelSpectralNodes& spectrum(void) const; | 75 | const GModelSpectralNodes& spectrum(void) const; |
| 76 | void set_mc_cone(const GSkyDir& centre, | 76 | void set_mc_cone(const GSkyDir& centre, |
| 77 | const double& radius); | 77 | const double& radius); |
src/model/GModelSpatialDiffuseCube.cpp
| @@ -49,8 +49,7 @@ const GModelSpatialRegistry g_spatial_cube_registry(&g_spatial_cube_seed); | @@ -49,8 +49,7 @@ const GModelSpatialRegistry g_spatial_cube_registry(&g_spatial_cube_seed); | ||
| 49 | #define G_READ "GModelSpatialDiffuseCube::read(GXmlElement&)" | 49 | #define G_READ "GModelSpatialDiffuseCube::read(GXmlElement&)" |
| 50 | #define G_WRITE "GModelSpatialDiffuseCube::write(GXmlElement&)" | 50 | #define G_WRITE "GModelSpatialDiffuseCube::write(GXmlElement&)" |
| 51 | #define G_LOAD "GModelSpatialDiffuseCube::load(std::string&)" | 51 | #define G_LOAD "GModelSpatialDiffuseCube::load(std::string&)" |
| 52 | -#define G_ENERGIES "GModelSpatialDiffuseCube::energies(std::vector"\ | ||
| 53 | - "<GEnergy>&)" | 52 | +#define G_ENERGIES "GModelSpatialDiffuseCube::energies(GEnergies&)" |
| 54 | 53 | ||
| 55 | /* __ Macros _____________________________________________________________ */ | 54 | /* __ Macros _____________________________________________________________ */ |
| 56 | 55 | ||
| @@ -144,9 +143,9 @@ GModelSpatialDiffuseCube::GModelSpatialDiffuseCube(const std::string& filename, | @@ -144,9 +143,9 @@ GModelSpatialDiffuseCube::GModelSpatialDiffuseCube(const std::string& filename, | ||
| 144 | * constructor also assigns the energy values for all maps and sets the | 143 | * constructor also assigns the energy values for all maps and sets the |
| 145 | * scaling @p value. The filename will remain blank. | 144 | * scaling @p value. The filename will remain blank. |
| 146 | ***************************************************************************/ | 145 | ***************************************************************************/ |
| 147 | -GModelSpatialDiffuseCube::GModelSpatialDiffuseCube(const GSkymap& cube, | ||
| 148 | - const std::vector<GEnergy>& energies, | ||
| 149 | - const double& value) : | 146 | +GModelSpatialDiffuseCube::GModelSpatialDiffuseCube(const GSkymap& cube, |
| 147 | + const GEnergies& energies, | ||
| 148 | + const double& value) : | ||
| 150 | GModelSpatialDiffuse() | 149 | GModelSpatialDiffuse() |
| 151 | { | 150 | { |
| 152 | // Initialise members | 151 | // Initialise members |
| @@ -676,7 +675,7 @@ void GModelSpatialDiffuseCube::load(const std::string& filename) | @@ -676,7 +675,7 @@ void GModelSpatialDiffuseCube::load(const std::string& filename) | ||
| 676 | * | 675 | * |
| 677 | * Sets the energies for the map cube. | 676 | * Sets the energies for the map cube. |
| 678 | ***************************************************************************/ | 677 | ***************************************************************************/ |
| 679 | -void GModelSpatialDiffuseCube::energies(const std::vector<GEnergy>& energies) | 678 | +void GModelSpatialDiffuseCube::energies(const GEnergies& energies) |
| 680 | { | 679 | { |
| 681 | // Initialise energies | 680 | // Initialise energies |
| 682 | m_logE.clear(); | 681 | m_logE.clear(); |
| @@ -717,10 +716,10 @@ void GModelSpatialDiffuseCube::energies(const std::vector<GEnergy>& energies) | @@ -717,10 +716,10 @@ void GModelSpatialDiffuseCube::energies(const std::vector<GEnergy>& energies) | ||
| 717 | * | 716 | * |
| 718 | * Returns the energies for the map cube in a vector. | 717 | * Returns the energies for the map cube in a vector. |
| 719 | ***************************************************************************/ | 718 | ***************************************************************************/ |
| 720 | -std::vector<GEnergy> GModelSpatialDiffuseCube::energies(void) | 719 | +GEnergies GModelSpatialDiffuseCube::energies(void) |
| 721 | { | 720 | { |
| 722 | - // Initialise vector of energies | ||
| 723 | - std::vector<GEnergy> energies; | 721 | + // Initialise energies container |
| 722 | + GEnergies energies; | ||
| 724 | 723 | ||
| 725 | // Get number of map energies | 724 | // Get number of map energies |
| 726 | int num = m_logE.size(); | 725 | int num = m_logE.size(); |
| @@ -735,7 +734,7 @@ std::vector<GEnergy> GModelSpatialDiffuseCube::energies(void) | @@ -735,7 +734,7 @@ std::vector<GEnergy> GModelSpatialDiffuseCube::energies(void) | ||
| 735 | for (int i = 0; i < num; ++i) { | 734 | for (int i = 0; i < num; ++i) { |
| 736 | GEnergy energy; | 735 | GEnergy energy; |
| 737 | energy.log10MeV(m_logE[i]); | 736 | energy.log10MeV(m_logE[i]); |
| 738 | - energies.push_back(energy); | 737 | + energies.append(energy); |
| 739 | } | 738 | } |
| 740 | 739 | ||
| 741 | } // endif: there were maps in the cube | 740 | } // endif: there were maps in the cube |
test/test_GModel.cpp
| @@ -550,9 +550,9 @@ void TestGModel::test_diffuse_cube(void) | @@ -550,9 +550,9 @@ void TestGModel::test_diffuse_cube(void) | ||
| 550 | test_try("Test skymap value constructor"); | 550 | test_try("Test skymap value constructor"); |
| 551 | try { | 551 | try { |
| 552 | GSkymap map("HPX", "GAL", 16, "RING", 10); | 552 | GSkymap map("HPX", "GAL", 16, "RING", 10); |
| 553 | - std::vector<GEnergy> energies; | 553 | + GEnergies energies; |
| 554 | for (int i = 0; i < 10; ++i) { | 554 | for (int i = 0; i < 10; ++i) { |
| 555 | - energies.push_back(GEnergy(double(i+1.0), "MeV")); | 555 | + energies.append(GEnergy(double(i+1.0), "MeV")); |
| 556 | } | 556 | } |
| 557 | GModelSpatialDiffuseCube model(map, energies, 3.0); | 557 | GModelSpatialDiffuseCube model(map, energies, 3.0); |
| 558 | test_value(model.value(), 3.0); | 558 | test_value(model.value(), 3.0); |