Geant4  10.02.p03
G4H3Messenger Class Reference

#include <G4H3Messenger.hh>

Inheritance diagram for G4H3Messenger:
Collaboration diagram for G4H3Messenger:

Public Member Functions

 G4H3Messenger (G4VAnalysisManager *manager)
 
virtual ~G4H3Messenger ()
 
virtual void SetNewValue (G4UIcommand *command, G4String value) final
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () const
 

Private Member Functions

void CreateH3Cmd ()
 
void SetH3Cmd ()
 

Private Attributes

G4VAnalysisManagerfManager
 Associated class. More...
 
std::unique_ptr< G4AnalysisMessengerHelperfHelper
 
std::unique_ptr< G4UIdirectoryfDirectory
 
std::unique_ptr< G4UIcommandfCreateH3Cmd
 
std::unique_ptr< G4UIcommandfSetH3Cmd
 
std::unique_ptr< G4UIcommandfSetH3XCmd
 
std::unique_ptr< G4UIcommandfSetH3YCmd
 
std::unique_ptr< G4UIcommandfSetH3ZCmd
 
std::unique_ptr< G4UIcommandfSetH3TitleCmd
 
std::unique_ptr< G4UIcommandfSetH3XAxisCmd
 
std::unique_ptr< G4UIcommandfSetH3YAxisCmd
 
std::unique_ptr< G4UIcommandfSetH3ZAxisCmd
 
G4int fXId
 
G4int fYId
 
G4AnalysisMessengerHelper::BinData fXData
 
G4AnalysisMessengerHelper::BinData fYData
 

Additional Inherited Members

- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (G4String s)
 
