Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4H2Messenger Class Reference

#include <G4H2Messenger.hh>

Inheritance diagram for G4H2Messenger:
G4UImessenger

Public Member Functions

 G4H2Messenger (G4VAnalysisManager *manager)
 
virtual ~G4H2Messenger ()
 
virtual void SetNewValue (G4UIcommand *command, G4String value)
 
- 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
 

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
 

Detailed Description

Definition at line 43 of file G4H2Messenger.hh.

Constructor & Destructor Documentation

G4H2Messenger::G4H2Messenger ( G4VAnalysisManager manager)

Definition at line 40 of file G4H2Messenger.cc.

References G4UIcommand::SetGuidance().

41  : G4UImessenger(),
42  fManager(manager),
43  fH2Dir(0),
44  fCreateH2Cmd(0),
45  fSetH2Cmd(0),
46  fSetH2TitleCmd(0),
47  fSetH2XAxisCmd(0),
48  fSetH2YAxisCmd(0)
49 {
50  fH2Dir = new G4UIdirectory("/analysis/h2/");
51  fH2Dir->SetGuidance("2D histograms control");
52 
53  CreateH2Cmd();
54  SetH2Cmd();
55 
56  SetH2TitleCmd();
57  SetH2XAxisCmd();
58  SetH2YAxisCmd();
59  SetH2ZAxisCmd();
60 }
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161
G4H2Messenger::~G4H2Messenger ( )
virtual

Definition at line 63 of file G4H2Messenger.cc.

64 {
65  delete fCreateH2Cmd;
66  delete fSetH2Cmd;
67  delete fSetH2TitleCmd;
68  delete fSetH2XAxisCmd;
69  delete fSetH2YAxisCmd;
70  delete fSetH2ZAxisCmd;
71  delete fH2Dir;
72 }

Member Function Documentation

void G4H2Messenger::SetNewValue ( G4UIcommand command,
G4String  value 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 302 of file G4H2Messenger.cc.

References G4VAnalysisManager::CreateH2(), G4String::data(), G4VAnalysisManager::SetH2(), G4VAnalysisManager::SetH2Title(), G4VAnalysisManager::SetH2XAxisTitle(), G4VAnalysisManager::SetH2YAxisTitle(), G4VAnalysisManager::SetH2ZAxisTitle(), and title().

303 {
304  if ( command == fCreateH2Cmd ) {
306  G4int xnbins, ynbins;
307  G4double xvmin, xvmax, yvmin, yvmax;
308  G4String xsunit,xsfcn, ysunit, ysfcn;
309  std::istringstream is(newValues.data());
310  is >> name >> title
311  >> xnbins >> xvmin >> xvmax >> xsunit >> xsfcn
312  >> ynbins >> yvmin >> yvmax >> ysunit >> ysfcn;
313  fManager->CreateH2(name, title,
314  xnbins, xvmin, xvmax, ynbins, yvmin, yvmax,
315  ysunit, ysfcn, ysunit, ysfcn);
316  }
317  else if ( command == fSetH2Cmd ) {
318  G4int id;
319  G4int xnbins, ynbins;
320  G4double xvmin, xvmax, yvmin, yvmax;
321  G4String xsunit,xsfcn, ysunit, ysfcn;
322  std::istringstream is(newValues.data());
323  is >> id
324  >> xnbins >> xvmin >> xvmax >> xsunit >> xsfcn
325  >> ynbins >> yvmin >> yvmax >> ysunit >> ysfcn;
326  fManager->SetH2(id,
327  xnbins, xvmin, xvmax, ynbins, yvmin, yvmax,
328  ysunit, ysfcn, ysunit, ysfcn);
329  }
330  else if ( command == fSetH2TitleCmd ) {
331  G4int id;
332  G4String title;
333  std::istringstream is(newValues.data());
334  is >> id;
335  getline(is, title);
336  fManager->SetH2Title(id, title);
337  }
338  else if ( command == fSetH2XAxisCmd ) {
339  G4int id;
340  G4String xaxis;
341  std::istringstream is(newValues.data());
342  is >> id;
343  getline(is, xaxis);
344  fManager->SetH2XAxisTitle(id, xaxis);
345  }
346  else if ( command == fSetH2YAxisCmd ) {
347  G4int id;
348  G4String yaxis;
349  std::istringstream is(newValues.data());
350  is >> id;
351  getline(is, yaxis);
352  fManager->SetH2YAxisTitle(id, yaxis);
353  }
354  else if ( command == fSetH2ZAxisCmd ) {
355  G4int id;
356  G4String zaxis;
357  std::istringstream is(newValues.data());
358  is >> id;
359  getline(is, zaxis);
360  fManager->SetH2ZAxisTitle(id, zaxis);
361  }
362 }
G4bool SetH2YAxisTitle(G4int id, const G4String &title)
const XML_Char * name
int G4int
Definition: G4Types.hh:78
G4bool SetH2ZAxisTitle(G4int id, const G4String &title)
G4bool SetH2(G4int id, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &xbinSchemeName="linear", const G4String &ybinSchemeName="linear")
G4bool SetH2Title(G4int id, const G4String &title)
subroutine title(NA, NB, NCA, NCB)
Definition: dpm25nuc7.f:1744
double G4double
Definition: G4Types.hh:76
G4bool SetH2XAxisTitle(G4int id, const G4String &title)
G4int CreateH2(const G4String &name, const G4String &title, G4int nxbins, G4double xmin, G4double xmax, G4int nybins, G4double ymin, G4double ymax, const G4String &xunitName="none", const G4String &yunitName="none", const G4String &xfcnName="none", const G4String &yfcnName="none", const G4String &xbinScheme="linear", const G4String &ybinScheme="linear")

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