Geant4-11
Public Member Functions | Protected Member Functions | Protected Attributes
G4UImessenger Class Reference

#include <G4UImessenger.hh>

Inheritance diagram for G4UImessenger:
G4VModelCommand< M > DetectorMessenger ExN03DetectorMessenger G4ASCIITreeMessenger G4AdjointSimMessenger G4AnalysisMessenger G4CascadeParamMessenger G4DMmessenger G4DNAChemistryManager G4DecayTableMessenger G4DeexParametersMessenger G4EmExtraParametersMessenger G4EmLowEParametersMessenger G4EmMessenger G4EmParametersMessenger G4ErrorMessenger G4EvManMessenger G4FastSimulationMessenger G4FileMessenger G4GDMLMessenger G4GMocrenMessenger G4GeneralParticleSourceMessenger G4GenericMessenger G4GeometryMessenger G4GlobalMagFieldMessenger G4H1Messenger G4H2Messenger G4H3Messenger G4HadronicEPTestMessenger G4HadronicParametersMessenger G4HepRepMessenger G4HnMessenger G4INCLXXInterfaceMessenger G4InteractorMessenger G4LocalThreadCoutMessenger G4MatScanMessenger G4ModelCmdCreateContextDir< M > G4MoleculeGunMessenger G4MoleculeShootMessenger G4NeutronKillerMessenger G4NistMessenger G4NtupleMessenger G4NuclideTableMessenger G4OpenGLViewerMessenger G4OpenGLXmViewerMessenger G4OpenInventorXtExaminerViewerMessenger G4OpticalParametersMessenger G4P1Messenger G4P2Messenger G4ParticleGunMessenger G4ParticleHPMessenger G4ParticleMessenger G4ParticlePropertyMessenger G4PersistencyCenterMessenger G4PhysListFactoryMessenger G4PlotMessenger G4PlotterManager::Messenger G4PolarizationMessenger G4ProcessManagerMessenger G4ProcessTableMessenger G4ProductionCutsTableMessenger G4ProfilerMessenger G4RTMessenger G4RadioactivationMessenger G4RadioactiveDecayMessenger G4ReactionTableMessenger G4RunMessenger G4SDmessenger G4SchedulerMessenger G4ScoreQuantityMessenger G4ScoringMessenger G4StackingMessenger G4TScoreNtupleWriterMessenger< T > G4ToolsAnalysisMessenger G4TrackingMessenger G4UCNBoundaryProcessMessenger G4UIcontrolMessenger G4UnitsMessenger G4UserPhysicsListMessenger G4VITSteppingVerbose G4VModelCommand< T > G4VVisCommand G4VisCommandListManagerList< Manager > G4VisCommandListManagerSelect< Manager > G4VisCommandManagerMode< Manager > G4VtkMessenger G4tgrMessenger GFlashShowerModelMessenger PhysicsListMessenger

Public Member Functions

G4bool CommandsShouldBeInMaster () const
 
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
G4bool operator!= (const G4UImessenger &messenger) const
 
G4bool operator== (const G4UImessenger &messenger) const
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
virtual ~G4UImessenger ()
 

Protected Member Functions

void AddUIcommand (G4UIcommand *newCommand)
 
G4String BtoS (G4bool b)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
G4String DtoS (G4double a)
 
G4String ItoS (G4int i)
 
G4bool StoB (G4String s)
 
G4double StoD (G4String s)
 
G4int StoI (G4String s)
 
G4long StoL (G4String s)
 

Protected Attributes

G4UIdirectorybaseDir = nullptr
 
G4String baseDirName = ""
 
G4bool commandsShouldBeInMaster = false
 

Detailed Description

Definition at line 46 of file G4UImessenger.hh.

Constructor & Destructor Documentation

◆ G4UImessenger() [1/2]

G4UImessenger::G4UImessenger ( )

Definition at line 40 of file G4UImessenger.cc.

41{
42}

◆ G4UImessenger() [2/2]