G4double StoD (G4String s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir
 
G4String baseDirName
 
G4bool commandsShouldBeInMaster
 

Detailed Description

Definition at line 46 of file G4H3Messenger.hh.

Constructor & Destructor Documentation

◆ G4H3Messenger()

G4H3Messenger::G4H3Messenger ( G4VAnalysisManager manager)
explicit

Definition at line 43 of file G4H3Messenger.cc.

44  : G4UImessenger(),
45  fManager(manager),
46  fHelper(nullptr),
47  fDirectory(nullptr),
48  fCreateH3Cmd(nullptr),
49  fSetH3Cmd(nullptr),
50  fSetH3XCmd(nullptr),
51  fSetH3YCmd(nullptr),
52  fSetH3ZCmd(nullptr),
53  fSetH3TitleCmd(nullptr),
54  fSetH3XAxisCmd(nullptr),
55  fSetH3YAxisCmd(nullptr),
56  fSetH3ZAxisCmd(nullptr),
57  fXId(-1),
58  fYId(-1),
59  fXData(),
60  fYData()
61 {
62  fHelper = G4Analysis::make_unique<G4AnalysisMessengerHelper>("h3");
63 
64  fDirectory = fHelper->CreateHnDirectory();
65 
66  CreateH3Cmd();
67 
68  SetH3Cmd();
69  fSetH3XCmd = fHelper->CreateSetBinsCommand("x", this);
70  fSetH3YCmd = fHelper->CreateSetBinsCommand("y", this);
71 
72  fSetH3TitleCmd = fHelper->CreateSetTitleCommand(this);
73  fSetH3XAxisCmd = fHelper->CreateSetAxisCommand("x", this);
74  fSetH3YAxisCmd = fHelper->CreateSetAxisCommand("y", this);
75  fSetH3ZAxisCmd = fHelper->CreateSetAxisCommand("z", this);
76 }
std::unique_ptr< G4UIcommand > fSetH3ZCmd
std::unique_ptr< G4UIcommand > fSetH3YCmd
std::unique_ptr< G4UIdirectory > fDirectory
std::unique_ptr< G4UIcommand > fSetH3XCmd
G4AnalysisMessengerHelper::BinData fYData
G4VAnalysisManager * fManager
Associated class.
std::unique_ptr< G4UIcommand > fSetH3XAxisCmd
G4AnalysisMessengerHelper::BinData fXData
std::unique_ptr< G4UIcommand > fSetH3Cmd
void CreateH3Cmd()
std::unique_ptr< G4UIcommand > fSetH3YAxisCmd
std::unique_ptr< G4UIcommand > fCreateH3Cmd
std::unique_ptr< G4UIcommand > fSetH3TitleCmd
std::unique_ptr< G4UIcommand > fSetH3ZAxisCmd
std::unique_ptr< G4AnalysisMessengerHelper > fHelper
Here is the call graph for this function:

◆ ~G4H3Messenger()

G4H3Messenger::~G4H3Messenger ( )
virtual

Definition at line 79 of file G4H3Messenger.cc.

80 {}

Member Function Documentation

◆ CreateH3Cmd()

void G4H3Messenger::CreateH3Cmd ( )
private

Definition at line 87 of file G4H3Messenger.cc.

88 {
89  auto h3Name = new G4UIparameter("name", 's', false);
90  h3Name->SetGuidance("Histogram name (label)");
91 
92  auto h3Title = new G4UIparameter("title", 's', false);
93  h3Title->SetGuidance("Histogram title");
94 
95  auto h3xNbins0 = new G4UIparameter("xnbins0", 'i', true);
96  h3xNbins0->SetGuidance("Number of x-bins (default = 100)");
97  h3xNbins0->SetGuidance("Can be reset with /analysis/h3/set command");
98  h3xNbins0->SetDefaultValue(100);
99 
100  auto h3xValMin0 = new G4UIparameter("xvalMin0", 'd', true);
101  h3xValMin0->SetGuidance("Minimum x-value, expressed in unit (default = 0.)");
102  h3xValMin0->SetGuidance("Can be reset with /analysis/h3/set command");
103  h3xValMin0->SetDefaultValue(0.);
104 
105  auto h3xValMax0 = new G4UIparameter("xvalMax0", 'd', true);
106  h3xValMax0->SetGuidance("Maximum x-value, expressed in unit (default = 1.)");
107  h3xValMax0->SetGuidance("Can be reset with /analysis/h3/set command");
108  h3xValMax0->SetDefaultValue(1.);
109 
110  auto h3xValUnit0 = new G4UIparameter("xvalUnit0", 's', true);
111  h3xValUnit0->SetGuidance("The unit applied to filled x-values and xvalMin0, xvalMax0");
112  h3xValUnit0->SetDefaultValue("none");
113 
114  auto h3xValFcn0 = new G4UIparameter("xvalFcn0", 's', true);
115  G4String fcnxGuidance = "The function applied to filled x-values (log, log10, exp, none).";
116  h3xValFcn0->SetGuidance(fcnxGuidance);
117  h3xValFcn0->SetParameterCandidates("log log10 exp none");
118  h3xValFcn0->SetDefaultValue("none");
119 
120  auto h3xValBinScheme0 = new G4UIparameter("xvalBinScheme0", 's', true);
121  G4String xbinSchemeGuidance = "The binning scheme (linear, log).";
122  h3xValBinScheme0->SetParameterCandidates("linear log");
123  h3xValBinScheme0->SetGuidance(xbinSchemeGuidance);
124  h3xValBinScheme0->SetDefaultValue("linear");
125 
126  auto h3yNbins0 = new G4UIparameter("ynbins0", 'i', true);
127  h3yNbins0->SetGuidance("Number of y-bins (default = 100)");
128  h3yNbins0->SetGuidance("Can be reset with /analysis/h3/set command");
129  h3yNbins0->SetDefaultValue(100);
130 
131  auto h3yValMin0 = new G4UIparameter("yvalMin0", 'd', true);
132  h3yValMin0->SetGuidance("Minimum y-value, expressed in unit (default = 0.)");
133  h3yValMin0->SetGuidance("Can be reset with /analysis/h3/set command");
134  h3yValMin0->SetDefaultValue(0.);
135 
136  auto h3yValMax0 = new G4UIparameter("yvalMax0", 'd', true);
137  h3yValMax0->SetGuidance("Maximum y-value, expressed in unit (default = 1.)");
138  h3yValMax0->SetGuidance("Can be reset with /analysis/h3/set command");
139  h3yValMax0->SetDefaultValue(1.);
140 
141  auto h3yValUnit0 = new G4UIparameter("yvalUnit0", 's', true);
142  h3yValUnit0->SetGuidance("The unit applied to filled y-values and yvalMin0, yvalMax0");
143  h3yValUnit0->SetDefaultValue("none");
144 
145  auto h3yValFcn0 = new G4UIparameter("yvalFcn0", 's', true);
146  G4String fcnyGuidance = "The function applied to filled y-values (log, log10, exp, none).";
147  h3yValFcn0->SetGuidance(fcnyGuidance);
148  h3yValFcn0->SetParameterCandidates("log log10 exp none");
149  h3yValFcn0->SetDefaultValue("none");
150 
151  auto h3yValBinScheme0 = new G4UIparameter("yvalBinScheme0", 's', true);
152  G4String ybinSchemeGuidance = "The binning scheme (linear, log).";
153  h3yValBinScheme0->SetParameterCandidates("linear log");
154  h3yValBinScheme0->SetGuidance(ybinSchemeGuidance);
155  h3yValBinScheme0->SetDefaultValue("linear");
156 
157  auto h3zNbins0 = new G4UIparameter("znbins0", 'i', true);
158  h3zNbins0->SetGuidance("Number of z-bins (default = 100)");
159  h3zNbins0->SetGuidance("Can be reset with /analysis/h3/set command");
160  h3zNbins0->SetDefaultValue(100);
161 
162  auto h3zValMin0 = new G4UIparameter("zvalMin0", 'd', true);
163  h3zValMin0->SetGuidance("Minimum z-value, expressed in unit (default = 0.)");
164  h3zValMin0->SetGuidance("Can be reset with /analysis/h3/set command");
165  h3zValMin0->SetDefaultValue(0.);
166 
167  auto h3zValMax0 = new G4UIparameter("zvalMax0", 'd', true);
168  h3zValMax0->SetGuidance("Maximum z-value, expressed in unit (default = 1.)");
169  h3zValMax0->SetGuidance("Can be reset with /analysis/h3/set command");
170  h3zValMax0->SetDefaultValue(1.);
171 
172  auto h3zValUnit0 = new G4UIparameter("zvalUnit0", 's', true);
173  h3zValUnit0->SetGuidance("The unit applied to filled z-values and zvalMin0, zvalMax0");
174  h3zValUnit0->SetDefaultValue("none");
175 
176  auto h3zValFcn0 = new G4UIparameter("zvalFcn0", 's', true);
177  G4String fcnzGuidance = "The function applied to filled z-values (log, log10, exp, none).";
178  h3zValFcn0->SetGuidance(fcnzGuidance);
179  h3zValFcn0->SetParameterCandidates("log log10 exp none");
180  h3zValFcn0->SetDefaultValue("none");
181 
182  auto h3zValBinScheme0 = new G4UIparameter("zvalBinScheme0", 's', true);
183  G4String zbinSchemeGuidance = "The binning scheme (linear, log).";
184  h3zValBinScheme0->SetParameterCandidates("linear log");
185  h3zValBinScheme0->SetGuidance(zbinSchemeGuidance);
186  h3zValBinScheme0->SetDefaultValue("linear");
187 
188  fCreateH3Cmd = G4Analysis::make_unique<G4UIcommand>("/analysis/h3/create", this);
189  fCreateH3Cmd->SetGuidance("Create 3D histogram");
190  fCreateH3Cmd->SetParameter(h3Name);
191  fCreateH3Cmd->SetParameter(h3Title);
192  fCreateH3Cmd->SetParameter(h3xNbins0);
193  fCreateH3Cmd->SetParameter(h3xValMin0);
194  fCreateH3Cmd->SetParameter(h3xValMax0);
195  fCreateH3Cmd->SetParameter(h3xValUnit0);
196  fCreateH3Cmd->SetParameter(h3xValFcn0);
197  fCreateH3Cmd->SetParameter(h3xValBinScheme0);
198  fCreateH3Cmd->SetParameter(h3yNbins0);
199  fCreateH3Cmd->SetParameter(h3yValMin0);
200  fCreateH3Cmd->SetParameter(h3yValMax0);
201  fCreateH3Cmd->SetParameter(h3yValUnit0);
202  fCreateH3Cmd->SetParameter(h3yValFcn0);
203  fCreateH3Cmd->SetParameter(h3yValBinScheme0);
204  fCreateH3Cmd->SetParameter(h3zNbins0);
205  fCreateH3Cmd->SetParameter(h3zValMin0);
206  fCreateH3Cmd->SetParameter(h3zValMax0);
207  fCreateH3Cmd->SetParameter(h3zValUnit0);
208  fCreateH3Cmd->SetParameter(h3zValFcn0);
209  fCreateH3Cmd->SetParameter(h3zValBinScheme0);
210  fCreateH3Cmd->AvailableForStates(G4State_PreInit, G4State_Idle);
211 }
std::unique_ptr< G4UIcommand > fCreateH3Cmd
Here is the caller graph for this function:

◆ SetH3Cmd()

void G4H3Messenger::SetH3Cmd ( )
private

Definition at line 215 of file G4H3Messenger.cc.

216 {
217  auto h3Id = new G4UIparameter("id", 'i', false);
218  h3Id->SetGuidance("Histogram id");
219  h3Id->SetParameterRange("id>=0");
220 
221  auto h3xNbins = new G4UIparameter("xnbins", 'i', false);
222  h3xNbins->SetGuidance("Number of x-bins");
223 
224  auto h3xValMin = new G4UIparameter("xvalMin", 'd', false);
225  h3xValMin->SetGuidance("Minimum x-value, expressed in unit");
226 
227  auto h3xValMax = new G4UIparameter("xvalMax", 'd', false);
228  h3xValMax->SetGuidance("Maximum x-value, expressed in unit");
229 
230  auto h3xValUnit = new G4UIparameter("xvalUnit", 's', false);
231  h3xValUnit->SetGuidance("The unit applied to filled x-values and xvalMin0, xvalMax0");
232  h3xValUnit->SetDefaultValue("none");
233 
234  auto h3xValFcn = new G4UIparameter("xvalFcn", 's', false);
235  h3xValFcn->SetParameterCandidates("log log10 exp none");
236  G4String fcnxGuidance = "The function applied to filled x-values (log, log10, exp, none).";
237  h3xValFcn->SetGuidance(fcnxGuidance);
238  h3xValFcn->SetDefaultValue("none");
239 
240  auto h3xValBinScheme = new G4UIparameter("xvalBinScheme", 's', true);
241  G4String xbinSchemeGuidance = "The binning scheme (linear, log).";
242  h3xValBinScheme->SetParameterCandidates("linear log");
243  h3xValBinScheme->SetGuidance(xbinSchemeGuidance);
244  h3xValBinScheme->SetDefaultValue("linear");
245 
246  auto h3yNbins = new G4UIparameter("nybins", 'i', false);
247  h3yNbins->SetGuidance("Number of y-bins");
248 
249  auto h3yValMin = new G4UIparameter("yvalMin", 'd', false);
250  h3yValMin->SetGuidance("Minimum y-value, expressed in unit");
251 
252  auto h3yValMax = new G4UIparameter("yvalMax", 'd', false);
253  h3yValMax->SetGuidance("Maximum y-value, expressed in unit");
254 
255  auto h3yValUnit = new G4UIparameter("yvalUnit", 's', true);
256  h3yValUnit->SetGuidance("The unit applied to filled y-values and yvalMin0, yvalMax0");
257  h3yValUnit->SetDefaultValue("none");
258 
259  auto h3yValFcn = new G4UIparameter("yvalFcn", 's', false);
260  h3yValFcn->SetParameterCandidates("log log10 exp none");
261  G4String fcnyGuidance = "The function applied to filled y-values (log, log10, exp, none).";
262  h3yValFcn->SetGuidance(fcnyGuidance);
263  h3yValFcn->SetDefaultValue("none");
264 
265  auto h3yValBinScheme = new G4UIparameter("yvalBinScheme", 's', true);
266  G4String ybinSchemeGuidance = "The binning scheme (linear, log).";
267  h3yValBinScheme->SetParameterCandidates("linear log");
268  h3yValBinScheme->SetGuidance(ybinSchemeGuidance);
269  h3yValBinScheme->SetDefaultValue("linear");
270 
271  auto h3zNbins = new G4UIparameter("nzbins", 'i', false);
272  h3zNbins->SetGuidance("Number of z-bins");
273 
274  auto h3zValMin = new G4UIparameter("zvalMin", 'd', false);
275  h3zValMin->SetGuidance("Minimum z-value, expressed in unit");
276 
277  auto h3zValMax = new G4UIparameter("zvalMax", 'd', false);
278  h3zValMax->SetGuidance("Maximum z-value, expressed in unit");
279 
280  auto h3zValUnit = new G4UIparameter("zvalUnit", 's', true);
281  h3zValUnit->SetGuidance("The unit applied to filled z-values and zvalMin0, zvalMax0");
282  h3zValUnit->SetDefaultValue("none");
283 
284  auto h3zValFcn = new G4UIparameter("zvalFcn", 's', false);
285  h3zValFcn->SetParameterCandidates("log log10 exp none");
286  G4String fcnzGuidance = "The function applied to filled z-values (log, log10, exp, none).";
287  h3zValFcn->SetGuidance(fcnzGuidance);
288  h3zValFcn->SetDefaultValue("none");
289 
290  auto h3zValBinScheme = new G4UIparameter("zvalBinScheme", 's', true);
291  G4String zbinSchemeGuidance = "The binning scheme (linear, log).";
292  h3zValBinScheme->SetParameterCandidates("linear log");
293  h3zValBinScheme->SetGuidance(zbinSchemeGuidance);
294  h3zValBinScheme->SetDefaultValue("linear");
295 
296  fSetH3Cmd = G4Analysis::make_unique<G4UIcommand>("/analysis/h3/set", this);
297  fSetH3Cmd->SetGuidance("Set parameters for the 3D histogram of given id:");
298  fSetH3Cmd->SetGuidance(" nxbins; xvalMin; xvalMax; xunit; xfunction; xbinScheme");
299  fSetH3Cmd->SetGuidance(" nybins; yvalMin; yvalMax; yunit; yfunction; ybinScheme");
300  fSetH3Cmd->SetGuidance(" nzbins; zvalMin; zvalMax; zunit; zfunction; zbinScheme");
301  fSetH3Cmd->SetParameter(h3Id);
302  fSetH3Cmd->SetParameter(h3xNbins);
303  fSetH3Cmd->SetParameter(h3xValMin);
304  fSetH3Cmd->SetParameter(h3xValMax);
305  fSetH3Cmd->SetParameter(h3xValUnit);
306  fSetH3Cmd->SetParameter(h3xValFcn);
307  fSetH3Cmd->SetParameter(h3xValBinScheme);
308  fSetH3Cmd->SetParameter(h3yNbins);
309  fSetH3Cmd->SetParameter(h3yValMin);
310  fSetH3Cmd->SetParameter(h3yValMax);
311  fSetH3Cmd->SetParameter(h3yValUnit);
312  fSetH3Cmd->SetParameter(h3yValFcn);
313  fSetH3Cmd->SetParameter(h3yValBinScheme);
314  fSetH3Cmd->SetParameter(h3zNbins);
315  fSetH3Cmd->SetParameter(h3zValMin);
316  fSetH3Cmd->SetParameter(h3zValMax);
317  fSetH3Cmd->SetParameter(h3zValUnit);
318  fSetH3Cmd->SetParameter(h3zValFcn);
319  fSetH3Cmd->SetParameter(h3zValBinScheme);
320  fSetH3Cmd->AvailableForStates(G4State_PreInit, G4State_Idle);
321 }
std::unique_ptr< G4UIcommand > fSetH3Cmd
Here is the caller graph for this function:

◆ SetNewValue()

void G4H3Messenger::SetNewValue ( G4UIcommand command,
G4String  value 
)
finalvirtual

Reimplemented from G4UImessenger.

Definition at line 329 of file G4H3Messenger.cc.

330 {
331  // tokenize parameters in a vector
332  std::vector<G4String> parameters;
333  G4Analysis::Tokenize(newValues, parameters);
334  // check consistency
335  if ( G4int(parameters.size()) != command->GetParameterEntries() ) {
336  // Should never happen but let's check anyway for consistency
337  fHelper->WarnAboutParameters(command, parameters.size());
338  return;
339  }
340 
341  if ( command == fCreateH3Cmd.get() ) {
342  auto counter = 0;
343  auto name = parameters[counter++];
344  auto title = parameters[counter++];
346  fHelper->GetBinData(xdata, parameters, counter);
347  auto xunit = GetUnitValue(xdata.fSunit);
349  fHelper->GetBinData(ydata, parameters, counter);
350  auto yunit = GetUnitValue(ydata.fSunit);
352  fHelper->GetBinData(zdata, parameters, counter);
353  auto zunit = GetUnitValue(zdata.fSunit);
355  xdata.fNbins, xdata.fVmin*xunit, xdata.fVmax*xunit,
356  ydata.fNbins, ydata.fVmin*yunit, ydata.fVmax*yunit,
357  zdata.fNbins, zdata.fVmin*zunit, zdata.fVmax*zunit,
358  xdata.fSunit, ydata.fSunit, zdata.fSunit,
359  xdata.fSfcn, ydata.fSfcn, zdata.fSfcn,
360  xdata.fSbinScheme, ydata.fSbinScheme, zdata.fSbinScheme);
361  }
362  else if ( command == fSetH3Cmd.get() ) {
363  auto counter = 0;
364  auto id = G4UIcommand::ConvertToInt(parameters[counter++]);
366  fHelper->GetBinData(xdata, parameters, counter);
367  auto xunit = GetUnitValue(xdata.fSunit);
369  fHelper->GetBinData(ydata, parameters, counter);
370  auto yunit = GetUnitValue(ydata.fSunit);
372  fHelper->GetBinData(zdata, parameters, counter);
373  auto zunit = GetUnitValue(zdata.fSunit);
374  fManager->SetH3(id,
375  xdata.fNbins, xdata.fVmin*xunit, xdata.fVmax*xunit,
376  ydata.fNbins, ydata.fVmin*yunit, ydata.fVmax*yunit,
377  zdata.fNbins, zdata.fVmin*zunit, zdata.fVmax*zunit,
378  xdata.fSunit, ydata.fSunit, zdata.fSunit,
379  xdata.fSfcn, ydata.fSfcn, zdata.fSfcn,
380  xdata.fSbinScheme, ydata.fSbinScheme, zdata.fSbinScheme);
381  }
382  else if ( command == fSetH3XCmd.get() ) {
383  // Only save values
384  auto counter = 0;
385  fXId = G4UIcommand::ConvertToInt(parameters[counter++]);
386  fHelper->GetBinData(fXData, parameters, counter);
387  }
388  else if ( command == fSetH3YCmd.get() ) {
389  // Only save values
390  auto counter = 0;
391  fYId = G4UIcommand::ConvertToInt(parameters[counter++]);
392  fHelper->GetBinData(fYData, parameters, counter);
393  }
394  else if ( command == fSetH3ZCmd.get() ) {
395  auto counter = 0;
396  auto id = G4UIcommand::ConvertToInt(parameters[counter++]);
397  // Check if setX and setY command was called
398  if ( fXId == -1 || fXId != id ||
399  fYId == -1 || fYId != id ) {
400  fHelper->WarnAboutSetCommands();
401  return;
402  }
403  auto xunit = GetUnitValue(fXData.fSunit);
404  auto yunit = GetUnitValue(fYData.fSunit);
406  fHelper->GetBinData(zdata, parameters, counter);
407  auto zunit = GetUnitValue(zdata.fSunit);
408  fManager->SetH3(id,
409  fXData.fNbins, fXData.fVmin*xunit, fXData.fVmax*xunit,
410  fYData.fNbins, fYData.fVmin*yunit, fYData.fVmax*yunit,
411  zdata.fNbins, zdata.fVmin*zunit, zdata.fVmax*zunit,
412  fXData.fSunit, fYData.fSunit, zdata.fSunit,
413  fXData.fSfcn, fYData.fSfcn, zdata.fSfcn,
415  fXId = -1;
416  fYId = -1;
417  }
418  else if ( command == fSetH3TitleCmd.get() ) {
419  auto counter = 0;
420  auto id = G4UIcommand::ConvertToInt(parameters[counter++]);
421  auto title = parameters[counter++];
422  fManager->SetH3Title(id, title);
423  }
424  else if ( command == fSetH3XAxisCmd.get() ) {
425  auto counter = 0;
426  auto id = G4UIcommand::ConvertToInt(parameters[counter++]);
427  auto xaxis = parameters[counter++];
429  }
430  else if ( command == fSetH3YAxisCmd.get() ) {
431  auto counter = 0;
432  auto id = G4UIcommand::ConvertToInt(parameters[counter++]);
433  auto yaxis = parameters[counter++];
434  fManager->SetH3YAxisTitle(id, yaxis);
435  }
436  else if ( command == fSetH3ZAxisCmd.get() ) {
437  auto counter = 0;
438  auto id = G4UIcommand::ConvertToInt(parameters[counter++]);
439  auto zaxis = parameters[counter++];
440  fManager->SetH3ZAxisTitle(id, zaxis);
441  }
442 }
G4int CreateH3(const G4String &name, const G4String &title, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, G4int nzbins, G4double zmin, G4double zmax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none", const G4String &xbinSchemeName="linear", const G4String &ybinSchemeName="linear", const G4String &zbinSchemeName="linear")
std::unique_ptr< G4UIcommand > fSetH3ZCmd
std::unique_ptr< G4UIcommand > fSetH3YCmd
std::unique_ptr< G4UIcommand > fSetH3XCmd
G4String name
Definition: TRTMaterials.hh:40
G4AnalysisMessengerHelper::BinData fYData
G4VAnalysisManager * fManager
Associated class.
std::unique_ptr< G4UIcommand > fSetH3XAxisCmd
int G4int
Definition: G4Types.hh:78
G4bool SetH3(G4int id, G4int nxbins, G4double xmin, G4double xmax, G4int nzbins, G4double zmin, G4double zmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &zunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &zfcnName="none", const G4String &xbinSchemeName="linear", const G4String &ybinSchemeName="linear", const G4String &zbinSchemeName="linear")
G4AnalysisMessengerHelper::BinData fXData
std::unique_ptr< G4UIcommand > fSetH3Cmd
G4bool SetH3Title(G4int id, const G4String &title)
G4double GetUnitValue(const G4String &unit)
static G4int ConvertToInt(const char *st)
Definition: G4UIcommand.cc:435
TGaxis * xaxis
Definition: plot_hist.C:61
std::unique_ptr< G4UIcommand > fSetH3YAxisCmd
void Tokenize(const G4String &line, std::vector< G4String > &tokens)
std::unique_ptr< G4UIcommand > fCreateH3Cmd
std::unique_ptr< G4UIcommand > fSetH3TitleCmd
G4int GetParameterEntries() const
Definition: G4UIcommand.hh:143
G4bool SetH3XAxisTitle(G4int id, const G4String &title)
std::unique_ptr< G4UIcommand > fSetH3ZAxisCmd
G4bool SetH3ZAxisTitle(G4int id, const G4String &title)
subroutine title
Definition: hijing1.383.f:5981
G4bool SetH3YAxisTitle(G4int id, const G4String &title)
std::unique_ptr< G4AnalysisMessengerHelper > fHelper
Here is the call graph for this function:

Member Data Documentation

◆ fCreateH3Cmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fCreateH3Cmd
private

Definition at line 63 of file G4H3Messenger.hh.

◆ fDirectory

std::unique_ptr<G4UIdirectory> G4H3Messenger::fDirectory
private

Definition at line 61 of file G4H3Messenger.hh.

◆ fHelper

std::unique_ptr<G4AnalysisMessengerHelper> G4H3Messenger::fHelper
private

Definition at line 60 of file G4H3Messenger.hh.

◆ fManager

G4VAnalysisManager* G4H3Messenger::fManager
private

Associated class.

Definition at line 59 of file G4H3Messenger.hh.

◆ fSetH3Cmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fSetH3Cmd
private

Definition at line 64 of file G4H3Messenger.hh.

◆ fSetH3TitleCmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fSetH3TitleCmd
private

Definition at line 68 of file G4H3Messenger.hh.

◆ fSetH3XAxisCmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fSetH3XAxisCmd
private

Definition at line 69 of file G4H3Messenger.hh.

◆ fSetH3XCmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fSetH3XCmd
private

Definition at line 65 of file G4H3Messenger.hh.

◆ fSetH3YAxisCmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fSetH3YAxisCmd
private

Definition at line 70 of file G4H3Messenger.hh.

◆ fSetH3YCmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fSetH3YCmd
private

Definition at line 66 of file G4H3Messenger.hh.

◆ fSetH3ZAxisCmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fSetH3ZAxisCmd
private

Definition at line 71 of file G4H3Messenger.hh.

◆ fSetH3ZCmd

std::unique_ptr<G4UIcommand> G4H3Messenger::fSetH3ZCmd
private

Definition at line 67 of file G4H3Messenger.hh.

◆ fXData

G4AnalysisMessengerHelper::BinData G4H3Messenger::fXData
private

Definition at line 75 of file G4H3Messenger.hh.

◆ fXId

G4int G4H3Messenger::fXId
private

Definition at line 73 of file G4H3Messenger.hh.

◆ fYData

G4AnalysisMessengerHelper::BinData G4H3Messenger::fYData
private

Definition at line 76 of file G4H3Messenger.hh.

◆ fYId

G4int G4H3Messenger::fYId
private

Definition at line 74 of file G4H3Messenger.hh.


The documentation for this class was generated from the following files: