Geant4  10.02.p03
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
 

Private Member Functions

 G4VisCommandSceneAddMagneticField (const G4VisCommandSceneAddMagneticField &)
 
G4VisCommandSceneAddMagneticFieldoperator= (const G4VisCommandSceneAddMagneticField &)
 

Private Attributes

G4UIcommandfpCommand
 

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 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() [1/2]

G4VisCommandSceneAddMagneticField::G4VisCommandSceneAddMagneticField ( )

Definition at line 1723 of file G4VisCommandsSceneAdd.cc.

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

◆ ~G4VisCommandSceneAddMagneticField()

G4VisCommandSceneAddMagneticField::~G4VisCommandSceneAddMagneticField ( )
virtual

Definition at line 1751 of file G4VisCommandsSceneAdd.cc.

1751  {
1752  delete fpCommand;
1753 }

◆ G4VisCommandSceneAddMagneticField() [2/2]

G4VisCommandSceneAddMagneticField::G4VisCommandSceneAddMagneticField ( const G4VisCommandSceneAddMagneticField )
private

Member Function Documentation

◆ GetCurrentValue()

G4String G4VisCommandSceneAddMagneticField::GetCurrentValue ( G4UIcommand command)
virtual

Reimplemented from G4UImessenger.

Definition at line 1755 of file G4VisCommandsSceneAdd.cc.

1755  {
1756  return "";
1757 }
Here is the call graph for this function:

◆ operator=()

G4VisCommandSceneAddMagneticField& G4VisCommandSceneAddMagneticField::operator= ( const G4VisCommandSceneAddMagneticField )
private

◆ SetNewValue()

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

Reimplemented from G4UImessenger.

Definition at line 1760 of file G4VisCommandsSceneAdd.cc.

1760  {
1761 
1763  G4bool warn(verbosity >= G4VisManager::warnings);
1764 
1765  G4Scene* pScene = fpVisManager->GetCurrentScene();
1766  if (!pScene) {
1767  if (verbosity >= G4VisManager::errors) {
1768  G4cerr << "ERROR: No current scene. Please create one." << G4endl;
1769  }
1770  return;
1771  }
1772 
1773  G4int nDataPointsPerHalfScene;
1774  G4String representation;
1775  std::istringstream iss(newValue);
1776  iss >> nDataPointsPerHalfScene >> representation;
1778  modelRepresentation = G4MagneticFieldModel::fullArrow;
1779  if (representation == "lightArrow") {
1780  modelRepresentation = G4MagneticFieldModel::lightArrow;
1781  }
1782  G4MagneticFieldModel* model =
1783  new G4MagneticFieldModel(nDataPointsPerHalfScene,modelRepresentation);
1784  const G4String& currentSceneName = pScene -> GetName ();
1785  G4bool successful = pScene -> AddRunDurationModel (model, warn);
1786  if (successful) {
1787  if (verbosity >= G4VisManager::confirmations) {
1788  G4cout << "Magnetic field, if any, will be drawn in scene \""
1789  << currentSceneName
1790  << "\"\n with "
1791  << nDataPointsPerHalfScene
1792  << " data points per half scene and with representation \""
1793  << representation
1794  << '\"'
1795  << G4endl;
1796  }
1797  }
1798  else G4VisCommandsSceneAddUnsuccessful(verbosity);
1799  UpdateVisManagerScene (currentSceneName);
1800 }
G4Scene * GetCurrentScene() const
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
G4GLOB_DLL std::ostream G4cerr
static G4VisManager * fpVisManager
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fpCommand

G4UIcommand* G4VisCommandSceneAddMagneticField::fpCommand
private

Definition at line 328 of file G4VisCommandsSceneAdd.hh.


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