Geant4  10.02.p03
G4VisCommandModelCreate< Factory > Class Template Reference

#include <G4VisCommandModelCreate.hh>

Inheritance diagram for G4VisCommandModelCreate< Factory >:
Collaboration 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, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () const
 

Private Member Functions

G4String NextName ()
 

Private Attributes

Factory * fpFactory
 
G4String fPlacement
 
G4int fId
 
G4UIcmdWithAStringfpCommand
 
std::vector< G4UIcommand * > fDirectoryList
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VVisCommand
static void SetVisManager (G4VisManager *)
 
static const G4ColourGetCurrentColour ()
 
static G4double GetCurrentLineWidth ()
 
static const G4ColourGetCurrentTextColour ()
 
static G4Text::Layout GetCurrentTextLayout ()
 
static G4double GetCurrentTextSize ()
 
- 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, G4bool commandsToBeBroadcasted=true)
 
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
 
G4bool commandsShouldBeInMaster
 
- Static Protected Attributes inherited from G4VVisCommand
static G4VisManagerfpVisManager = 0
 
static G4Colour fCurrentColour = G4Colour::White()
 
static G4double fCurrentLineWidth = 1.
 
static G4Colour fCurrentTextColour = G4Colour::Blue()
 
static G4Text::Layout fCurrentTextLayout = G4Text::left
 
static G4double fCurrentTextSize = 12.
 
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:161
G4UIcmdWithAString * fpCommand
Here is the call graph for this function:

◆ ~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 }
std::vector< G4UIcommand * > fDirectoryList
G4UIcmdWithAString * fpCommand

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 }

◆ NextName()

template<typename Factory >
G4String G4VisCommandModelCreate< Factory >::NextName ( )
private

Definition at line 110 of file G4VisCommandModelCreate.hh.

111 {
112  std::ostringstream oss;
113  oss <<fpFactory->Name()<<"-" << fId++;
114  return oss.str();
115 }
Here is the caller graph for this function:

◆ Placement()

template<typename Factory >
G4String G4VisCommandModelCreate< Factory >::Placement ( ) const

Definition at line 103 of file G4VisCommandModelCreate.hh.

104 {
105  return fPlacement;
106 }
Here is the caller graph for this function:

◆ 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 }
std::vector< G4UIcommand * > fDirectoryList
void RegisterMessenger(G4UImessenger *messenger)
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161
void RegisterModel(G4VTrajectoryModel *model)
subroutine title
Definition: hijing1.383.f:5981
static G4VisManager * fpVisManager
Here is the call graph for this function:

Member Data Documentation

◆ fDirectoryList

template<typename Factory >
std::vector<G4UIcommand*> G4VisCommandModelCreate< Factory >::fDirectoryList
private

Definition at line 69 of file G4VisCommandModelCreate.hh.

◆ fId

template<typename Factory >
G4int G4VisCommandModelCreate< Factory >::fId
private

Definition at line 67 of file G4VisCommandModelCreate.hh.

◆ fpCommand

template<typename Factory >
G4UIcmdWithAString* G4VisCommandModelCreate< Factory >::fpCommand
private

Definition at line 68 of file G4VisCommandModelCreate.hh.

◆ fpFactory

template<typename Factory >
Factory* G4VisCommandModelCreate< Factory >::fpFactory
private

Definition at line 65 of file G4VisCommandModelCreate.hh.

◆ fPlacement

template<typename Factory >
G4String G4VisCommandModelCreate< Factory >::fPlacement
private

Definition at line 66 of file G4VisCommandModelCreate.hh.


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