167{
169 parId->SetGuidance(Update( "OBJECT id"));
170 parId->SetParameterRange("id>=0");
171
173 parNbins->SetGuidance("Number of bins");
174
176 parValMin->SetGuidance("Minimum value, expressed in unit");
177
179 parValMax->SetGuidance("Maximum value, expressed in unit");
180
182 parValUnit->SetGuidance("The unit applied to filled values and valMin, valMax");
183 parValUnit->SetDefaultValue("none");
184
186 parValFcn->SetParameterCandidates("log log10 exp none");
187 G4String fcnGuidance =
"The function applied to filled values (log, log10, exp, none).\n";
188 fcnGuidance += "Note that the unit parameter cannot be omitted in this case,\n";
189 fcnGuidance += "but none value should be used instead.";
190 parValFcn->SetGuidance(fcnGuidance);
191 parValFcn->SetDefaultValue("none");
192
193 auto parValBinScheme =
new G4UIparameter(
"valBinScheme",
's',
true);
194 parValBinScheme->SetParameterCandidates("linear log");
195 G4String binSchemeGuidance =
"The binning scheme (linear, log).\n";
196 binSchemeGuidance
197 += "Note that the unit and fcn parameters cannot be omitted in this case,\n";
198 binSchemeGuidance += "but none value should be used instead.";
199 parValBinScheme->SetGuidance(binSchemeGuidance);
200 parValBinScheme->SetDefaultValue("linear");
201
202 auto commandName = Update("/analysis/HNTYPE_/setUAXIS", axis);
203 std::unique_ptr<G4UIcommand> command(
204 new G4UIcommand(Update(
"/analysis/HNTYPE_/setUAXIS", axis), messenger));
205 command->SetGuidance(Update("Set parameters for the NDIM_D LOBJECT of given id:"));
206 command->SetGuidance(
207 Update(" nAXISbins; AXISvalMin; AXISvalMax; AXISunit; AXISfunction; AXISbinScheme", axis));
208 command->SetParameter(parId);
209 command->SetParameter(parNbins);
210 command->SetParameter(parValMin);
211 command->SetParameter(parValMax);
212 command->SetParameter(parValUnit);
213 command->SetParameter(parValFcn);
214 command->SetParameter(parValBinScheme);
216
217 return command;
218}