Geant4-11
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
G4ModelCmdApplyStringColour< M > Class Template Referenceabstract

#include <G4ModelApplyCommandsT.hh>

Inheritance diagram for G4ModelCmdApplyStringColour< M >:
G4VModelCommand< M > G4UImessenger G4ModelCmdSetStringColour< M >

Public Member Functions

G4bool CommandsShouldBeInMaster () const
 
 G4ModelCmdApplyStringColour (M *model, const G4String &placement, const G4String &cmdName)
 
G4String GetCurrentValue (G4UIcommand *command)
 
G4bool operator!= (const G4UImessenger &messenger) const
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4String Placement ()
 
void SetNewValue (G4UIcommand *command, G4String newValue)
 
virtual ~G4ModelCmdApplyStringColour ()
 

Protected Member Functions

void AddUIcommand (G4UIcommand *newCommand)
 
virtual void Apply (const G4String &, const G4Colour &)=0
 
G4String BtoS (G4bool b)
 
G4UIcommandComponentCommand ()
 
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)
 
MModel ()
 
G4bool StoB (G4String s)
 
G4double StoD (G4String s)
 
G4int StoI (G4String s)
 
G4long StoL (G4String s)
 
G4UIcommandStringCommand ()
 

Protected Attributes

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

Private Attributes

G4UIcommandfpComponentCmd
 
G4String fPlacement
 
MfpModel
 
G4UIcommandfpStringCmd
 

Detailed Description

template<typename M>
class G4ModelCmdApplyStringColour< M >

Definition at line 50 of file G4ModelApplyCommandsT.hh.

Constructor & Destructor Documentation

◆ G4ModelCmdApplyStringColour()

template<typename M >
G4ModelCmdApplyStringColour< M >::G4ModelCmdApplyStringColour ( M model,
const G4String placement,
const G4String cmdName 
)

Definition at line 76 of file G4ModelApplyCommandsT.hh.

77 :G4VModelCommand<M>(model, placement)
78{
79 //Set variable colour through a string
80 G4String dir = placement+"/"+model->Name()+"/"+cmdName;
81 G4UIparameter* param(0);
82
83 fpStringCmd = new G4UIcommand(dir, this);
84 fpStringCmd->SetGuidance("Set variable colour through a string");
85
86 param = new G4UIparameter("Variable", 's', false);
88
89 param = new G4UIparameter("Value", 's', false);
91
92 //Set variable colour through RGBA components
93 G4String componentDir = dir+"RGBA";
94
95 fpComponentCmd = new G4UIcommand(componentDir, this);
96 fpComponentCmd->SetGuidance("Set variable colour through red, green, blue and alpha components");
97 param = new G4UIparameter("Variable", 's', false);
99
100 param = new G4UIparameter("Red component", 'd', false);
102
103 param = new G4UIparameter("Green component", 'd', false);
105
106 param = new G4UIparameter("Blue component", 'd', false);
108
109 param = new G4UIparameter("Alpha component", 'd', false);
111}
void SetParameter(G4UIparameter *const newParameter)
Definition: G4UIcommand.hh:146
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:156

References G4ModelCmdApplyStringColour< M >::fpComponentCmd, G4ModelCmdApplyStringColour< M >::fpStringCmd, G4UIcommand::SetGuidance(), and G4UIcommand::SetParameter().

◆ ~G4ModelCmdApplyStringColour()

template<typename M >
G4ModelCmdApplyStringColour< M >::~G4ModelCmdApplyStringColour
virtual

Definition at line 114 of file G4ModelApplyCommandsT.hh.

115{
116 delete fpStringCmd;
117 delete fpComponentCmd;
118}

Member Function Documentation

◆ AddUIcommand()

void G4UImessenger::AddUIcommand ( G4UIcommand newCommand)
protectedinherited

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().

◆ Apply()

template<typename M >
virtual void G4ModelCmdApplyStringColour< M >::Apply ( const G4String ,
const G4Colour  
)
protectedpure virtual

◆ BtoS()

G4String G4UImessenger::BtoS ( G4bool  b)
protectedinherited

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
inlineinherited

Definition at line 77 of file G4UImessenger.hh.

78 {
80 }
G4bool commandsShouldBeInMaster

References G4UImessenger::commandsShouldBeInMaster.

Referenced by G4UIcommand::G4UIcommandCommonConstructorCode().

◆ ComponentCommand()

template<typename M >
G4UIcommand * G4ModelCmdApplyStringColour< M >::ComponentCommand ( )
inlineprotected