G4UImessenger::G4UImessenger ( const G4String path,
const G4String dsc,
G4bool  commandsToBeBroadcasted = true 
)

Definition at line 45 of file G4UImessenger.cc.

47{
48 CreateDirectory(path, dsc, commandsToBeBroadcasted);
49}
void CreateDirectory(const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)

References CreateDirectory().

◆ ~G4UImessenger()

G4UImessenger::~G4UImessenger ( )
virtual

Definition at line 52 of file G4UImessenger.cc.

53{
54 delete baseDir;
55}
G4UIdirectory * baseDir

References baseDir.

Member Function Documentation

◆ AddUIcommand()

void G4UImessenger::AddUIcommand ( G4UIcommand newCommand)
protected

Definition at line 149 of file G4UImessenger.cc.

150{
151 G4cerr << "Warning : Old style definition of G4UIcommand <"
152 << newCommand->GetCommandPath() << ">." << G4endl;
153}
G4GLOB_DLL std::ostream G4cerr
#define G4endl
Definition: G4ios.hh:57
const G4String & GetCommandPath() const
Definition: G4UIcommand.hh:136

References G4cerr, G4endl, and G4UIcommand::GetCommandPath().

◆ BtoS()

G4String G4UImessenger::BtoS ( G4bool  b)
protected

Definition at line 98 of file G4UImessenger.cc.

99{
100 G4String vl = "0";
101 if(b)
102 vl = "true";
103 return vl;
104}

◆ CommandsShouldBeInMaster()

G4bool G4UImessenger::CommandsShouldBeInMaster ( ) const
inline

Definition at line 77 of file G4UImessenger.hh.

78 {
80 }
G4bool commandsShouldBeInMaster

References commandsShouldBeInMaster.

Referenced by G4UIcommand::G4UIcommandCommonConstructorCode().

◆ CreateCommand()

template<typename T >
T * G4UImessenger::CreateCommand ( const G4String cname,
const G4String dsc 
)
protected

Definition at line 110 of file G4UImessenger.hh.

111{
112 G4String path;
113 if(cname[0] != '/')
114 {
115 path = baseDirName + cname;
116 if(path[0] != '/')
117 path = "/" + path;
118 }
119
120 T* command = new T(path.c_str(), this);
121 command->SetGuidance(dsc.c_str());
122
123 return command;
124}
G4String baseDirName

References baseDirName.

◆ CreateDirectory()

void G4UImessenger::CreateDirectory ( const G4String path,
const G4String dsc,
G4bool  commandsToBeBroadcasted = true 
)
protected

Definition at line 156 of file G4UImessenger.cc.

158{
160
161 G4String fullpath = path;
162 if(fullpath.back() != '/')
163 fullpath.append("/");
164
165 G4UIcommandTree* tree = ui->GetTree()->FindCommandTree(fullpath.c_str());
166 if(tree != nullptr)
167 {
168 baseDirName = tree->GetPathName();
169 }
170 else
171 {
172 baseDir = new G4UIdirectory(fullpath.c_str(), commandsToBeBroadcasted);
173 baseDirName = fullpath;
174 baseDir->SetGuidance(dsc.c_str());
175 }
176}
const G4String & GetPathName() const
G4UIcommandTree * FindCommandTree(const char *commandPath)
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:156
G4UIcommandTree * GetTree() const
Definition: G4UImanager.hh:186
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:77

References baseDir, baseDirName, G4UIcommandTree::FindCommandTree(), G4UIcommandTree::GetPathName(), G4UImanager::GetTree(), G4UImanager::GetUIpointer(), and G4UIcommand::SetGuidance().

Referenced by G4MoleculeShootMessenger::G4MoleculeShootMessenger(), and G4UImessenger().

◆ DtoS()

G4String G4UImessenger::DtoS ( G4double  a)
protected

Definition at line 90 of file G4UImessenger.cc.

91{
92 std::ostringstream os;
93 os << a;
94 return G4String(os.str());
95}

Referenced by G4ScoreQuantityMessenger::FilterCommands(), and G4UIcontrolMessenger::SetNewValue().

