Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VisCommandModelCreate< Factory > Class Template Reference

#include <G4VisCommandModelCreate.hh>

+ Inheritance diagram for G4VisCommandModelCreate< Factory >:

Public Member Functions

 G4VisCommandModelCreate (Factory *, const G4String &placement)
 
virtual ~G4VisCommandModelCreate ()
 
G4String GetCurrentValue (G4UIcommand *)
 
void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4String Placement () const
 
- Public Member Functions inherited from G4VVisCommand
 G4VVisCommand ()
 
virtual ~G4VVisCommand ()
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4bool operator== (const G4UImessenger &messenger) const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VVisCommand
static void SetVisManager (G4VisManager *)
 
- Protected Member Functions inherited from G4VVisCommand
void UpdateVisManagerScene (const G4String &sceneName="")
 
- 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)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Static Protected Member Functions inherited from G4VVisCommand
static G4String ConvertToString (G4double x, G4double y, const char *unitName)
 
static void ConvertToDoublePair (const G4String &paramString, G4double &xval, G4double &yval)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir
 
G4String baseDirName
 
- Static Protected Attributes inherited from G4VVisCommand
static G4VisManagerfpVisManager = 0
 
static G4Colour fCurrentColour = G4Colour::White()
 
static G4Colour fCurrentTextColour = G4Colour::Blue()
 
static G4Text::Layout fCurrentTextLayout = G4Text::left
 
static G4double fCurrentLineWidth = 1.
 
static G4ModelingParameters::PVNameCopyNoPath fCurrentTouchablePath
 

Detailed Description

template<typename Factory>
class G4VisCommandModelCreate< Factory >

Definition at line 46 of file G4VisCommandModelCreate.hh.

Constructor & Destructor Documentation

◆ G4VisCommandModelCreate()

template<typename Factory >
G4VisCommandModelCreate< Factory >::G4VisCommandModelCreate ( Factory *  factory,
const G4String placement 
)

Definition at line 74 of file G4VisCommandModelCreate.hh.

75 :fpFactory(factory)
76 ,fPlacement(placement)
77 ,fId(0)
78{
79 G4String factoryName = factory->Name();
80
81 G4String command = Placement()+"/create/"+factoryName;
82 G4String guidance = "Create a "+factoryName+" model and associated messengers.";
83
84 fpCommand = new G4UIcmdWithAString(command, this);
85 fpCommand->SetGuidance(guidance);
86 fpCommand->SetGuidance("Generated model becomes current.");
87 fpCommand->SetParameterName("model-name", true);
88}
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:156

◆ ~G4VisCommandModelCreate()

template<typename Factory >
G4VisCommandModelCreate< Factory >::~G4VisCommandModelCreate
virtual

Definition at line 91 of file G4VisCommandModelCreate.hh.

92{
93 delete fpCommand;
94
95 unsigned i(0);
96 for (i=0; i<fDirectoryList.size(); ++i) {
97 delete fDirectoryList[i];
98 }
99}

Member Function Documentation

◆ GetCurrentValue()

template<typename Factory >
G4String G4VisCommandModelCreate< Factory >::GetCurrentValue ( G4UIcommand )
virtual

Reimplemented from G4UImessenger.

Definition at line 119 of file G4VisCommandModelCreate.hh.

120{
121 return "";
122}

◆ Placement()

template<typename Factory >
G4String G4VisCommandModelCreate< Factory >::Placement

Definition at line 103 of file G4VisCommandModelCreate.hh.

104{
105 return fPlacement;
106}

Referenced by G4VisCommandModelCreate< Factory >::G4VisCommandModelCreate().

◆ SetNewValue()

template<typename Factory >
void G4VisCommandModelCreate< Factory >::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 125 of file G4VisCommandModelCreate.hh.

126{
127 if (newName.isNull()) newName = NextName();
128
129 assert (0 != fpFactory);
130
131 // Create directory for new model commands
132 G4String title = Placement()+"/"+newName+"/";
133 G4String guidance = "Commands for "+newName+" model.";
134
135 G4UIcommand* directory = new G4UIdirectory(title);
136 directory->SetGuidance(guidance);
137 fDirectoryList.push_back(directory);
138
139 // Create the model.
140 typename Factory::ModelAndMessengers creation = fpFactory->Create(Placement(), newName);
141
142 // Register model with vis manager
143 fpVisManager->RegisterModel(creation.first);
144
145 // Register associated messengers with vis manager
146 typename Factory::Messengers::iterator iter = creation.second.begin();
147
148 while (iter != creation.second.end()) {
150 iter++;
151 }
152}
static G4VisManager * fpVisManager
void RegisterModel(G4VTrajectoryModel *model)
void RegisterMessenger(G4UImessenger *messenger)

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