Commit a77163721edb00be76f14e2e1b2dedfa639dbbeb

Authored by Jürgen Knödlseder
1 parent 85e462cd

Use GEnergies container instead of GEnergy vector.

include/GModelSpatialDiffuseCube.hpp
... ... @@ -38,6 +38,7 @@
38 38 #include "GNodeArray.hpp"
39 39 #include "GXmlElement.hpp"
40 40 #include "GEbounds.hpp"
  41 +#include "GEnergies.hpp"
41 42  
42 43  
43 44 /***********************************************************************//**
... ... @@ -58,9 +59,9 @@ public:
58 59 explicit GModelSpatialDiffuseCube(const GXmlElement& xml);
59 60 explicit GModelSpatialDiffuseCube(const std::string& filename,
60 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 65 GModelSpatialDiffuseCube(const GModelSpatialDiffuseCube& model);
65 66 virtual ~GModelSpatialDiffuseCube(void);
66 67  
... ... @@ -90,8 +91,8 @@ public:
90 91 void filename(const std::string& filename);
91 92 const GSkymap& cube(void) const;
92 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 96 const GModelSpectralNodes& spectrum(void) const;
96 97 void set_mc_cone(const GSkyDir& centre,
97 98 const double& radius);
... ...
pyext/GModelSpatialDiffuseCube.i
... ... @@ -42,9 +42,9 @@ public:
42 42 explicit GModelSpatialDiffuseCube(const GXmlElement& xml);
43 43 explicit GModelSpatialDiffuseCube(const std::string& filename,
44 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 48 GModelSpatialDiffuseCube(const GModelSpatialDiffuseCube& model);
49 49 virtual ~GModelSpatialDiffuseCube(void);
50 50  
... ... @@ -70,8 +70,8 @@ public:
70 70 void filename(const std::string& filename);
71 71 const GSkymap& cube(void) const;
72 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 75 const GModelSpectralNodes& spectrum(void) const;
76 76 void set_mc_cone(const GSkyDir& centre,
77 77 const double& radius);
... ...
src/model/GModelSpatialDiffuseCube.cpp
... ... @@ -49,8 +49,7 @@ const GModelSpatialRegistry g_spatial_cube_registry(&amp;g_spatial_cube_seed);
49 49 #define G_READ "GModelSpatialDiffuseCube::read(GXmlElement&)"
50 50 #define G_WRITE "GModelSpatialDiffuseCube::write(GXmlElement&)"
51 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 54 /* __ Macros _____________________________________________________________ */
56 55  
... ... @@ -144,9 +143,9 @@ GModelSpatialDiffuseCube::GModelSpatialDiffuseCube(const std::string&amp; filename,
144 143 * constructor also assigns the energy values for all maps and sets the
145 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 149 GModelSpatialDiffuse()
151 150 {
152 151 // Initialise members
... ... @@ -676,7 +675,7 @@ void GModelSpatialDiffuseCube::load(const std::string&amp; filename)
676 675 *
677 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 680 // Initialise energies
682 681 m_logE.clear();
... ... @@ -717,10 +716,10 @@ void GModelSpatialDiffuseCube::energies(const std::vector&lt;GEnergy&gt;&amp; energies)
717 716 *
718 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 724 // Get number of map energies
726 725 int num = m_logE.size();
... ... @@ -735,7 +734,7 @@ std::vector&lt;GEnergy&gt; GModelSpatialDiffuseCube::energies(void)
735 734 for (int i = 0; i < num; ++i) {
736 735 GEnergy energy;
737 736 energy.log10MeV(m_logE[i]);
738   - energies.push_back(energy);
  737 + energies.append(energy);
739 738 }
740 739  
741 740 } // endif: there were maps in the cube
... ...
test/test_GModel.cpp
... ... @@ -550,9 +550,9 @@ void TestGModel::test_diffuse_cube(void)
550 550 test_try("Test skymap value constructor");
551 551 try {
552 552 GSkymap map("HPX", "GAL", 16, "RING", 10);
553   - std::vector<GEnergy> energies;
  553 + GEnergies energies;
554 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 557 GModelSpatialDiffuseCube model(map, energies, 3.0);
558 558 test_value(model.value(), 3.0);
... ...