◆ GetCurrentValue()

G4String G4UImessenger::GetCurrentValue ( G4UIcommand command)
virtual

Reimplemented in G4ScoreQuantityMessenger, G4VisCommandModelCreate< Factory >, G4VisCommandListManagerList< Manager >, G4VisCommandListManagerSelect< Manager >, G4VisCommandManagerMode< Manager >, G4ToolsAnalysisMessenger, G4ScoringMessenger, G4EvManMessenger, G4GeneralParticleSourceMessenger, G4ParticleGunMessenger, G4GeometryMessenger, G4GenericMessenger, G4UIcontrolMessenger, GFlashShowerModelMessenger, G4DecayTableMessenger, G4ParticleMessenger, G4ParticlePropertyMessenger, G4tgrMessenger, G4PersistencyCenterMessenger, G4ProductionCutsTableMessenger, G4SchedulerMessenger, G4VITSteppingVerbose, G4MoleculeShootMessenger, G4MoleculeGunMessenger, G4ProcessManagerMessenger, G4ProcessTableMessenger, G4MatScanMessenger, G4RunMessenger, G4UserPhysicsListMessenger, G4TrackingMessenger, G4GMocrenMessenger, G4HepRepMessenger, G4VisCommandAbortReviewKeptEvents, G4VisCommandDrawOnlyToBeKeptEvents, G4VisCommandEnable, G4VisCommandList, G4VisCommandReviewKeptEvents, G4VisCommandVerbose, G4VisCommandGeometryList, G4VisCommandGeometryRestore, G4VisCommandGeometrySetColour, G4VisCommandGeometrySetDaughtersInvisible, G4VisCommandGeometrySetForceAuxEdgeVisible, G4VisCommandGeometrySetForceCloud, G4VisCommandGeometrySetForceSolid, G4VisCommandGeometrySetForceLineSegmentsPerCircle, G4VisCommandGeometrySetForceWireframe, G4VisCommandGeometrySetLineStyle, G4VisCommandGeometrySetLineWidth, G4VisCommandGeometrySetVisibility, G4VisCommandSceneActivateModel, G4VisCommandSceneCreate, G4VisCommandSceneEndOfEventAction, G4VisCommandSceneEndOfRunAction, G4VisCommandSceneList, G4VisCommandSceneNotifyHandlers, G4VisCommandSceneRemoveModel, G4VisCommandSceneSelect, G4VisCommandSceneShowExtents, G4VisCommandSceneAddArrow, G4VisCommandSceneAddArrow2D, G4VisCommandSceneAddAxes, G4VisCommandSceneAddDate, G4VisCommandSceneAddDigis, G4VisCommandSceneAddEventID, G4VisCommandSceneAddExtent, G4VisCommandSceneAddElectricField, G4VisCommandSceneAddFrame, G4VisCommandSceneAddGPS, G4VisCommandSceneAddGhosts, G4VisCommandSceneAddHits, G4VisCommandSceneAddLine, G4VisCommandSceneAddLine2D, G4VisCommandSceneAddLocalAxes, G4VisCommandSceneAddLogicalVolume, G4VisCommandSceneAddLogo, G4VisCommandSceneAddLogo2D, G4VisCommandSceneAddMagneticField, G4VisCommandSceneAddPSHits, G4VisCommandSceneAddScale, G4VisCommandSceneAddText, G4VisCommandSceneAddText2D, G4VisCommandSceneAddTrajectories, G4VisCommandSceneAddUserAction, G4VisCommandSceneAddVolume, G4VisCommandSceneAddPlotter, G4VisCommandSceneHandlerAttach, G4VisCommandSceneHandlerCreate, G4VisCommandSceneHandlerList, G4VisCommandSceneHandlerSelect, G4VisCommandSetArrow3DLineSegmentsPerCircle, G4VisCommandSetColour, G4VisCommandSetExtentForField, G4VisCommandSetLineWidth, G4VisCommandSetTextColour, G4VisCommandSetTextLayout, G4VisCommandSetTextSize, G4VisCommandSetTouchable, G4VisCommandSetVolumeForField, G4VisCommandsTouchable, G4VisCommandsTouchableSet, G4VisCommandViewerAddCutawayPlane, G4VisCommandViewerCentreOn, G4VisCommandViewerChangeCutawayPlane, G4VisCommandViewerClear, G4VisCommandViewerClearCutawayPlanes, G4VisCommandViewerClearTransients, G4VisCommandViewerClearVisAttributesModifiers, G4VisCommandViewerClone, G4VisCommandViewerColourByDensity, G4VisCommandViewerCopyViewFrom, G4VisCommandViewerCreate, G4VisCommandViewerDolly, G4VisCommandViewerFlush, G4VisCommandViewerInterpolate, G4VisCommandViewerList, G4VisCommandViewerPan, G4VisCommandViewerReset, G4VisCommandViewerRefresh, G4VisCommandViewerRebuild, G4VisCommandViewerSave, G4VisCommandViewerScale, G4VisCommandViewerSelect, G4VisCommandViewerUpdate, G4VisCommandViewerZoom, G4VisCommandViewerDefaultHiddenEdge, G4VisCommandViewerDefaultStyle, G4VisCommandsViewerSet, G4VModelCommand< T >, G4VModelCommand< M >, G4RTMessenger, G4ASCIITreeMessenger, G4VtkMessenger, G4PolarizationMessenger, and G4DNAChemistryManager.

