Commit 9e7f1f63a6f78174326f79463075d3485b7a8fb6
1 parent
fe6b6521
Exists in
master
and in
57 other branches
Remplacer les strings par un enum
Showing
3 changed files
with
29 additions
and
9 deletions
Show diff stats
src/ParamOutputImpl/Plot/SpectroNode.hh
@@ -100,7 +100,17 @@ namespace plot | @@ -100,7 +100,17 @@ namespace plot | ||
100 | value = xmlGetProp(pNode_, (const xmlChar *)BACKGROUND_SUB_TYPE); | 100 | value = xmlGetProp(pNode_, (const xmlChar *)BACKGROUND_SUB_TYPE); |
101 | if (value) | 101 | if (value) |
102 | { | 102 | { |
103 | - spectroPropsPtr->setBackgroundSubType((const char *)value); | 103 | + const char *valueString = (const char *)value; |
104 | + | ||
105 | + if (strcmp(valueString, BACKGROUND_SUB_TYPE_BY_CHANNEL) == 0) | ||
106 | + { | ||
107 | + spectroPropsPtr->setBackgroundSubType(SpectroProperties::BackgroundSubType::BYCHANNEL); | ||
108 | + } | ||
109 | + else if (strcmp(valueString, BACKGROUND_SUB_TYPE_BY_FIXED_VALUE) == 0) | ||
110 | + { | ||
111 | + spectroPropsPtr->setBackgroundSubType(SpectroProperties::BackgroundSubType::FIXEDVALUE); | ||
112 | + } | ||
113 | + | ||
104 | xmlFree(value); | 114 | xmlFree(value); |
105 | } | 115 | } |
106 | 116 |
src/ParamOutputImpl/Plot/SpectroProperties.hh
@@ -29,6 +29,15 @@ namespace plot | @@ -29,6 +29,15 @@ namespace plot | ||
29 | class SpectroProperties : public DrawingProperties | 29 | class SpectroProperties : public DrawingProperties |
30 | { | 30 | { |
31 | public: | 31 | public: |
32 | + /** | ||
33 | + * @brief An enum to represent different possible values of the background subtraction type | ||
34 | + * | ||
35 | + */ | ||
36 | + enum BackgroundSubType | ||
37 | + { | ||
38 | + BYCHANNEL, | ||
39 | + FIXEDVALUE | ||
40 | + }; | ||
32 | friend std::ostream &operator<<(std::ostream &out_, | 41 | friend std::ostream &operator<<(std::ostream &out_, |
33 | const SpectroProperties &lprop_); | 42 | const SpectroProperties &lprop_); |
34 | 43 | ||
@@ -89,7 +98,7 @@ namespace plot | @@ -89,7 +98,7 @@ namespace plot | ||
89 | * @brief the type of the background subtraction : By channel, Fixed value | 98 | * @brief the type of the background subtraction : By channel, Fixed value |
90 | * | 99 | * |
91 | */ | 100 | */ |
92 | - std::string backgroundSubType; | 101 | + BackgroundSubType backgroundSubType; |
93 | /** | 102 | /** |
94 | * @brief the value of the background subtraction | 103 | * @brief the value of the background subtraction |
95 | * | 104 | * |
@@ -206,12 +215,12 @@ namespace plot | @@ -206,12 +215,12 @@ namespace plot | ||
206 | _normalization = normalization; | 215 | _normalization = normalization; |
207 | } | 216 | } |
208 | 217 | ||
209 | - void setBackgroundSubType(std::string backgroundSubType1) | 218 | + void setBackgroundSubType(BackgroundSubType backgroundSubType1) |
210 | { | 219 | { |
211 | backgroundSubType = backgroundSubType1; | 220 | backgroundSubType = backgroundSubType1; |
212 | } | 221 | } |
213 | 222 | ||
214 | - std::string getBackgroundSubType() | 223 | + BackgroundSubType getBackgroundSubType() |
215 | { | 224 | { |
216 | return backgroundSubType; | 225 | return backgroundSubType; |
217 | } | 226 | } |
src/ParamOutputImpl/Plot/Time/TimePlot.cc
@@ -1140,12 +1140,13 @@ namespace plot | @@ -1140,12 +1140,13 @@ namespace plot | ||
1140 | //We get the background subtraction value given by the user | 1140 | //We get the background subtraction value given by the user |
1141 | const double backgroundSubValue = pSpectro.getBackgroundSubValue(); | 1141 | const double backgroundSubValue = pSpectro.getBackgroundSubValue(); |
1142 | 1142 | ||
1143 | - //If negative value then quit and do nothing | ||
1144 | - if (backgroundSubValue < 0) return; | 1143 | + //If negative value then quit and do nothing |
1144 | + if (backgroundSubValue < 0) | ||
1145 | + return; | ||
1145 | 1146 | ||
1146 | const int len = matrixGrid.size(); | 1147 | const int len = matrixGrid.size(); |
1147 | //Channel subtraction | 1148 | //Channel subtraction |
1148 | - if (pSpectro.getBackgroundSubType().compare(BACKGROUND_SUB_TYPE_BY_CHANNEL) == 0) | 1149 | + if (pSpectro.getBackgroundSubType() == SpectroProperties::BackgroundSubType::BYCHANNEL) |
1149 | { | 1150 | { |
1150 | int indexChannelDim1 = -1; | 1151 | int indexChannelDim1 = -1; |
1151 | int indexChannelDim2 = -1; | 1152 | int indexChannelDim2 = -1; |
@@ -1163,7 +1164,7 @@ namespace plot | @@ -1163,7 +1164,7 @@ namespace plot | ||
1163 | matrixGrid[i].value -= values[i]; | 1164 | matrixGrid[i].value -= values[i]; |
1164 | } | 1165 | } |
1165 | //Fixed value substraction | 1166 | //Fixed value substraction |
1166 | - else if (pSpectro.getBackgroundSubType().compare(BACKGROUND_SUB_TYPE_BY_FIXED_VALUE) == 0) | 1167 | + else if (pSpectro.getBackgroundSubType() == SpectroProperties::BackgroundSubType::FIXEDVALUE) |
1167 | { | 1168 | { |
1168 | for (int i = 0; i < len; i++) | 1169 | for (int i = 0; i < len; i++) |
1169 | matrixGrid[i].value -= backgroundSubValue; | 1170 | matrixGrid[i].value -= backgroundSubValue; |
@@ -1172,7 +1173,7 @@ namespace plot | @@ -1172,7 +1173,7 @@ namespace plot | ||
1172 | { | 1173 | { |
1173 | std::stringstream lError; | 1174 | std::stringstream lError; |
1174 | lError << "Unknown background substracion type " | 1175 | lError << "Unknown background substracion type " |
1175 | - << pSpectro.getBackgroundSubType(); | 1176 | + << pSpectro.getBackgroundSubType(); |
1176 | BOOST_THROW_EXCEPTION(PanelPlotOutputException() << AMDA::ex_msg(lError.str())); | 1177 | BOOST_THROW_EXCEPTION(PanelPlotOutputException() << AMDA::ex_msg(lError.str())); |
1177 | } | 1178 | } |
1178 | 1179 |