Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4VisCommandSceneAddMagneticField Class Reference

#include <G4VisCommandsSceneAdd.hh>

Inheritance diagram for G4VisCommandSceneAddMagneticField:
Collaboration diagram for G4VisCommandSceneAddMagneticField:

Public Member Functions

 G4VisCommandSceneAddMagneticField ()
 
virtual ~G4VisCommandSceneAddMagneticField ()
 
G4String GetCurrentValue (G4UIcommand *command)
 
void SetNewValue (G4UIcommand *command, G4String newValue)
 
- Public Member Functions inherited from G4VVisCommandScene
 G4VVisCommandScene ()
 
virtual ~G4VVisCommandScene ()
 
- 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
 

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 G4VVisCommandScene
G4String CurrentSceneName ()
 
- 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 G4int fErrorCode = 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

Definition at line 319 of file G4VisCommandsSceneAdd.hh.

Constructor & Destructor Documentation

G4VisCommandSceneAddMagneticField::G4VisCommandSceneAddMagneticField ( )

Definition at line 1735 of file G4VisCommandsSceneAdd.cc.

1735  {
1736  G4bool omitable;
1737  fpCommand = new G4UIcommand ("/vis/scene/add/magneticField", this);
1738  fpCommand -> SetGuidance
1739  ("Adds magnetic field representation to current scene.");
1740  fpCommand -> SetGuidance
1741  ("The first parameter is no. of data points per half scene. So, possibly, at"
1742  "\nmaximum, the number of data points sampled is (2*n+1)^3, which can grow"
1743  "\nlarge--be warned!"
1744  "\nYou might find that your scene is cluttered by thousands of arrows for"
1745  "\nthe default number of data points, so try reducing to 2 or 3, e.g:"
1746  "\n /vis/scene/add/magneticField 3"
1747  "\nor, if only a small part of the scene has a field:"
1748  "\n /vis/scene/add/magneticField 50 # or more");
1749  fpCommand -> SetGuidance
1750  ("In the arrow representation, the length of the arrow is proportional"
1751  "\nto the magnitude of the field and the colour is mapped onto the range"
1752  "\nas a fraction of the maximum magnitude: 0->0.5->1 is blue->green->red.");
1753  G4UIparameter* parameter;
1754  parameter = new G4UIparameter ("nDataPointsPerHalfScene", 'i', omitable = true);
1755  parameter -> SetDefaultValue (10);
1756  fpCommand -> SetParameter (parameter);
1757  parameter = new G4UIparameter ("representation", 's', omitable = true);
1758  parameter -> SetParameterCandidates("fullArrow lightArrow");
1759  parameter -> SetDefaultValue ("fullArrow");
1760  fpCommand -> SetParameter (parameter);
1761 }
bool G4bool
Definition: G4Types.hh:79
G4VisCommandSceneAddMagneticField::~G4VisCommandSceneAddMagneticField ( )
virtual

Definition at line 1763 of file G4VisCommandsSceneAdd.cc.

1763  {
1764  delete fpCommand;
1765 }

Member Function Documentation

G4String G4VisCommandSceneAddMagneticField::GetCurrentValue ( G4UIcommand command)
virtual

Reimplemented from G4UImessenger.

Definition at line 1767 of file G4VisCommandsSceneAdd.cc.

1767  {
1768  return "";
1769 }
void G4VisCommandSceneAddMagneticField::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 1772 of file G4VisCommandsSceneAdd.cc.

1772  {
1773 
1775  G4bool warn(verbosity >= G4VisManager::warnings);
1776 
1777  G4Scene* pScene = fpVisManager->GetCurrentScene();
1778  if (!pScene) {
1779  if (verbosity >= G4VisManager::errors) {
1780  G4cerr << "ERROR: No current scene. Please create one." << G4endl;
1781  }
1782  return;
1783  }
1784 
1785  G4int nDataPointsPerHalfScene;
1786  G4String representation;
1787  std::istringstream iss(newValue);
1788  iss >> nDataPointsPerHalfScene >> representation;
1790  modelRepresentation = G4MagneticFieldModel::fullArrow;
1791  if (representation == "lightArrow") {
1792  modelRepresentation = G4MagneticFieldModel::lightArrow;
1793  }
1795  new G4MagneticFieldModel(nDataPointsPerHalfScene,modelRepresentation);
1796  const G4String& currentSceneName = pScene -> GetName ();
1797  G4bool successful = pScene -> AddRunDurationModel (model, warn);
1798  if (successful) {
1799  if (verbosity >= G4VisManager::confirmations) {
1800  G4cout << "Magnetic field, if any, will be drawn in scene \""
1801  << currentSceneName
1802  << "\"\n with "
1803  << nDataPointsPerHalfScene
1804  << " data points per half scene and with representation \""
1805  << representation
1806  << '\"'
1807  << G4endl;
1808  }
1809  }
1810  else G4VisCommandsSceneAddUnsuccessful(verbosity);
1811  UpdateVisManagerScene (currentSceneName);
1812 }
void UpdateVisManagerScene(const G4String &sceneName="")
int G4int
Definition: G4Types.hh:78
static void G4VisCommandsSceneAddUnsuccessful(G4VisManager::Verbosity verbosity)
G4GLOB_DLL std::ostream G4cout
bool G4bool
Definition: G4Types.hh:79
static Verbosity GetVerbosity()
#define G4endl
Definition: G4ios.hh:61
const XML_Char XML_Content * model
Definition: expat.h:151
G4Scene * GetCurrentScene() const
G4GLOB_DLL std::ostream G4cerr
static G4VisManager * fpVisManager

Here is the call graph for this function:


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