Definition at line 58 of file G4UImessenger.cc.

59{
60 G4String nullString;
61 return nullString;
62}

Referenced by G4UIcommand::DoIt(), and G4UIcommand::GetCurrentValue().

◆ ItoS()

G4String G4UImessenger::ItoS ( G4int  i)
protected

Definition at line 82 of file G4UImessenger.cc.

83{
84 std::ostringstream os;
85 os << i;
86 return G4String(os.str());
87}

Referenced by G4GenericMessenger::DeclareMethod(), and G4ParticleGunMessenger::GetCurrentValue().

◆ operator!=()

G4bool G4UImessenger::operator!= ( const G4UImessenger messenger) const

Definition at line 76 of file G4UImessenger.cc.

77{
78 return this != &messenger;
79}

◆ operator==()

G4bool G4UImessenger::operator== ( const G4UImessenger messenger) const

Definition at line 70 of file G4UImessenger.cc.

71{
72 return this == &messenger;
73}

◆ SetNewValue()

void G4UImessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented in DetectorMessenger, PhysicsListMessenger, ExN03DetectorMessenger, G4ErrorMessenger, G4GlobalMagFieldMessenger, G4LocalThreadCoutMessenger, G4ProfilerMessenger, G4UnitsMessenger, G4GDMLMessenger, G4OpticalParametersMessenger, G4ParticleHPMessenger, G4UCNBoundaryProcessMessenger, G4NeutronKillerMessenger, G4AdjointSimMessenger, G4PlotterManager::Messenger, G4OpenGLViewerMessenger, G4OpenGLXmViewerMessenger, G4OpenInventorXtExaminerViewerMessenger, G4ToolsSGSceneHandler::Messenger, G4NistMessenger, G4DNAChemistryManager, G4EmExtraParametersMessenger, G4EmLowEParametersMessenger, G4EmParametersMessenger, G4DeexParametersMessenger, G4ToolsSGViewer< SG_SESSION, SG_VIEWER >::Messenger, G4EmMessenger, G4PhysListFactoryMessenger, G4GenericMessenger, G4UIcontrolMessenger, G4InteractorMessenger, G4VITSteppingVerbose, G4MoleculeShootMessenger, G4MoleculeGunMessenger, G4ReactionTableMessenger, G4CascadeParamMessenger, G4MatScanMessenger, G4GMocrenMessenger, G4HepRepMessenger, G4VisCommandModelCreate< Factory >, G4VisCommandAbortReviewKeptEvents, G4VisCommandDrawOnlyToBeKeptEvents, G4VisCommandEnable, G4VisCommandInitialize, G4VisCommandList, G4VisCommandReviewKeptEvents, G4VisCommandVerbose, G4VisCommandDrawTree, G4VisCommandDrawView, G4VisCommandDrawLogicalVolume, G4VisCommandDrawVolume, G4VisCommandOpen, G4VisCommandSpecify, G4VisCommandGeometryList, G4VisCommandGeometryRestore, G4VisCommandGeometrySetColour, G4VisCommandGeometrySetDaughtersInvisible, G4VisCommandGeometrySetForceAuxEdgeVisible, G4VisCommandGeometrySetForceCloud, G4VisCommandGeometrySetForceSolid, G4VisCommandGeometrySetForceLineSegmentsPerCircle, G4VisCommandGeometrySetForceWireframe, G4VisCommandGeometrySetLineStyle, G4VisCommandGeometrySetLineWidth, G4VisCommandGeometrySetVisibility, G4VisCommandListManagerList< Manager >, G4VisCommandListManagerSelect< Manager >, G4VisCommandManagerMode< Manager >, G4VisCommandSceneActivateModel, G4VisCommandSceneCreate, G4VisCommandSceneEndOfEventAction, G4VisCommandSceneEndOfRunAction, G4VisCommandSceneList, G4VisCommandSceneNotifyHandlers, G4VisCommandSceneRemoveModel, G4VisCommandSceneSelect, G4VisCommandSceneShowExtents, G4VisCommandSceneAddArrow, G4VisCommandSceneAddArrow2D, G4VisCommandSceneAddAxes, G4VisCommandSceneAddDate, G4VisCommandSceneAddDigis, G4VisCommandSceneAddEventID, G4VisCommandSceneAddExtent, G4VisCommandSceneAddElectricField, G4VisCommandSceneAddFrame, G4VisCommandSceneAddGPS, G4VisCommandSceneAddGhosts, G4VisCommandSceneAddHits, G4VisCommandSceneAddLine, G4VisCommandSceneAddLine2D, G4VisCommandSceneAddLocalAxes, G4VisCommandSceneAddLogicalVolume, G4VisCommandSceneAddLogo, G4VisCommandSceneAddLogo2D, G4VisCommandSceneAddMagneticField, G4VisCommandSceneAddPSHits, G4VisCommandSceneAddScale, G4VisCommandSceneAddText, G4VisCommandSceneAddText2D, G4VisCommandSceneAddTrajectories, G4VisCommandSceneAddUserAction, G4VisCommandSceneAddVolume, G4VisCommandSceneAddPlotter, G4VisCommandSceneHandlerAttach, G4VisCommandSceneHandlerCreate, G4VisCommandSceneHandlerList, G4VisCommandSceneHandlerSelect, G4VisCommandSetArrow3DLineSegmentsPerCircle, G4VisCommandSetColour, G4VisCommandSetExtentForField, G4VisCommandSetLineWidth, G4VisCommandSetTextColour, G4VisCommandSetTextLayout, G4VisCommandSetTextSize, G4VisCommandSetTouchable, G4VisCommandSetVolumeForField, G4VisCommandsTouchable, G4VisCommandsTouchableSet, G4VisCommandViewerAddCutawayPlane, G4VisCommandViewerCentreOn, G4VisCommandViewerChangeCutawayPlane, G4VisCommandViewerClear, G4VisCommandViewerClearCutawayPlanes, G4VisCommandViewerClearTransients, G4VisCommandViewerClearVisAttributesModifiers, G4VisCommandViewerClone, G4VisCommandViewerColourByDensity, G4VisCommandViewerCopyViewFrom, G4VisCommandViewerCreate, G4VisCommandViewerDolly, G4VisCommandViewerFlush, G4VisCommandViewerInterpolate, G4VisCommandViewerList, G4VisCommandViewerPan, G4VisCommandViewerReset, G4VisCommandViewerRefresh, G4VisCommandViewerRebuild, G4VisCommandViewerSave, G4VisCommandViewerScale, G4VisCommandViewerSelect, G4VisCommandViewerUpdate, G4VisCommandViewerZoom, G4VisCommandViewerDefaultHiddenEdge, G4VisCommandViewerDefaultStyle, G4VisCommandsViewerSet, G4ModelCmdApplyStringColour< M >, G4ModelCmdApplyColour< M >, G4ModelCmdApplyBool< M >, G4ModelCmdApplyNull< M >, G4ModelCmdApplyDouble< M >, G4ModelCmdApplyDoubleAndUnit< M >, G4ModelCmdApplyInteger< M >, G4ModelCmdApplyString< M >, G4RTMessenger, G4ASCIITreeMessenger, G4VtkMessenger, G4SDmessenger, G4ScoreQuantityMessenger, G4ScoringMessenger, G4TScoreNtupleWriterMessenger< T >, G4EvManMessenger, G4GeneralParticleSourceMessenger, G4ParticleGunMessenger, G4StackingMessenger, G4GeometryMessenger, GFlashShowerModelMessenger, G4DecayTableMessenger, G4NuclideTableMessenger, G4ParticleMessenger, G4ParticlePropertyMessenger, G4tgrMessenger, G4PersistencyCenterMessenger, G4ProductionCutsTableMessenger, G4SchedulerMessenger, G4HadronicEPTestMessenger, G4INCLXXInterfaceMessenger, G4RadioactivationMessenger, G4RadioactiveDecayMessenger, G4ProcessManagerMessenger, G4ProcessTableMessenger, G4FastSimulationMessenger, G4DMmessenger, G4RunMessenger, G4UserPhysicsListMessenger, G4TrackingMessenger, G4PolarizationMessenger, G4HadronicParametersMessenger, G4ToolsAnalysisMessenger, G4AnalysisMessenger, G4FileMessenger, G4H1Messenger, G4H2Messenger, G4H3Messenger, G4HnMessenger, G4NtupleMessenger, G4P1Messenger, G4P2Messenger, and G4PlotMessenger.