◆ CreateCommand()

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

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 G4UImessenger::baseDirName.

◆ CreateDirectory()

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

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)
G4UIcommandTree * GetTree() const
Definition: G4UImanager.hh:186
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:77
G4UIdirectory * baseDir

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

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

◆ DtoS()

G4String G4UImessenger::DtoS ( G4double  a)
protectedinherited

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 G4VModelCommand< M >::GetCurrentValue ( G4UIcommand command)
virtualinherited

Reimplemented from G4UImessenger.

Definition at line 55 of file G4VModelCommand.hh.

82{
83 return "";
84}

◆ ItoS()

G4String G4UImessenger::ItoS ( G4int  i)
protectedinherited

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().

◆ Model()

M * G4VModelCommand< M >::Model
protectedinherited

Definition at line 61 of file G4VModelCommand.hh.

89{
90 return fpModel;
91}

◆ operator!=()

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

Definition at line 76 of file G4UImessenger.cc.

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

◆ operator==()

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

Definition at line 70 of file G4UImessenger.cc.

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

◆ Placement()

G4String G4VModelCommand< M >::Placement
inherited

Definition at line 56 of file G4VModelCommand.hh.

96{
97 return fPlacement;
98}

◆ SetNewValue()

template<typename M >
void G4ModelCmdApplyStringColour< M >::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 121 of file G4ModelApplyCommandsT.hh.

122{
123 G4Colour myColour;
124 G4String parameter;
125
126 if (cmd == fpStringCmd) {
127 G4String colour;
128 std::istringstream is (newValue);
129 is >> parameter >> colour;
130
131 // Colour key should exist
132 if (!G4Colour::GetColour(colour, myColour)) {
134 ed << "G4Colour with key "<<colour<<" does not exist ";
136 ("G4ModelCmdApplyStringColour<M>::SetNewValue",
137 "modeling0106", JustWarning, ed);
138 return;
139 }
140 }
141
142 if (cmd == fpComponentCmd) {
143 G4double red(0), green(0), blue(0), alpha(0);
144 std::istringstream is (newValue);
145 is >> parameter >> red >> green >> blue >> alpha;
146
147 G4Colour colour(red, green, blue, alpha);
148 myColour = colour;
149 }
150
151 Apply(parameter, myColour);
153 if (visManager) visManager->NotifyHandlers();
154}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40
static const G4double alpha
double G4double
Definition: G4Types.hh:83
static G4bool GetColour(const G4String &key, G4Colour &result)
Definition: G4Colour.cc:161
virtual void Apply(const G4String &, const G4Colour &)=0
virtual void NotifyHandlers()
static G4VVisManager * GetConcreteInstance()

References alpha, G4Exception(), G4Colour::GetColour(), G4VVisManager::GetConcreteInstance(), JustWarning, and G4VVisManager::NotifyHandlers().

◆ StoB()

G4bool G4UImessenger::StoB ( G4String  s)
protectedinherited

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)
protectedinherited

◆ StoI()

G4int G4UImessenger::StoI ( G4String  s)
protectedinherited

◆ StoL()

G4long G4UImessenger::StoL ( G4String  s)
protectedinherited

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().

◆ StringCommand()

template<typename M >
G4UIcommand * G4ModelCmdApplyStringColour< M >::StringCommand ( )
inlineprotected

Definition at line 65 of file G4ModelApplyCommandsT.hh.

65{return fpStringCmd;}

References G4ModelCmdApplyStringColour< M >::fpStringCmd.

Field Documentation

◆ baseDir

G4UIdirectory* G4UImessenger::baseDir = nullptr
protectedinherited

◆ baseDirName

G4String G4UImessenger::baseDirName = ""
protectedinherited

◆ commandsShouldBeInMaster

G4bool G4UImessenger::commandsShouldBeInMaster = false
protectedinherited

◆ fpComponentCmd

template<typename M >
G4UIcommand* G4ModelCmdApplyStringColour< M >::fpComponentCmd
private

◆ fPlacement

G4String G4VModelCommand< M >::fPlacement
privateinherited

Definition at line 67 of file G4VModelCommand.hh.

◆ fpModel

M * G4VModelCommand< M >::fpModel
privateinherited

Definition at line 66 of file G4VModelCommand.hh.

◆ fpStringCmd

template<typename M >
G4UIcommand* G4ModelCmdApplyStringColour< M >::fpStringCmd
private

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