Commit e64cb7dedf9ae5a46361f06a2d00d37873f95851

Authored by Jürgen Knödlseder
1 parent 4a1f879a

Replace alias() method by type constructor for spatial model components (#1818).

It seems better to not introduce the alias method but to use a type constructor instead. This allows writing out the same model type that was read in, enhancing the compatibility with the legacy XML format.
configure.ac
@@ -699,16 +699,16 @@ fi @@ -699,16 +699,16 @@ fi
699 699
700 700
701 ############################################################################# 701 #############################################################################
702 -# Checks for Legacy model names option (G_LEGACY_MODEL_NAMES) #  
703 -#############################################################################  
704 -AC_MSG_CHECKING(whether to enable legacy model names option)  
705 -AC_ARG_ENABLE([legacy_model_names],  
706 - AS_HELP_STRING([--enable-legacy-model-names],  
707 - [enables legacy model names [default=yes]]),  
708 - [LEGACY_MODEL_NAMES="$enableval"],  
709 - [LEGACY_MODEL_NAMES="yes"])  
710 -if test "x$LEGACY_MODEL_NAMES" = "xyes"; then  
711 - AC_DEFINE([G_LEGACY_MODEL_NAMES], [1], [Legacy model names are enabled]) 702 +# Checks for Legacy XML format option (G_LEGACY_XML_FORMAT) #
  703 +#############################################################################
  704 +AC_MSG_CHECKING(whether to support legacy XML format option)
  705 +AC_ARG_ENABLE([legacy_xml_format],
  706 + AS_HELP_STRING([--enable-legacy-xml-format],
  707 + [support legacy XML format [default=yes]]),
  708 + [LEGACY_XML_FORMAT="$enableval"],
  709 + [LEGACY_XML_FORMAT="yes"])
  710 +if test "x$LEGACY_XML_FORMAT" = "xyes"; then
  711 + AC_DEFINE([G_LEGACY_XML_FORMAT], [1], [Legacy XML format is supported])
712 AC_MSG_RESULT(yes) 712 AC_MSG_RESULT(yes)
713 else 713 else
714 AC_MSG_RESULT(no) 714 AC_MSG_RESULT(no)
@@ -1577,10 +1577,10 @@ if test "x$SMALL_MEMORY" = "xyes"; then @@ -1577,10 +1577,10 @@ if test "x$SMALL_MEMORY" = "xyes"; then
1577 else 1577 else
1578 echo " - Optimize memory usage (no)" 1578 echo " - Optimize memory usage (no)"
1579 fi 1579 fi
1580 -if test "x$LEGACY_MODEL_NAMES" = "xyes"; then  
1581 - echo " * Enable legacy model names (yes) (default)" 1580 +if test "x$LEGACY_XML_FORMAT" = "xyes"; then
  1581 + echo " * Support legacy XML format (yes) (default)"
1582 else 1582 else
1583 - echo " - Enable legacy model names (no)" 1583 + echo " - Support legacy XML format (no)"
1584 fi 1584 fi
1585 if test "x$enable_openmp" = "xyes"; then 1585 if test "x$enable_openmp" = "xyes"; then
1586 echo " * Enable OpenMP (yes) (default)" 1586 echo " * Enable OpenMP (yes) (default)"
include/GModelSpatial.hpp
@@ -86,7 +86,6 @@ public: @@ -86,7 +86,6 @@ public:
86 virtual GModelSpatial* clone(void) const = 0; 86 virtual GModelSpatial* clone(void) const = 0;
87 virtual std::string classname(void) const = 0; 87 virtual std::string classname(void) const = 0;
88 virtual std::string type(void) const = 0; 88 virtual std::string type(void) const = 0;
89 - virtual std::string alias(void) const = 0;  
90 virtual GClassCode code(void) const = 0; 89 virtual GClassCode code(void) const = 0;
91 virtual double eval(const GPhoton& photon) const = 0; 90 virtual double eval(const GPhoton& photon) const = 0;
92 virtual double eval_gradients(const GPhoton& photon) const = 0; 91 virtual double eval_gradients(const GPhoton& photon) const = 0;
include/GModelSpatialDiffuse.hpp
@@ -62,7 +62,6 @@ public: @@ -62,7 +62,6 @@ public:
62 virtual GModelSpatialDiffuse* clone(void) const = 0; 62 virtual GModelSpatialDiffuse* clone(void) const = 0;
63 virtual std::string classname(void) const = 0; 63 virtual std::string classname(void) const = 0;
64 virtual std::string type(void) const = 0; 64 virtual std::string type(void) const = 0;
65 - virtual std::string alias(void) const = 0;  
66 virtual double eval(const GPhoton& photon) const = 0; 65 virtual double eval(const GPhoton& photon) const = 0;
67 virtual double eval_gradients(const GPhoton& photon) const = 0; 66 virtual double eval_gradients(const GPhoton& photon) const = 0;
68 virtual GSkyDir mc(const GEnergy& energy, const GTime& time, 67 virtual GSkyDir mc(const GEnergy& energy, const GTime& time,
include/GModelSpatialDiffuseConst.hpp
@@ -49,6 +49,7 @@ class GModelSpatialDiffuseConst : public GModelSpatialDiffuse { @@ -49,6 +49,7 @@ class GModelSpatialDiffuseConst : public GModelSpatialDiffuse {
49 public: 49 public:
50 // Constructors and destructors 50 // Constructors and destructors
51 GModelSpatialDiffuseConst(void); 51 GModelSpatialDiffuseConst(void);
  52 + GModelSpatialDiffuseConst(const bool& dummy, const std::string& type);
52 explicit GModelSpatialDiffuseConst(const GXmlElement& xml); 53 explicit GModelSpatialDiffuseConst(const GXmlElement& xml);
53 explicit GModelSpatialDiffuseConst(const double& value); 54 explicit GModelSpatialDiffuseConst(const double& value);
54 GModelSpatialDiffuseConst(const GModelSpatialDiffuseConst& model); 55 GModelSpatialDiffuseConst(const GModelSpatialDiffuseConst& model);
@@ -62,7 +63,6 @@ public: @@ -62,7 +63,6 @@ public:
62 virtual GModelSpatialDiffuseConst* clone(void) const; 63 virtual GModelSpatialDiffuseConst* clone(void) const;
63 virtual std::string classname(void) const; 64 virtual std::string classname(void) const;
64 virtual std::string type(void) const; 65 virtual std::string type(void) const;
65 - virtual std::string alias(void) const;  
66 virtual double eval(const GPhoton& photon) const; 66 virtual double eval(const GPhoton& photon) const;
67 virtual double eval_gradients(const GPhoton& photon) const; 67 virtual double eval_gradients(const GPhoton& photon) const;
68 virtual GSkyDir mc(const GEnergy& energy, 68 virtual GSkyDir mc(const GEnergy& energy,
@@ -87,6 +87,7 @@ protected: @@ -87,6 +87,7 @@ protected:
87 void free_members(void); 87 void free_members(void);
88 88
89 // Protected members 89 // Protected members
  90 + std::string m_type; //!< Model type
90 GModelPar m_value; //!< Value 91 GModelPar m_value; //!< Value
91 mutable GSkyDir m_mc_centre; //!< Simulation cone centre 92 mutable GSkyDir m_mc_centre; //!< Simulation cone centre
92 mutable double m_mc_cos_radius; //!< Cosine of simulation cone radius 93 mutable double m_mc_cos_radius; //!< Cosine of simulation cone radius
@@ -108,28 +109,14 @@ std::string GModelSpatialDiffuseConst::classname(void) const @@ -108,28 +109,14 @@ std::string GModelSpatialDiffuseConst::classname(void) const
108 /***********************************************************************//** 109 /***********************************************************************//**
109 * @brief Return spatial model type 110 * @brief Return spatial model type
110 * 111 *
111 - * @return "DiffuseIsotropic". 112 + * @return Model type.
112 * 113 *
113 * Returns the type of the isotropic spatial model. 114 * Returns the type of the isotropic spatial model.
114 ***************************************************************************/ 115 ***************************************************************************/
115 inline 116 inline
116 std::string GModelSpatialDiffuseConst::type(void) const 117 std::string GModelSpatialDiffuseConst::type(void) const
117 { 118 {
118 - return "DiffuseIsotropic";  
119 -}  
120 -  
121 -  
122 -/***********************************************************************//**  
123 - * @brief Return spatial model type alias  
124 - *  
125 - * @return "ConstantValue".  
126 - *  
127 - * Returns the alias of the isotropic spatial model.  
128 - ***************************************************************************/  
129 -inline  
130 -std::string GModelSpatialDiffuseConst::alias(void) const  
131 -{  
132 - return "ConstantValue"; 119 + return (m_type);
133 } 120 }
134 121
135 122
include/GModelSpatialDiffuseCube.hpp
@@ -60,6 +60,7 @@ class GModelSpatialDiffuseCube : public GModelSpatialDiffuse { @@ -60,6 +60,7 @@ class GModelSpatialDiffuseCube : public GModelSpatialDiffuse {
60 public: 60 public:
61 // Constructors and destructors 61 // Constructors and destructors
62 GModelSpatialDiffuseCube(void); 62 GModelSpatialDiffuseCube(void);
  63 + GModelSpatialDiffuseCube(const bool& dummy, const std::string& type);
63 explicit GModelSpatialDiffuseCube(const GXmlElement& xml); 64 explicit GModelSpatialDiffuseCube(const GXmlElement& xml);
64 GModelSpatialDiffuseCube(const GFilename& filename, 65 GModelSpatialDiffuseCube(const GFilename& filename,
65 const double& value = 1.0); 66 const double& value = 1.0);
@@ -77,7 +78,6 @@ public: @@ -77,7 +78,6 @@ public:
77 virtual GModelSpatialDiffuseCube* clone(void) const; 78 virtual GModelSpatialDiffuseCube* clone(void) const;
78 virtual std::string classname(void) const; 79 virtual std::string classname(void) const;
79 virtual std::string type(void) const; 80 virtual std::string type(void) const;
80 - virtual std::string alias(void) const;  
81 virtual double eval(const GPhoton& photon) const; 81 virtual double eval(const GPhoton& photon) const;
82 virtual double eval_gradients(const GPhoton& photon) const; 82 virtual double eval_gradients(const GPhoton& photon) const;
83 virtual GSkyDir mc(const GEnergy& energy, 83 virtual GSkyDir mc(const GEnergy& energy,
@@ -122,12 +122,13 @@ protected: @@ -122,12 +122,13 @@ protected:
122 double cube_intensity(const GPhoton& photon) const; 122 double cube_intensity(const GPhoton& photon) const;
123 123
124 // Protected members 124 // Protected members
125 - GModelPar m_value; //!< Value  
126 - GFilename m_filename; //!< Name of map cube  
127 - bool m_loaded; //!< Signals if map cube has been loaded  
128 - GSkyMap m_cube; //!< Map cube  
129 - GNodeArray m_logE; //!< Log10(energy) values of the maps  
130 - GEbounds m_ebounds; //!< Energy bounds of the maps 125 + std::string m_type; //!< Model type
  126 + GModelPar m_value; //!< Value
  127 + GFilename m_filename; //!< Name of map cube
  128 + bool m_loaded; //!< Signals if map cube has been loaded
  129 + GSkyMap m_cube; //!< Map cube
  130 + GNodeArray m_logE; //!< Log10(energy) values of the maps
  131 + GEbounds m_ebounds; //!< Energy bounds of the maps
131 132
132 // Monte Carlo cache 133 // Monte Carlo cache
133 mutable GSkyDir m_mc_centre; //!< Centre of MC cone 134 mutable GSkyDir m_mc_centre; //!< Centre of MC cone
@@ -153,28 +154,14 @@ std::string GModelSpatialDiffuseCube::classname(void) const @@ -153,28 +154,14 @@ std::string GModelSpatialDiffuseCube::classname(void) const
153 /***********************************************************************//** 154 /***********************************************************************//**
154 * @brief Return spatial model type 155 * @brief Return spatial model type
155 * 156 *
156 - * @return "DiffuseMapCube". 157 + * @return Model type.
157 * 158 *
158 * Returns the type of the spatial map cube model. 159 * Returns the type of the spatial map cube model.
159 ***************************************************************************/ 160 ***************************************************************************/
160 inline 161 inline
161 std::string GModelSpatialDiffuseCube::type(void) const 162 std::string GModelSpatialDiffuseCube::type(void) const
162 { 163 {
163 - return "DiffuseMapCube";  
164 -}  
165 -  
166 -  
167 -/***********************************************************************//**  
168 - * @brief Return spatial model type alias  
169 - *  
170 - * @return "MapCubeFunction".  
171 - *  
172 - * Returns the alias of the spatial map cube model.  
173 - ***************************************************************************/  
174 -inline  
175 -std::string GModelSpatialDiffuseCube::alias(void) const  
176 -{  
177 - return "MapCubeFunction"; 164 + return (m_type);
178 } 165 }
179 166
180 167
include/GModelSpatialDiffuseMap.hpp
@@ -51,6 +51,7 @@ class GModelSpatialDiffuseMap : public GModelSpatialDiffuse { @@ -51,6 +51,7 @@ class GModelSpatialDiffuseMap : public GModelSpatialDiffuse {
51 public: 51 public:
52 // Constructors and destructors 52 // Constructors and destructors
53 GModelSpatialDiffuseMap(void); 53 GModelSpatialDiffuseMap(void);
  54 + GModelSpatialDiffuseMap(const bool& dummy, const std::string& type);
54 explicit GModelSpatialDiffuseMap(const GXmlElement& xml); 55 explicit GModelSpatialDiffuseMap(const GXmlElement& xml);
55 GModelSpatialDiffuseMap(const GFilename& filename, 56 GModelSpatialDiffuseMap(const GFilename& filename,
56 const double& value = 1.0, 57 const double& value = 1.0,
@@ -69,7 +70,6 @@ public: @@ -69,7 +70,6 @@ public:
69 virtual GModelSpatialDiffuseMap* clone(void) const; 70 virtual GModelSpatialDiffuseMap* clone(void) const;
70 virtual std::string classname(void) const; 71 virtual std::string classname(void) const;
71 virtual std::string type(void) const; 72 virtual std::string type(void) const;
72 - virtual std::string alias(void) const;  
73 virtual double eval(const GPhoton& photon) const; 73 virtual double eval(const GPhoton& photon) const;
74 virtual double eval_gradients(const GPhoton& photon) const; 74 virtual double eval_gradients(const GPhoton& photon) const;
75 virtual GSkyDir mc(const GEnergy& energy, 75 virtual GSkyDir mc(const GEnergy& energy,
@@ -102,13 +102,14 @@ protected: @@ -102,13 +102,14 @@ protected:
102 void prepare_map(void); 102 void prepare_map(void);
103 103
104 // Protected members 104 // Protected members
105 - GModelPar m_value; //!< Value  
106 - GSkyMap m_map; //!< Skymap  
107 - GFilename m_filename; //!< Name of skymap  
108 - GSkyDir m_centre; //!< Centre of bounding circle  
109 - double m_radius; //!< Radius of bounding circle  
110 - bool m_normalize; //!< Normalize map (default: true)  
111 - bool m_has_normalize; //!< XML has normalize attribute 105 + std::string m_type; //!< Model type
  106 + GModelPar m_value; //!< Value
  107 + GSkyMap m_map; //!< Skymap
  108 + GFilename m_filename; //!< Name of skymap
  109 + GSkyDir m_centre; //!< Centre of bounding circle
  110 + double m_radius; //!< Radius of bounding circle
  111 + bool m_normalize; //!< Normalize map (default: true)
  112 + bool m_has_normalize; //!< XML has normalize attribute
112 113
113 // MC simulation cache 114 // MC simulation cache
114 mutable GSkyDir m_mc_centre; //!< Centre of MC cone 115 mutable GSkyDir m_mc_centre; //!< Centre of MC cone
@@ -134,28 +135,14 @@ std::string GModelSpatialDiffuseMap::classname(void) const @@ -134,28 +135,14 @@ std::string GModelSpatialDiffuseMap::classname(void) const
134 /***********************************************************************//** 135 /***********************************************************************//**
135 * @brief Return spatial model type 136 * @brief Return spatial model type
136 * 137 *
137 - * @return "DiffuseMap". 138 + * @return Model type.
138 * 139 *
139 * Returns the type of the spatial map model. 140 * Returns the type of the spatial map model.
140 ***************************************************************************/ 141 ***************************************************************************/
141 inline 142 inline
142 std::string GModelSpatialDiffuseMap::type(void) const 143 std::string GModelSpatialDiffuseMap::type(void) const
143 { 144 {
144 - return "DiffuseMap";  
145 -}  
146 -  
147 -  
148 -/***********************************************************************//**  
149 - * @brief Return spatial model type alias  
150 - *  
151 - * @return "SpatialMap".  
152 - *  
153 - * Returns the alias of the spatial map model.  
154 - ***************************************************************************/  
155 -inline  
156 -std::string GModelSpatialDiffuseMap::alias(void) const  
157 -{  
158 - return "SpatialMap"; 145 + return (m_type);
159 } 146 }
160 147
161 148
include/GModelSpatialElliptical.hpp
@@ -66,7 +66,6 @@ public: @@ -66,7 +66,6 @@ public:
66 virtual GModelSpatialElliptical* clone(void) const = 0; 66 virtual GModelSpatialElliptical* clone(void) const = 0;
67 virtual std::string classname(void) const = 0; 67 virtual std::string classname(void) const = 0;
68 virtual std::string type(void) const = 0; 68 virtual std::string type(void) const = 0;
69 - virtual std::string alias(void) const = 0;  
70 virtual double eval(const double& theta, 69 virtual double eval(const double& theta,
71 const double& posangle, 70 const double& posangle,
72 const GEnergy& energy, 71 const GEnergy& energy,
include/GModelSpatialEllipticalDisk.hpp
@@ -65,7 +65,6 @@ public: @@ -65,7 +65,6 @@ public:
65 virtual GModelSpatialEllipticalDisk* clone(void) const; 65 virtual GModelSpatialEllipticalDisk* clone(void) const;
66 virtual std::string classname(void) const; 66 virtual std::string classname(void) const;
67 virtual std::string type(void) const; 67 virtual std::string type(void) const;
68 - virtual std::string alias(void) const;  
69 virtual double eval(const double& theta, 68 virtual double eval(const double& theta,
70 const double& posangle, 69 const double& posangle,
71 const GEnergy& energy, 70 const GEnergy& energy,
@@ -126,18 +125,4 @@ std::string GModelSpatialEllipticalDisk::type(void) const @@ -126,18 +125,4 @@ std::string GModelSpatialEllipticalDisk::type(void) const
126 return "EllipticalDisk"; 125 return "EllipticalDisk";
127 } 126 }
128 127
129 -  
130 -/***********************************************************************//**  
131 - * @brief Return model type alias  
132 - *  
133 - * @return "EllipticalDisk".  
134 - *  
135 - * Returns the alias of the elliptical disk model.  
136 - ***************************************************************************/  
137 -inline  
138 -std::string GModelSpatialEllipticalDisk::alias(void) const  
139 -{  
140 - return "EllipticalDisk";  
141 -}  
142 -  
143 #endif /* GMODELSPATIALELLIPTICALDISK_HPP */ 128 #endif /* GMODELSPATIALELLIPTICALDISK_HPP */
include/GModelSpatialEllipticalGauss.hpp
@@ -49,6 +49,7 @@ class GModelSpatialEllipticalGauss : public GModelSpatialElliptical { @@ -49,6 +49,7 @@ class GModelSpatialEllipticalGauss : public GModelSpatialElliptical {
49 public: 49 public:
50 // Constructors and destructors 50 // Constructors and destructors
51 GModelSpatialEllipticalGauss(void); 51 GModelSpatialEllipticalGauss(void);
  52 + GModelSpatialEllipticalGauss(const bool& dummy, const std::string& type);
52 GModelSpatialEllipticalGauss(const GSkyDir& dir, 53 GModelSpatialEllipticalGauss(const GSkyDir& dir,
53 const double& major, 54 const double& major,
54 const double& minor, 55 const double& minor,
@@ -65,7 +66,6 @@ public: @@ -65,7 +66,6 @@ public:
65 virtual GModelSpatialEllipticalGauss* clone(void) const; 66 virtual GModelSpatialEllipticalGauss* clone(void) const;
66 virtual std::string classname(void) const; 67 virtual std::string classname(void) const;
67 virtual std::string type(void) const; 68 virtual std::string type(void) const;
68 - virtual std::string alias(void) const;  
69 virtual double eval(const double& theta, 69 virtual double eval(const double& theta,
70 const double& posangle, 70 const double& posangle,
71 const GEnergy& energy, 71 const GEnergy& energy,
@@ -92,6 +92,9 @@ protected: @@ -92,6 +92,9 @@ protected:
92 void free_members(void); 92 void free_members(void);
93 void update(void) const; 93 void update(void) const;
94 94
  95 + // Protected members
  96 + std::string m_type; //!< Model type
  97 +
95 // Cached members used for pre-computations 98 // Cached members used for pre-computations
96 mutable double m_last_minor; //!< Last semi-minor axis 99 mutable double m_last_minor; //!< Last semi-minor axis
97 mutable double m_last_major; //!< Last semi-major axis 100 mutable double m_last_major; //!< Last semi-major axis
@@ -126,28 +129,14 @@ std::string GModelSpatialEllipticalGauss::classname(void) const @@ -126,28 +129,14 @@ std::string GModelSpatialEllipticalGauss::classname(void) const
126 /***********************************************************************//** 129 /***********************************************************************//**
127 * @brief Return model type 130 * @brief Return model type
128 * 131 *
129 - * @return "EllipticalGaussian". 132 + * @return Model type.
130 * 133 *
131 * Returns the type of the elliptical gauss model. 134 * Returns the type of the elliptical gauss model.
132 ***************************************************************************/ 135 ***************************************************************************/
133 inline 136 inline
134 std::string GModelSpatialEllipticalGauss::type(void) const 137 std::string GModelSpatialEllipticalGauss::type(void) const
135 { 138 {
136 - return "EllipticalGaussian";  
137 -}  
138 -  
139 -  
140 -/***********************************************************************//**  
141 - * @brief Return model type alias  
142 - *  
143 - * @return "EllipticalGauss".  
144 - *  
145 - * Returns the alias of the elliptical gauss model.  
146 - ***************************************************************************/  
147 -inline  
148 -std::string GModelSpatialEllipticalGauss::alias(void) const  
149 -{  
150 - return "EllipticalGauss"; 139 + return (m_type);
151 } 140 }
152 141
153 #endif /* GMODELSPATIALELLIPTICALGAUSS_HPP */ 142 #endif /* GMODELSPATIALELLIPTICALGAUSS_HPP */
include/GModelSpatialPointSource.hpp
@@ -43,14 +43,13 @@ @@ -43,14 +43,13 @@
43 * This class implements a point source as the spatial component of the 43 * This class implements a point source as the spatial component of the
44 * factorised source model. The point source has two parameters: the Right 44 * factorised source model. The point source has two parameters: the Right
45 * Ascension and Declination of the point source location. 45 * Ascension and Declination of the point source location.
46 - *  
47 - * The model is of type "SkyDirFunction".  
48 ***************************************************************************/ 46 ***************************************************************************/
49 class GModelSpatialPointSource : public GModelSpatial { 47 class GModelSpatialPointSource : public GModelSpatial {
50 48
51 public: 49 public:
52 // Constructors and destructors 50 // Constructors and destructors
53 GModelSpatialPointSource(void); 51 GModelSpatialPointSource(void);
  52 + GModelSpatialPointSource(const bool& dummy, const std::string& type);
54 explicit GModelSpatialPointSource(const GSkyDir& dir); 53 explicit GModelSpatialPointSource(const GSkyDir& dir);
55 GModelSpatialPointSource(const double& ra, const double& dec); 54 GModelSpatialPointSource(const double& ra, const double& dec);
56 explicit GModelSpatialPointSource(const GXmlElement& xml); 55 explicit GModelSpatialPointSource(const GXmlElement& xml);
@@ -65,7 +64,6 @@ public: @@ -65,7 +64,6 @@ public:
65 virtual GModelSpatialPointSource* clone(void) const; 64 virtual GModelSpatialPointSource* clone(void) const;
66 virtual std::string classname(void) const; 65 virtual std::string classname(void) const;
67 virtual std::string type(void) const; 66 virtual std::string type(void) const;
68 - virtual std::string alias(void) const;  
69 virtual GClassCode code(void) const; 67 virtual GClassCode code(void) const;
70 virtual double eval(const GPhoton& photon) const; 68 virtual double eval(const GPhoton& photon) const;
71 virtual double eval_gradients(const GPhoton& photon) const; 69 virtual double eval_gradients(const GPhoton& photon) const;
@@ -95,8 +93,9 @@ protected: @@ -95,8 +93,9 @@ protected:
95 void free_members(void); 93 void free_members(void);
96 94
97 // Protected members 95 // Protected members
98 - GModelPar m_ra; //!< Right Ascension (deg)  
99 - GModelPar m_dec; //!< Declination (deg) 96 + std::string m_type; //!< Model type
  97 + GModelPar m_ra; //!< Right Ascension (deg)
  98 + GModelPar m_dec; //!< Declination (deg)
100 }; 99 };
101 100
102 101
@@ -115,28 +114,14 @@ std::string GModelSpatialPointSource::classname(void) const @@ -115,28 +114,14 @@ std::string GModelSpatialPointSource::classname(void) const
115 /***********************************************************************//** 114 /***********************************************************************//**
116 * @brief Return model type 115 * @brief Return model type
117 * 116 *
118 - * @return "PointSource". 117 + * @return Model type.
119 * 118 *
120 * Returns the type of the spatial model. 119 * Returns the type of the spatial model.
121 ***************************************************************************/ 120 ***************************************************************************/
122 inline 121 inline
123 std::string GModelSpatialPointSource::type(void) const 122 std::string GModelSpatialPointSource::type(void) const
124 { 123 {
125 - return "PointSource";  
126 -}  
127 -  
128 -  
129 -/***********************************************************************//**  
130 - * @brief Return model type alias  
131 - *  
132 - * @return "SkyDirFunction".  
133 - *  
134 - * Returns the alias of the spatial model.  
135 - ***************************************************************************/  
136 -inline  
137 -std::string GModelSpatialPointSource::alias(void) const  
138 -{  
139 - return "SkyDirFunction"; 124 + return (m_type);
140 } 125 }
141 126
142 127
include/GModelSpatialRadial.hpp
@@ -66,7 +66,6 @@ public: @@ -66,7 +66,6 @@ public:
66 virtual GModelSpatialRadial* clone(void) const = 0; 66 virtual GModelSpatialRadial* clone(void) const = 0;
67 virtual std::string classname(void) const = 0; 67 virtual std::string classname(void) const = 0;
68 virtual std::string type(void) const = 0; 68 virtual std::string type(void) const = 0;
69 - virtual std::string alias(void) const = 0;  
70 virtual double eval(const double& theta, 69 virtual double eval(const double& theta,
71 const GEnergy& energy, 70 const GEnergy& energy,
72 const GTime& time) const = 0; 71 const GTime& time) const = 0;
include/GModelSpatialRadialDisk.hpp
@@ -49,6 +49,7 @@ class GModelSpatialRadialDisk : public GModelSpatialRadial { @@ -49,6 +49,7 @@ class GModelSpatialRadialDisk : public GModelSpatialRadial {
49 public: 49 public:
50 // Constructors and destructors 50 // Constructors and destructors
51 GModelSpatialRadialDisk(void); 51 GModelSpatialRadialDisk(void);
  52 + GModelSpatialRadialDisk(const bool& dummy, const std::string& type);
52 GModelSpatialRadialDisk(const GSkyDir& dir, const double& radius); 53 GModelSpatialRadialDisk(const GSkyDir& dir, const double& radius);
53 explicit GModelSpatialRadialDisk(const GXmlElement& xml); 54 explicit GModelSpatialRadialDisk(const GXmlElement& xml);
54 GModelSpatialRadialDisk(const GModelSpatialRadialDisk& model); 55 GModelSpatialRadialDisk(const GModelSpatialRadialDisk& model);
@@ -62,7 +63,6 @@ public: @@ -62,7 +63,6 @@ public:
62 virtual GModelSpatialRadialDisk* clone(void) const; 63 virtual GModelSpatialRadialDisk* clone(void) const;
63 virtual std::string classname(void) const; 64 virtual std::string classname(void) const;
64 virtual std::string type(void) const; 65 virtual std::string type(void) const;
65 - virtual std::string alias(void) const;  
66 virtual double eval(const double& theta, 66 virtual double eval(const double& theta,
67 const GEnergy& energy, 67 const GEnergy& energy,
68 const GTime& time) const; 68 const GTime& time) const;
@@ -91,7 +91,8 @@ protected: @@ -91,7 +91,8 @@ protected:
91 void update(void) const; 91 void update(void) const;
92 92
93 // Protected members 93 // Protected members
94 - GModelPar m_radius; //!< Disk radius (degrees) 94 + std::string m_type; //!< Model type
  95 + GModelPar m_radius; //!< Disk radius (degrees)
95 96
96 // Cached members used for pre-computations 97 // Cached members used for pre-computations
97 mutable double m_last_radius; //!< Last disk radius 98 mutable double m_last_radius; //!< Last disk radius
@@ -115,28 +116,14 @@ std::string GModelSpatialRadialDisk::classname(void) const @@ -115,28 +116,14 @@ std::string GModelSpatialRadialDisk::classname(void) const
115 /***********************************************************************//** 116 /***********************************************************************//**
116 * @brief Return model type 117 * @brief Return model type
117 * 118 *
118 - * @return "RadialDisk". 119 + * @return Model type.
119 * 120 *
120 * Returns the type of the radial disk model. 121 * Returns the type of the radial disk model.
121 ***************************************************************************/ 122 ***************************************************************************/
122 inline 123 inline
123 std::string GModelSpatialRadialDisk::type(void) const 124 std::string GModelSpatialRadialDisk::type(void) const
124 { 125 {
125 - return "RadialDisk";  
126 -}  
127 -  
128 -  
129 -/***********************************************************************//**  
130 - * @brief Return model type alias  
131 - *  
132 - * @return "DiskFunction".  
133 - *  
134 - * Returns the alias of the radial disk model.  
135 - ***************************************************************************/  
136 -inline  
137 -std::string GModelSpatialRadialDisk::alias(void) const  
138 -{  
139 - return "DiskFunction"; 126 + return (m_type);
140 } 127 }
141 128
142 129
include/GModelSpatialRadialGauss.hpp
@@ -50,6 +50,7 @@ class GModelSpatialRadialGauss : public GModelSpatialRadial { @@ -50,6 +50,7 @@ class GModelSpatialRadialGauss : public GModelSpatialRadial {
50 public: 50 public:
51 // Constructors and destructors 51 // Constructors and destructors
52 GModelSpatialRadialGauss(void); 52 GModelSpatialRadialGauss(void);
  53 + GModelSpatialRadialGauss(const bool& dummy, const std::string& type);
53 GModelSpatialRadialGauss(const GSkyDir& dir, const double& sigma); 54 GModelSpatialRadialGauss(const GSkyDir& dir, const double& sigma);
54 explicit GModelSpatialRadialGauss(const GXmlElement& xml); 55 explicit GModelSpatialRadialGauss(const GXmlElement& xml);
55 GModelSpatialRadialGauss(const GModelSpatialRadialGauss& model); 56 GModelSpatialRadialGauss(const GModelSpatialRadialGauss& model);
@@ -63,7 +64,6 @@ public: @@ -63,7 +64,6 @@ public:
63 virtual GModelSpatialRadialGauss* clone(void) const; 64 virtual GModelSpatialRadialGauss* clone(void) const;
64 virtual std::string classname(void) const; 65 virtual std::string classname(void) const;
65 virtual std::string type(void) const; 66 virtual std::string type(void) const;
66 - virtual std::string alias(void) const;  
67 virtual double eval(const double& theta, 67 virtual double eval(const double& theta,
68 const GEnergy& energy, 68 const GEnergy& energy,
69 const GTime& time) const; 69 const GTime& time) const;
@@ -91,7 +91,8 @@ protected: @@ -91,7 +91,8 @@ protected:
91 void free_members(void); 91 void free_members(void);
92 92
93 // Protected members 93 // Protected members
94 - GModelPar m_sigma; //!< Gaussian width (deg) 94 + std::string m_type; //!< Model type
  95 + GModelPar m_sigma; //!< Gaussian width (deg)
95 }; 96 };
96 97
97 98
@@ -110,28 +111,14 @@ std::string GModelSpatialRadialGauss::classname(void) const @@ -110,28 +111,14 @@ std::string GModelSpatialRadialGauss::classname(void) const
110 /***********************************************************************//** 111 /***********************************************************************//**
111 * @brief Return model type 112 * @brief Return model type
112 * 113 *
113 - * @return "RadialGaussian". 114 + * @return Model type.
114 * 115 *
115 * Returns the type of the radial Gauss model. 116 * Returns the type of the radial Gauss model.
116 ***************************************************************************/ 117 ***************************************************************************/
117 inline 118 inline
118 std::string GModelSpatialRadialGauss::type(void) const 119 std::string GModelSpatialRadialGauss::type(void) const
119 { 120 {
120 - return "RadialGaussian";  
121 -}  
122 -  
123 -  
124 -/***********************************************************************//**  
125 - * @brief Return model type alias  
126 - *  
127 - * @return "GaussFunction".  
128 - *  
129 - * Returns the alias of the radial Gauss model.  
130 - ***************************************************************************/  
131 -inline  
132 -std::string GModelSpatialRadialGauss::alias(void) const  
133 -{  
134 - return "GaussFunction"; 121 + return (m_type);
135 } 122 }
136 123
137 124
include/GModelSpatialRadialShell.hpp
@@ -59,6 +59,7 @@ class GModelSpatialRadialShell : public GModelSpatialRadial { @@ -59,6 +59,7 @@ class GModelSpatialRadialShell : public GModelSpatialRadial {
59 public: 59 public:
60 // Constructors and destructors 60 // Constructors and destructors
61 GModelSpatialRadialShell(void); 61 GModelSpatialRadialShell(void);
  62 + GModelSpatialRadialShell(const bool& dummy, const std::string& type);
62 GModelSpatialRadialShell(const GSkyDir& dir, 63 GModelSpatialRadialShell(const GSkyDir& dir,
63 const double& radius, 64 const double& radius,
64 const double& width); 65 const double& width);
@@ -74,7 +75,6 @@ public: @@ -74,7 +75,6 @@ public:
74 virtual GModelSpatialRadialShell* clone(void) const; 75 virtual GModelSpatialRadialShell* clone(void) const;
75 virtual std::string classname(void) const; 76 virtual std::string classname(void) const;
76 virtual std::string type(void) const; 77 virtual std::string type(void) const;
77 - virtual std::string alias(void) const;  
78 virtual double eval(const double& theta, 78 virtual double eval(const double& theta,
79 const GEnergy& energy, 79 const GEnergy& energy,
80 const GTime& time) const; 80 const GTime& time) const;
@@ -107,6 +107,7 @@ protected: @@ -107,6 +107,7 @@ protected:
107 static double f2(double x); 107 static double f2(double x);
108 108
109 // Protected members 109 // Protected members
  110 + std::string m_type; //!< Model type
110 GModelPar m_radius; //!< Inner shell radius (deg) 111 GModelPar m_radius; //!< Inner shell radius (deg)
111 GModelPar m_width; //!< Shell thickness (deg) 112 GModelPar m_width; //!< Shell thickness (deg)
112 113
@@ -136,28 +137,14 @@ std::string GModelSpatialRadialShell::classname(void) const @@ -136,28 +137,14 @@ std::string GModelSpatialRadialShell::classname(void) const
136 /***********************************************************************//** 137 /***********************************************************************//**
137 * @brief Return model type 138 * @brief Return model type
138 * 139 *
139 - * @return "RadialShell". 140 + * @return Model type.
140 * 141 *
141 * Returns the type of the radial shell model. 142 * Returns the type of the radial shell model.
142 ***************************************************************************/ 143 ***************************************************************************/
143 inline 144 inline
144 std::string GModelSpatialRadialShell::type(void) const 145 std::string GModelSpatialRadialShell::type(void) const
145 { 146 {
146 - return "RadialShell";  
147 -}  
148 -  
149 -  
150 -/***********************************************************************//**  
151 - * @brief Return model type alias  
152 - *  
153 - * @return "ShellFunction".  
154 - *  
155 - * Returns the alias of the radial shell model.  
156 - ***************************************************************************/  
157 -inline  
158 -std::string GModelSpatialRadialShell::alias(void) const  
159 -{  
160 - return "ShellFunction"; 147 + return (m_type);
161 } 148 }
162 149
163 150
src/model/GModelSpatialDiffuseConst.cpp
@@ -39,6 +39,10 @@ @@ -39,6 +39,10 @@
39 /* __ Globals ____________________________________________________________ */ 39 /* __ Globals ____________________________________________________________ */
40 const GModelSpatialDiffuseConst g_spatial_const_seed; 40 const GModelSpatialDiffuseConst g_spatial_const_seed;
41 const GModelSpatialRegistry g_spatial_const_registry(&g_spatial_const_seed); 41 const GModelSpatialRegistry g_spatial_const_registry(&g_spatial_const_seed);
  42 +#if defined(G_LEGACY_XML_FORMAT)
  43 +const GModelSpatialDiffuseConst g_spatial_const_legacy_seed(true, "ConstantValue");
  44 +const GModelSpatialRegistry g_spatial_const_legacy_registry(&g_spatial_const_legacy_seed);
  45 +#endif
42 46
43 /* __ Method name definitions ____________________________________________ */ 47 /* __ Method name definitions ____________________________________________ */
44 #define G_MC_NORM "GModelSpatialDiffuseConst::mc_norm(GSkyDir&, double&)" 48 #define G_MC_NORM "GModelSpatialDiffuseConst::mc_norm(GSkyDir&, double&)"
@@ -61,7 +65,7 @@ const GModelSpatialRegistry g_spatial_const_registry(&amp;g_spatial_const_seed); @@ -61,7 +65,7 @@ const GModelSpatialRegistry g_spatial_const_registry(&amp;g_spatial_const_seed);
61 /***********************************************************************//** 65 /***********************************************************************//**
62 * @brief Void constructor 66 * @brief Void constructor
63 * 67 *
64 - * Construct empty isotropic spatial model. 68 + * Constructs empty isotropic spatial model.
65 ***************************************************************************/ 69 ***************************************************************************/
66 GModelSpatialDiffuseConst::GModelSpatialDiffuseConst(void) : 70 GModelSpatialDiffuseConst::GModelSpatialDiffuseConst(void) :
67 GModelSpatialDiffuse() 71 GModelSpatialDiffuse()
@@ -75,6 +79,29 @@ GModelSpatialDiffuseConst::GModelSpatialDiffuseConst(void) : @@ -75,6 +79,29 @@ GModelSpatialDiffuseConst::GModelSpatialDiffuseConst(void) :
75 79
76 80
77 /***********************************************************************//** 81 /***********************************************************************//**
  82 + * @brief Model type constructor
  83 + *
  84 + * @param[in] dummy Dummy flag.
  85 + * @param[in] type Model type.
  86 + *
  87 + * Constructs empty isotropic spatial model by specifying a model @p type.
  88 + ***************************************************************************/
  89 +GModelSpatialDiffuseConst::GModelSpatialDiffuseConst(const bool& dummy,
  90 + const std::string& type) :
  91 + GModelSpatialDiffuse()
  92 +{
  93 + // Initialise members
  94 + init_members();
  95 +
  96 + // Set model type
  97 + m_type = type;
  98 +
  99 + // Return
  100 + return;
  101 +}
  102 +
  103 +
  104 +/***********************************************************************//**
78 * @brief XML constructor 105 * @brief XML constructor
79 * 106 *
80 * @param[in] xml XML element. 107 * @param[in] xml XML element.
@@ -513,6 +540,9 @@ std::string GModelSpatialDiffuseConst::print(const GChatter&amp; chatter) const @@ -513,6 +540,9 @@ std::string GModelSpatialDiffuseConst::print(const GChatter&amp; chatter) const
513 ***************************************************************************/ 540 ***************************************************************************/
514 void GModelSpatialDiffuseConst::init_members(void) 541 void GModelSpatialDiffuseConst::init_members(void)
515 { 542 {
  543 + // Initialise model type
  544 + m_type = "DiffuseIsotropic";
  545 +
516 // Initialise Value 546 // Initialise Value
517 m_value.clear(); 547 m_value.clear();
518 m_value.name("Value"); 548 m_value.name("Value");
@@ -544,6 +574,7 @@ void GModelSpatialDiffuseConst::init_members(void) @@ -544,6 +574,7 @@ void GModelSpatialDiffuseConst::init_members(void)
544 void GModelSpatialDiffuseConst::copy_members(const GModelSpatialDiffuseConst& model) 574 void GModelSpatialDiffuseConst::copy_members(const GModelSpatialDiffuseConst& model)
545 { 575 {
546 // Copy members 576 // Copy members
  577 + m_type = model.m_type;
547 m_value = model.m_value; 578 m_value = model.m_value;
548 m_mc_centre = model.m_mc_centre; 579 m_mc_centre = model.m_mc_centre;
549 m_mc_cos_radius = model.m_mc_cos_radius; 580 m_mc_cos_radius = model.m_mc_cos_radius;
src/model/GModelSpatialDiffuseCube.cpp
@@ -45,6 +45,10 @@ @@ -45,6 +45,10 @@
45 /* __ Globals ____________________________________________________________ */ 45 /* __ Globals ____________________________________________________________ */
46 const GModelSpatialDiffuseCube g_spatial_cube_seed; 46 const GModelSpatialDiffuseCube g_spatial_cube_seed;
47 const GModelSpatialRegistry g_spatial_cube_registry(&g_spatial_cube_seed); 47 const GModelSpatialRegistry g_spatial_cube_registry(&g_spatial_cube_seed);
  48 +#if defined(G_LEGACY_XML_FORMAT)
  49 +const GModelSpatialDiffuseCube g_spatial_cube_legacy_seed(true, "MapCubeFunction");
  50 +const GModelSpatialRegistry g_spatial_cube_legacy_registry(&g_spatial_cube_legacy_seed);
  51 +#endif
48 52
49 /* __ Method name definitions ____________________________________________ */ 53 /* __ Method name definitions ____________________________________________ */
50 #define G_MC "GModelSpatialDiffuseCube::mc(GEnergy&, GTime&, GRan&)" 54 #define G_MC "GModelSpatialDiffuseCube::mc(GEnergy&, GTime&, GRan&)"
@@ -85,6 +89,29 @@ GModelSpatialDiffuseCube::GModelSpatialDiffuseCube(void) : @@ -85,6 +89,29 @@ GModelSpatialDiffuseCube::GModelSpatialDiffuseCube(void) :
85 89
86 90
87 /***********************************************************************//** 91 /***********************************************************************//**
  92 + * @brief Model type constructor
  93 + *
  94 + * @param[in] dummy Dummy flag.
  95 + * @param[in] type Model type.
  96 + *
  97 + * Constructs empty map cube model by specifying a model @p type.
  98 + ***************************************************************************/
  99 +GModelSpatialDiffuseCube::GModelSpatialDiffuseCube(const bool& dummy,
  100 + const std::string& type) :
  101 + GModelSpatialDiffuse()
  102 +{
  103 + // Initialise members
  104 + init_members();
  105 +
  106 + // Set model type
  107 + m_type = type;
  108 +
  109 + // Return
  110 + return;
  111 +}
  112 +
  113 +
  114 +/***********************************************************************//**
88 * @brief XML constructor 115 * @brief XML constructor
89 * 116 *
90 * @param[in] xml XML element. 117 * @param[in] xml XML element.
@@ -1017,6 +1044,9 @@ std::string GModelSpatialDiffuseCube::print(const GChatter&amp; chatter) const @@ -1017,6 +1044,9 @@ std::string GModelSpatialDiffuseCube::print(const GChatter&amp; chatter) const
1017 ***************************************************************************/ 1044 ***************************************************************************/
1018 void GModelSpatialDiffuseCube::init_members(void) 1045 void GModelSpatialDiffuseCube::init_members(void)
1019 { 1046 {
  1047 + // Initialise model type
  1048 + m_type = "DiffuseMapCube";
  1049 +
1020 // Initialise Value 1050 // Initialise Value
1021 m_value.clear(); 1051 m_value.clear();
1022 m_value.name("Normalization"); 1052 m_value.name("Normalization");
@@ -1058,6 +1088,7 @@ void GModelSpatialDiffuseCube::init_members(void) @@ -1058,6 +1088,7 @@ void GModelSpatialDiffuseCube::init_members(void)
1058 void GModelSpatialDiffuseCube::copy_members(const GModelSpatialDiffuseCube& model) 1088 void GModelSpatialDiffuseCube::copy_members(const GModelSpatialDiffuseCube& model)
1059 { 1089 {
1060 // Copy members 1090 // Copy members
  1091 + m_type = model.m_type;
1061 m_value = model.m_value; 1092 m_value = model.m_value;
1062 m_filename = model.m_filename; 1093 m_filename = model.m_filename;
1063 m_cube = model.m_cube; 1094 m_cube = model.m_cube;
src/model/GModelSpatialDiffuseMap.cpp
@@ -40,6 +40,10 @@ @@ -40,6 +40,10 @@
40 /* __ Globals ____________________________________________________________ */ 40 /* __ Globals ____________________________________________________________ */
41 const GModelSpatialDiffuseMap g_spatial_map_seed; 41 const GModelSpatialDiffuseMap g_spatial_map_seed;
42 const GModelSpatialRegistry g_spatial_map_registry(&g_spatial_map_seed); 42 const GModelSpatialRegistry g_spatial_map_registry(&g_spatial_map_seed);
  43 +#if defined(G_LEGACY_XML_FORMAT)
  44 +const GModelSpatialDiffuseMap g_spatial_map_legacy_seed(true, "SpatialMap");
  45 +const GModelSpatialRegistry g_spatial_map_legacy_registry(&g_spatial_map_legacy_seed);
  46 +#endif
43 47
44 /* __ Method name definitions ____________________________________________ */ 48 /* __ Method name definitions ____________________________________________ */
45 #define G_MC "GModelSpatialDiffuseMap::mc(GEnergy&, GTime&, GRan&)" 49 #define G_MC "GModelSpatialDiffuseMap::mc(GEnergy&, GTime&, GRan&)"
@@ -78,6 +82,29 @@ GModelSpatialDiffuseMap::GModelSpatialDiffuseMap(void) : @@ -78,6 +82,29 @@ GModelSpatialDiffuseMap::GModelSpatialDiffuseMap(void) :
78 82
79 83
80 /***********************************************************************//** 84 /***********************************************************************//**
  85 + * @brief Model type constructor
  86 + *
  87 + * @param[in] dummy Dummy flag.
  88 + * @param[in] type Model type.
  89 + *
  90 + * Constructs empty spatial map model by specifying a model @p type.
  91 + ***************************************************************************/
  92 +GModelSpatialDiffuseMap::GModelSpatialDiffuseMap(const bool& dummy,
  93 + const std::string& type) :
  94 + GModelSpatialDiffuse()
  95 +{
  96 + // Initialise members
  97 + init_members();
  98 +
  99 + // Set model type
  100 + m_type = type;
  101 +
  102 + // Return
  103 + return;
  104 +}
  105 +
  106 +
  107 +/***********************************************************************//**
81 * @brief XML constructor 108 * @brief XML constructor
82 * 109 *
83 * @param[in] xml XML element. 110 * @param[in] xml XML element.
@@ -814,6 +841,9 @@ void GModelSpatialDiffuseMap::load(const GFilename&amp; filename) @@ -814,6 +841,9 @@ void GModelSpatialDiffuseMap::load(const GFilename&amp; filename)
814 ***************************************************************************/ 841 ***************************************************************************/
815 void GModelSpatialDiffuseMap::init_members(void) 842 void GModelSpatialDiffuseMap::init_members(void)
816 { 843 {
  844 + // Initialise model type
  845 + m_type = "DiffuseMap";
  846 +
817 // Initialise Value 847 // Initialise Value
818 m_value.clear(); 848 m_value.clear();
819 m_value.name("Prefactor"); 849 m_value.name("Prefactor");
@@ -856,6 +886,7 @@ void GModelSpatialDiffuseMap::init_members(void) @@ -856,6 +886,7 @@ void GModelSpatialDiffuseMap::init_members(void)
856 void GModelSpatialDiffuseMap::copy_members(const GModelSpatialDiffuseMap& model) 886 void GModelSpatialDiffuseMap::copy_members(const GModelSpatialDiffuseMap& model)
857 { 887 {
858 // Copy members 888 // Copy members
  889 + m_type = model.m_type;
859 m_value = model.m_value; 890 m_value = model.m_value;
860 m_map = model.m_map; 891 m_map = model.m_map;
861 m_filename = model.m_filename; 892 m_filename = model.m_filename;
src/model/GModelSpatialEllipticalGauss.cpp
@@ -44,7 +44,11 @@ namespace { @@ -44,7 +44,11 @@ namespace {
44 44
45 /* __ Globals ____________________________________________________________ */ 45 /* __ Globals ____________________________________________________________ */
46 const GModelSpatialEllipticalGauss g_elliptical_gauss_seed; 46 const GModelSpatialEllipticalGauss g_elliptical_gauss_seed;
47 -const GModelSpatialRegistry g_elliptical_gauss_registry(&g_elliptical_gauss_seed); 47 +const GModelSpatialRegistry g_elliptical_gauss_registry(&g_elliptical_gauss_seed);
  48 +#if defined(G_LEGACY_XML_FORMAT)
  49 +const GModelSpatialEllipticalGauss g_elliptical_gauss_legacy_seed(true, "EllipticalGauss");
  50 +const GModelSpatialRegistry g_elliptical_gauss_legacy_registry(&g_elliptical_gauss_legacy_seed);
  51 +#endif
48 52
49 /* __ Method name definitions ____________________________________________ */ 53 /* __ Method name definitions ____________________________________________ */
50 #define G_READ "GModelSpatialEllipticalGauss::read(GXmlElement&)" 54 #define G_READ "GModelSpatialEllipticalGauss::read(GXmlElement&)"
@@ -79,6 +83,29 @@ GModelSpatialEllipticalGauss::GModelSpatialEllipticalGauss(void) : @@ -79,6 +83,29 @@ GModelSpatialEllipticalGauss::GModelSpatialEllipticalGauss(void) :
79 83
80 84
81 /***********************************************************************//** 85 /***********************************************************************//**
  86 + * @brief Model type constructor
  87 + *
  88 + * @param[in] dummy Dummy flag.
  89 + * @param[in] type Model type.
  90 + *
  91 + * Constructs empty elliptical Gaussian model by specifying a model @p type.
  92 + ***************************************************************************/
  93 +GModelSpatialEllipticalGauss::GModelSpatialEllipticalGauss(const bool& dummy,
  94 + const std::string& type) :
  95 + GModelSpatialElliptical()
  96 +{
  97 + // Initialise members
  98 + init_members();
  99 +
  100 + // Set model type
  101 + m_type = type;
  102 +
  103 + // Return
  104 + return;
  105 +}
  106 +
  107 +
  108 +/***********************************************************************//**
82 * @brief Elliptical Gaussian constructor 109 * @brief Elliptical Gaussian constructor
83 * 110 *
84 * @param[in] dir Centre of elliptical Gaussian. 111 * @param[in] dir Centre of elliptical Gaussian.
@@ -700,6 +727,9 @@ std::string GModelSpatialEllipticalGauss::print(const GChatter&amp; chatter) const @@ -700,6 +727,9 @@ std::string GModelSpatialEllipticalGauss::print(const GChatter&amp; chatter) const
700 ***************************************************************************/ 727 ***************************************************************************/
701 void GModelSpatialEllipticalGauss::init_members(void) 728 void GModelSpatialEllipticalGauss::init_members(void)
702 { 729 {
  730 + // Initialise model type
  731 + m_type = "EllipticalGaussian";
  732 +
703 // Initialise precomputation cache. Note that zero values flag 733 // Initialise precomputation cache. Note that zero values flag
704 // uninitialised as a zero radius is not meaningful 734 // uninitialised as a zero radius is not meaningful
705 m_last_minor = 0.0; 735 m_last_minor = 0.0;
@@ -729,6 +759,9 @@ void GModelSpatialEllipticalGauss::init_members(void) @@ -729,6 +759,9 @@ void GModelSpatialEllipticalGauss::init_members(void)
729 ***************************************************************************/ 759 ***************************************************************************/
730 void GModelSpatialEllipticalGauss::copy_members(const GModelSpatialEllipticalGauss& model) 760 void GModelSpatialEllipticalGauss::copy_members(const GModelSpatialEllipticalGauss& model)
731 { 761 {
  762 + // Copy members
  763 + m_type = model.m_type;
  764 +
732 // Copy precomputation cache 765 // Copy precomputation cache
733 m_last_minor = model.m_last_minor; 766 m_last_minor = model.m_last_minor;
734 m_last_major = model.m_last_major; 767 m_last_major = model.m_last_major;
src/model/GModelSpatialPointSource.cpp
@@ -37,9 +37,14 @@ @@ -37,9 +37,14 @@
37 /* __ Constants __________________________________________________________ */ 37 /* __ Constants __________________________________________________________ */
38 const double tolerance = 0.000027777778; // angular tolerance is 1 arcsec 38 const double tolerance = 0.000027777778; // angular tolerance is 1 arcsec
39 39
  40 +
40 /* __ Globals ____________________________________________________________ */ 41 /* __ Globals ____________________________________________________________ */
41 const GModelSpatialPointSource g_spatial_ptsrc_seed; 42 const GModelSpatialPointSource g_spatial_ptsrc_seed;
42 const GModelSpatialRegistry g_spatial_ptsrc_registry(&g_spatial_ptsrc_seed); 43 const GModelSpatialRegistry g_spatial_ptsrc_registry(&g_spatial_ptsrc_seed);
  44 +#if defined(G_LEGACY_XML_FORMAT)
  45 +const GModelSpatialPointSource g_spatial_ptsrc_legacy_seed(true, "SkyDirFunction");
  46 +const GModelSpatialRegistry g_spatial_ptsrc_legacy_registry(&g_spatial_ptsrc_legacy_seed);
  47 +#endif
43 48
44 /* __ Method name definitions ____________________________________________ */ 49 /* __ Method name definitions ____________________________________________ */
45 #define G_READ "GModelSpatialPointSource::read(GXmlElement&)" 50 #define G_READ "GModelSpatialPointSource::read(GXmlElement&)"
@@ -60,6 +65,8 @@ const GModelSpatialRegistry g_spatial_ptsrc_registry(&amp;g_spatial_ptsrc_seed); @@ -60,6 +65,8 @@ const GModelSpatialRegistry g_spatial_ptsrc_registry(&amp;g_spatial_ptsrc_seed);
60 65
61 /***********************************************************************//** 66 /***********************************************************************//**
62 * @brief Void constructor 67 * @brief Void constructor
  68 + *
  69 + * Constructs empty point source model.
63 ***************************************************************************/ 70 ***************************************************************************/
64 GModelSpatialPointSource::GModelSpatialPointSource(void) : GModelSpatial() 71 GModelSpatialPointSource::GModelSpatialPointSource(void) : GModelSpatial()
65 { 72 {
@@ -72,6 +79,29 @@ GModelSpatialPointSource::GModelSpatialPointSource(void) : GModelSpatial() @@ -72,6 +79,29 @@ GModelSpatialPointSource::GModelSpatialPointSource(void) : GModelSpatial()
72 79
73 80
74 /***********************************************************************//** 81 /***********************************************************************//**
  82 + * @brief Model type constructor
  83 + *
  84 + * @param[in] dummy Dummy flag.
  85 + * @param[in] type Model type.
  86 + *
  87 + * Constructs empty point source model by specifying a model @p type.
  88 + ***************************************************************************/
  89 +GModelSpatialPointSource::GModelSpatialPointSource(const bool& dummy,
  90 + const std::string& type) :
  91 + GModelSpatial()
  92 +{
  93 + // Initialise members
  94 + init_members();
  95 +
  96 + // Set model type
  97 + m_type = type;
  98 +
  99 + // Return
  100 + return;
  101 +}
  102 +
  103 +
  104 +/***********************************************************************//**
75 * @brief Sky direction constructor 105 * @brief Sky direction constructor
76 * 106 *
77 * @param[in] dir Sky direction. 107 * @param[in] dir Sky direction.
@@ -560,6 +590,9 @@ void GModelSpatialPointSource::dir(const GSkyDir&amp; dir) @@ -560,6 +590,9 @@ void GModelSpatialPointSource::dir(const GSkyDir&amp; dir)
560 ***************************************************************************/ 590 ***************************************************************************/
561 void GModelSpatialPointSource::init_members(void) 591 void GModelSpatialPointSource::init_members(void)
562 { 592 {
  593 + // Initialise model type
  594 + m_type = "PointSource";
  595 +
563 // Initialise Right Ascension 596 // Initialise Right Ascension
564 m_ra.clear(); 597 m_ra.clear();
565 m_ra.name("RA"); 598 m_ra.name("RA");
@@ -596,8 +629,9 @@ void GModelSpatialPointSource::init_members(void) @@ -596,8 +629,9 @@ void GModelSpatialPointSource::init_members(void)
596 void GModelSpatialPointSource::copy_members(const GModelSpatialPointSource& model) 629 void GModelSpatialPointSource::copy_members(const GModelSpatialPointSource& model)
597 { 630 {
598 // Copy members 631 // Copy members
599 - m_ra = model.m_ra;  
600 - m_dec = model.m_dec; 632 + m_type = model.m_type;
  633 + m_ra = model.m_ra;
  634 + m_dec = model.m_dec;
601 635
602 // Set parameter pointer(s) 636 // Set parameter pointer(s)
603 m_pars.clear(); 637 m_pars.clear();
src/model/GModelSpatialRadialDisk.cpp
@@ -39,6 +39,10 @@ @@ -39,6 +39,10 @@
39 /* __ Globals ____________________________________________________________ */ 39 /* __ Globals ____________________________________________________________ */
40 const GModelSpatialRadialDisk g_radial_disk_seed; 40 const GModelSpatialRadialDisk g_radial_disk_seed;
41 const GModelSpatialRegistry g_radial_disk_registry(&g_radial_disk_seed); 41 const GModelSpatialRegistry g_radial_disk_registry(&g_radial_disk_seed);
  42 +#if defined(G_LEGACY_XML_FORMAT)
  43 +const GModelSpatialRadialDisk g_radial_disk_legacy_seed(true, "DiskFunction");
  44 +const GModelSpatialRegistry g_radial_disk_legacy_registry(&g_radial_disk_legacy_seed);
  45 +#endif
42 46
43 /* __ Method name definitions ____________________________________________ */ 47 /* __ Method name definitions ____________________________________________ */
44 #define G_READ "GModelSpatialRadialDisk::read(GXmlElement&)" 48 #define G_READ "GModelSpatialRadialDisk::read(GXmlElement&)"
@@ -59,6 +63,8 @@ const GModelSpatialRegistry g_radial_disk_registry(&amp;g_radial_disk_seed); @@ -59,6 +63,8 @@ const GModelSpatialRegistry g_radial_disk_registry(&amp;g_radial_disk_seed);
59 63
60 /***********************************************************************//** 64 /***********************************************************************//**
61 * @brief Void constructor 65 * @brief Void constructor
  66 + *
  67 + * Constructs empty radial disk model.
62 ***************************************************************************/ 68 ***************************************************************************/
63 GModelSpatialRadialDisk::GModelSpatialRadialDisk(void) : GModelSpatialRadial() 69 GModelSpatialRadialDisk::GModelSpatialRadialDisk(void) : GModelSpatialRadial()
64 { 70 {
@@ -71,6 +77,29 @@ GModelSpatialRadialDisk::GModelSpatialRadialDisk(void) : GModelSpatialRadial() @@ -71,6 +77,29 @@ GModelSpatialRadialDisk::GModelSpatialRadialDisk(void) : GModelSpatialRadial()
71 77
72 78
73 /***********************************************************************//** 79 /***********************************************************************//**
  80 + * @brief Model type constructor
  81 + *
  82 + * @param[in] dummy Dummy flag.
  83 + * @param[in] type Model type.
  84 + *
  85 + * Constructs empty radial disk model by specifying a model @p type.
  86 + ***************************************************************************/
  87 +GModelSpatialRadialDisk::GModelSpatialRadialDisk(const bool& dummy,
  88 + const std::string& type) :
  89 + GModelSpatialRadial()
  90 +{
  91 + // Initialise members
  92 + init_members();
  93 +
  94 + // Set model type
  95 + m_type = type;
  96 +
  97 + // Return
  98 + return;
  99 +}
  100 +
  101 +
  102 +/***********************************************************************//**
74 * @brief Disk constructor 103 * @brief Disk constructor
75 * 104 *
76 * @param[in] dir Sky position of disk centre. 105 * @param[in] dir Sky position of disk centre.
@@ -549,6 +578,9 @@ std::string GModelSpatialRadialDisk::print(const GChatter&amp; chatter) const @@ -549,6 +578,9 @@ std::string GModelSpatialRadialDisk::print(const GChatter&amp; chatter) const
549 ***************************************************************************/ 578 ***************************************************************************/
550 void GModelSpatialRadialDisk::init_members(void) 579 void GModelSpatialRadialDisk::init_members(void)
551 { 580 {
  581 + // Initialise model type
  582 + m_type = "RadialDisk";
  583 +
552 // Initialise Radius 584 // Initialise Radius
553 m_radius.clear(); 585 m_radius.clear();
554 m_radius.name("Radius"); 586 m_radius.name("Radius");
@@ -586,6 +618,7 @@ void GModelSpatialRadialDisk::init_members(void) @@ -586,6 +618,7 @@ void GModelSpatialRadialDisk::init_members(void)
586 void GModelSpatialRadialDisk::copy_members(const GModelSpatialRadialDisk& model) 618 void GModelSpatialRadialDisk::copy_members(const GModelSpatialRadialDisk& model)
587 { 619 {
588 // Copy members 620 // Copy members
  621 + m_type = model.m_type;
589 m_radius = model.m_radius; 622 m_radius = model.m_radius;
590 623
591 // Copy precomputation cache 624 // Copy precomputation cache
src/model/GModelSpatialRadialGauss.cpp
@@ -39,6 +39,10 @@ @@ -39,6 +39,10 @@
39 /* __ Globals ____________________________________________________________ */ 39 /* __ Globals ____________________________________________________________ */
40 const GModelSpatialRadialGauss g_radial_gauss_seed; 40 const GModelSpatialRadialGauss g_radial_gauss_seed;
41 const GModelSpatialRegistry g_radial_gauss_registry(&g_radial_gauss_seed); 41 const GModelSpatialRegistry g_radial_gauss_registry(&g_radial_gauss_seed);
  42 +#if defined(G_LEGACY_XML_FORMAT)
  43 +const GModelSpatialRadialGauss g_radial_gauss_legacy_seed(true, "GaussFunction");
  44 +const GModelSpatialRegistry g_radial_gauss_legacy_registry(&g_radial_gauss_legacy_seed);
  45 +#endif
42 46
43 /* __ Method name definitions ____________________________________________ */ 47 /* __ Method name definitions ____________________________________________ */
44 #define G_READ "GModelSpatialRadialGauss::read(GXmlElement&)" 48 #define G_READ "GModelSpatialRadialGauss::read(GXmlElement&)"
@@ -59,6 +63,8 @@ const GModelSpatialRegistry g_radial_gauss_registry(&amp;g_radial_gauss_seed); @@ -59,6 +63,8 @@ const GModelSpatialRegistry g_radial_gauss_registry(&amp;g_radial_gauss_seed);
59 63
60 /***********************************************************************//** 64 /***********************************************************************//**
61 * @brief Void constructor 65 * @brief Void constructor
  66 + *
  67 + * Constructs empty radial Gaussian model.
62 ***************************************************************************/ 68 ***************************************************************************/
63 GModelSpatialRadialGauss::GModelSpatialRadialGauss(void) : GModelSpatialRadial() 69 GModelSpatialRadialGauss::GModelSpatialRadialGauss(void) : GModelSpatialRadial()
64 { 70 {
@@ -71,6 +77,29 @@ GModelSpatialRadialGauss::GModelSpatialRadialGauss(void) : GModelSpatialRadial() @@ -71,6 +77,29 @@ GModelSpatialRadialGauss::GModelSpatialRadialGauss(void) : GModelSpatialRadial()
71 77
72 78
73 /***********************************************************************//** 79 /***********************************************************************//**
  80 + * @brief Model type constructor
  81 + *
  82 + * @param[in] dummy Dummy flag.
  83 + * @param[in] type Model type.
  84 + *
  85 + * Constructs empty radial Gaussian model by specifying a model @p type.
  86 + ***************************************************************************/
  87 +GModelSpatialRadialGauss::GModelSpatialRadialGauss(const bool& dummy,
  88 + const std::string& type) :
  89 + GModelSpatialRadial()
  90 +{
  91 + // Initialise members
  92 + init_members();
  93 +
  94 + // Set model type
  95 + m_type = type;
  96 +
  97 + // Return
  98 + return;
  99 +}
  100 +
  101 +
  102 +/***********************************************************************//**
74 * @brief Constructor 103 * @brief Constructor
75 * 104 *
76 * @param[in] dir Sky position of Gaussian. 105 * @param[in] dir Sky position of Gaussian.
@@ -548,6 +577,8 @@ std::string GModelSpatialRadialGauss::print(const GChatter&amp; chatter) const @@ -548,6 +577,8 @@ std::string GModelSpatialRadialGauss::print(const GChatter&amp; chatter) const
548 ***************************************************************************/ 577 ***************************************************************************/
549 void GModelSpatialRadialGauss::init_members(void) 578 void GModelSpatialRadialGauss::init_members(void)
550 { 579 {
  580 + // Initialise model type
  581 + m_type = "RadialGaussian";
551 582
552 // Initialise Gaussian sigma 583 // Initialise Gaussian sigma
553 m_sigma.clear(); 584 m_sigma.clear();
@@ -580,6 +611,7 @@ void GModelSpatialRadialGauss::init_members(void) @@ -580,6 +611,7 @@ void GModelSpatialRadialGauss::init_members(void)
580 void GModelSpatialRadialGauss::copy_members(const GModelSpatialRadialGauss& model) 611 void GModelSpatialRadialGauss::copy_members(const GModelSpatialRadialGauss& model)
581 { 612 {
582 // Copy members 613 // Copy members
  614 + m_type = model.m_type;
583 m_sigma = model.m_sigma; 615 m_sigma = model.m_sigma;
584 616
585 // Return 617 // Return
src/model/GModelSpatialRadialShell.cpp
@@ -39,6 +39,10 @@ @@ -39,6 +39,10 @@
39 /* __ Globals ____________________________________________________________ */ 39 /* __ Globals ____________________________________________________________ */
40 const GModelSpatialRadialShell g_radial_shell_seed; 40 const GModelSpatialRadialShell g_radial_shell_seed;
41 const GModelSpatialRegistry g_radial_shell_registry(&g_radial_shell_seed); 41 const GModelSpatialRegistry g_radial_shell_registry(&g_radial_shell_seed);
  42 +#if defined(G_LEGACY_XML_FORMAT)
  43 +const GModelSpatialRadialShell g_radial_shell_legacy_seed(true, "ShellFunction");
  44 +const GModelSpatialRegistry g_radial_shell_legacy_registry(&g_radial_shell_legacy_seed);
  45 +#endif
42 46
43 /* __ Method name definitions ____________________________________________ */ 47 /* __ Method name definitions ____________________________________________ */
44 #define G_READ "GModelSpatialRadialShell::read(GXmlElement&)" 48 #define G_READ "GModelSpatialRadialShell::read(GXmlElement&)"
@@ -60,6 +64,8 @@ const GModelSpatialRegistry g_radial_shell_registry(&amp;g_radial_shell_seed); @@ -60,6 +64,8 @@ const GModelSpatialRegistry g_radial_shell_registry(&amp;g_radial_shell_seed);
60 64
61 /***********************************************************************//** 65 /***********************************************************************//**
62 * @brief Void constructor 66 * @brief Void constructor
  67 + *
  68 + * Constructs empty radial shell model.
63 ***************************************************************************/ 69 ***************************************************************************/
64 GModelSpatialRadialShell::GModelSpatialRadialShell(void) : GModelSpatialRadial() 70 GModelSpatialRadialShell::GModelSpatialRadialShell(void) : GModelSpatialRadial()
65 { 71 {
@@ -72,6 +78,29 @@ GModelSpatialRadialShell::GModelSpatialRadialShell(void) : GModelSpatialRadial() @@ -72,6 +78,29 @@ GModelSpatialRadialShell::GModelSpatialRadialShell(void) : GModelSpatialRadial()
72 78
73 79
74 /***********************************************************************//** 80 /***********************************************************************//**
  81 + * @brief Model type constructor
  82 + *
  83 + * @param[in] dummy Dummy flag.
  84 + * @param[in] type Model type.
  85 + *
  86 + * Constructs empty radial shell model by specifying a model @p type.
  87 + ***************************************************************************/
  88 +GModelSpatialRadialShell::GModelSpatialRadialShell(const bool& dummy,
  89 + const std::string& type) :
  90 + GModelSpatialRadial()
  91 +{
  92 + // Initialise members
  93 + init_members();
  94 +
  95 + // Set model type
  96 + m_type = type;
  97 +
  98 + // Return
  99 + return;
  100 +}
  101 +
  102 +
  103 +/***********************************************************************//**
75 * @brief Shell constructor 104 * @brief Shell constructor
76 * 105 *
77 * @param[in] dir Sky position of shell centre. 106 * @param[in] dir Sky position of shell centre.
@@ -616,6 +645,9 @@ std::string GModelSpatialRadialShell::print(const GChatter&amp; chatter) const @@ -616,6 +645,9 @@ std::string GModelSpatialRadialShell::print(const GChatter&amp; chatter) const
616 ***************************************************************************/ 645 ***************************************************************************/
617 void GModelSpatialRadialShell::init_members(void) 646 void GModelSpatialRadialShell::init_members(void)
618 { 647 {
  648 + // Initialise model type
  649 + m_type = "RadialShell";
  650 +
619 // Initialise Radius 651 // Initialise Radius
620 m_radius.clear(); 652 m_radius.clear();
621 m_radius.name("Radius"); 653 m_radius.name("Radius");
@@ -669,6 +701,7 @@ void GModelSpatialRadialShell::init_members(void) @@ -669,6 +701,7 @@ void GModelSpatialRadialShell::init_members(void)
669 void GModelSpatialRadialShell::copy_members(const GModelSpatialRadialShell& model) 701 void GModelSpatialRadialShell::copy_members(const GModelSpatialRadialShell& model)
670 { 702 {
671 // Copy members 703 // Copy members
  704 + m_type = model.m_type;
672 m_radius = model.m_radius; 705 m_radius = model.m_radius;
673 m_width = model.m_width; 706 m_width = model.m_width;
674 707
src/model/GModelSpatialRegistry.cpp
@@ -91,13 +91,8 @@ GModelSpatialRegistry::GModelSpatialRegistry(const GModelSpatial* model) @@ -91,13 +91,8 @@ GModelSpatialRegistry::GModelSpatialRegistry(const GModelSpatial* model)
91 #endif 91 #endif
92 92
93 // Allocate new registry 93 // Allocate new registry
94 - #if defined(G_LEGACY_MODEL_NAMES)  
95 - std::string* new_names = new std::string[size()+2];  
96 - const GModelSpatial** new_models = new const GModelSpatial*[size()+2];  
97 - #else  
98 std::string* new_names = new std::string[size()+1]; 94 std::string* new_names = new std::string[size()+1];
99 const GModelSpatial** new_models = new const GModelSpatial*[size()+1]; 95 const GModelSpatial** new_models = new const GModelSpatial*[size()+1];
100 - #endif  
101 96
102 // Save old registry 97 // Save old registry
103 for (int i = 0; i < size(); ++i) { 98 for (int i = 0; i < size(); ++i) {
@@ -109,20 +104,11 @@ GModelSpatialRegistry::GModelSpatialRegistry(const GModelSpatial* model) @@ -109,20 +104,11 @@ GModelSpatialRegistry::GModelSpatialRegistry(const GModelSpatial* model)
109 new_names[size()] = model->type(); 104 new_names[size()] = model->type();
110 new_models[size()] = model; 105 new_models[size()] = model;
111 106
112 - // Add new model with alias to registry for legacy naming convention  
113 - #if defined(G_LEGACY_MODEL_NAMES)  
114 - new_names[size()+1] = model->alias();  
115 - new_models[size()+1] = model;  
116 - #endif  
117 -  
118 // Set pointers on new registry 107 // Set pointers on new registry
119 names().assign(new_names); 108 names().assign(new_names);
120 models().assign(new_models); 109 models().assign(new_models);
121 110
122 // Increment number of models in registry 111 // Increment number of models in registry
123 - #if defined(G_LEGACY_MODEL_NAMES)  
124 - number()++;  
125 - #endif  
126 number()++; 112 number()++;
127 113
128 // Debug option: Show actual registry 114 // Debug option: Show actual registry
@@ -182,7 +168,7 @@ GModelSpatialRegistry::~GModelSpatialRegistry(void) @@ -182,7 +168,7 @@ GModelSpatialRegistry::~GModelSpatialRegistry(void)
182 * @param[in] registry Registry. 168 * @param[in] registry Registry.
183 * @return Reference to registry. 169 * @return Reference to registry.
184 ***************************************************************************/ 170 ***************************************************************************/
185 -GModelSpatialRegistry& GModelSpatialRegistry::operator= (const GModelSpatialRegistry& registry) 171 +GModelSpatialRegistry& GModelSpatialRegistry::operator=(const GModelSpatialRegistry& registry)
186 { 172 {
187 // Execute only if object is not identical 173 // Execute only if object is not identical
188 if (this != &registry) { 174 if (this != &registry) {
test/test_GModel.cpp
@@ -2642,17 +2642,9 @@ void TestGModel::test_model_registry(void) @@ -2642,17 +2642,9 @@ void TestGModel::test_model_registry(void)
2642 if (ptr != NULL) { 2642 if (ptr != NULL) {
2643 2643
2644 // Test model type 2644 // Test model type
2645 - #if defined(G_LEGACY_MODEL_NAMES)  
2646 - test_assert((ptr->type() == registry.name(i)) ||  
2647 - (ptr->alias() == registry.name(i)),  
2648 - "Expected \""+registry.name(i)+"\" instead"  
2649 - " of \""+ptr->type()+"\" or \""+  
2650 - ptr->alias()+"\".");  
2651 - #else  
2652 test_assert(ptr->type() == registry.name(i), 2645 test_assert(ptr->type() == registry.name(i),
2653 "Expected \""+registry.name(i)+"\" instead" 2646 "Expected \""+registry.name(i)+"\" instead"
2654 " of \""+ptr->type()+"\"."); 2647 " of \""+ptr->type()+"\".");
2655 - #endif  
2656 2648
2657 // Free model 2649 // Free model
2658 delete ptr; 2650 delete ptr;