Definition at line 65 of file G4UImessenger.cc.

66{
67}

Referenced by G4UIcommand::DoIt().

◆ StoB()

G4bool G4UImessenger::StoB ( G4String  s)
protected

Definition at line 137 of file G4UImessenger.cc.

138{
140 G4bool vl = false;
141 if(v == "Y" || v == "YES" || v == "1" || v == "T" || v == "TRUE")
142 {
143 vl = true;
144 }
145 return vl;
146}
bool G4bool
Definition: G4Types.hh:86
G4String to_upper_copy(G4String str)
Return uppercase copy of string.

References G4StrUtil::to_upper_copy().

Referenced by G4LocalThreadCoutMessenger::SetNewValue(), G4CascadeParamMessenger::SetNewValue(), G4ScoreQuantityMessenger::SetNewValue(), and G4ScoringMessenger::SetNewValue().

◆ StoD()

G4double G4UImessenger::StoD ( G4String  s)
protected

◆ StoI()

G4int G4UImessenger::StoI ( G4String  s)
protected

◆ StoL()

G4long G4UImessenger::StoL ( G4String  s)
protected

Definition at line 117 of file G4UImessenger.cc.

118{
119 G4long vl;
120 const char* t = str;
121 std::istringstream is(t);
122 is >> vl;
123 return vl;
124}
long G4long
Definition: G4Types.hh:87

Referenced by G4RunMessenger::SetNewValue().

Field Documentation

◆ baseDir

G4UIdirectory* G4UImessenger::baseDir = nullptr
protected

Definition at line 102 of file G4UImessenger.hh.

Referenced by CreateDirectory(), and ~G4UImessenger().

◆ baseDirName

G4String G4UImessenger::baseDirName = ""
protected

Definition at line 103 of file G4UImessenger.hh.

Referenced by CreateCommand(), and CreateDirectory().

◆ commandsShouldBeInMaster

G4bool G4UImessenger::commandsShouldBeInMaster = false
protected

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