Import Geant4 2.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:42:07 +02:00
parent 103bda00c8
commit e7d7193284
3106 changed files with 171117 additions and 90550 deletions
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VisCommandsViewer.cc,v 1.12 2000/01/17 10:29:37 johna Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4VisCommandsViewer.cc,v 1.19 2000/06/07 08:43:28 johna Exp $
// GEANT4 tag $Name: geant4-02-00 $
// /vis/viewer commands - John Allison 25th October 1998
@@ -17,6 +17,7 @@
#include "G4VisCommandsScene.hh"
#include "G4UIcommand.hh"
#include "G4UIcmdWithAString.hh"
#include "G4UnitsTable.hh"
#include "G4ios.hh"
#include "g4std/strstream"
@@ -24,14 +25,6 @@ G4VVisCommandViewer::G4VVisCommandViewer () {}
G4VVisCommandViewer::~G4VVisCommandViewer () {}
G4String G4VVisCommandViewer::ShortName (const G4String& name) {
G4String shortName (name);
if (shortName.contains (' ')) {
shortName = shortName (0, shortName.first (' '));
}
return shortName;
}
void G4VVisCommandViewer::UpdateCandidateLists () {
const G4SceneHandlerList& sceneHandlerList =
@@ -43,8 +36,7 @@ void G4VVisCommandViewer::UpdateCandidateLists () {
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
for (int iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
const G4String& viewerName = viewerList [iViewer] -> GetName ();
viewerNameList += ShortName (viewerName) + " ";
viewerNameList += viewerList [iViewer] -> GetShortName () + " ";
}
}
viewerNameList = viewerNameList.strip ();
@@ -144,7 +136,8 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
newName = newName.strip (G4String::both, ' ');
newName = newName.strip (G4String::both, '"');
const G4SceneHandlerList& sceneHandlerList = fpVisManager -> GetAvailableSceneHandlers ();
const G4SceneHandlerList& sceneHandlerList =
fpVisManager -> GetAvailableSceneHandlers ();
G4int nHandlers = sceneHandlerList.entries ();
if (nHandlers <= 0) {
G4cout << "G4VisCommandViewerCreate::SetNewValue: no scene handlers."
@@ -180,13 +173,15 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
newName = nextName;
}
if (newName == nextName) fId++;
G4String newShortName = fpVisManager -> ViewerShortName (newName);
for (iHandler = 0; iHandler < nHandlers; iHandler++) {
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
for (int iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
if (viewerList [iViewer] -> GetName () == newName ) {
G4cout << "Viewer \"" << newName << "\" already exists." << G4endl;
if (viewerList [iViewer] -> GetShortName () == newShortName ) {
G4cout << "Viewer \"" << newShortName << "\" already exists."
<< G4endl;
return;
}
}
@@ -194,9 +189,10 @@ void G4VisCommandViewerCreate::SetNewValue (G4UIcommand* command,
// Create viewer.
fpVisManager -> CreateViewer (newName);
G4cout << "New viewer \"" << newName << "\" created." << G4endl;
UpdateCandidateLists ();
if (fpVisManager -> GetCurrentViewer () -> GetName () == newName) {
G4cout << "New viewer \"" << newName << "\" created." << G4endl;
UpdateCandidateLists ();
}
}
////////////// /vis/viewer/list ///////////////////////////////////////
@@ -237,12 +233,12 @@ void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
G4int verbosity;
G4std::istrstream is ((char*)newValue.data());
is >> name >> verbosity;
G4String shortName = ShortName (name);
G4String shortName = fpVisManager -> ViewerShortName (name);
const G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
G4String currentViewerShortName;
if (currentViewer) {
currentViewerShortName = ShortName (currentViewer -> GetName ());
currentViewerShortName = currentViewer -> GetShortName ();
}
else {
currentViewerShortName = "none";
@@ -266,7 +262,7 @@ void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
for (int iViewer = 0; iViewer < nViewers; iViewer++) {
const G4VViewer* thisViewer = viewerList [iViewer];
G4String thisName = thisViewer -> GetName ();
G4String thisShortName = ShortName (thisName);
G4String thisShortName = thisViewer -> GetShortName ();
if (name != "all") {
if (thisShortName != shortName) continue;
}
@@ -289,7 +285,8 @@ void G4VisCommandViewerList::SetNewValue (G4UIcommand* command,
}
if (!foundCurrent) {
G4cout << "No valid current viewer - please create or select one." << G4endl;
G4cout << "No valid current viewer - please create or select one."
<< G4endl;
}
if (!found) {
@@ -337,45 +334,20 @@ G4String G4VisCommandViewerRefresh::GetCurrentValue
void G4VisCommandViewerRefresh::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4String& refreshName = newValue;
G4String refreshShortName = ShortName (refreshName);
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
G4bool found = false;
if (viewer && refreshShortName == ShortName (viewer -> GetName ())) {
found = true;
}
else {
const G4SceneHandlerList& sceneHandlerList =
fpVisManager -> GetAvailableSceneHandlers ();
G4int nHandlers = sceneHandlerList.entries ();
for (G4int iHandler = 0; iHandler < nHandlers; iHandler++) {
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
for (G4int iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
viewer = viewerList [iViewer];
if (refreshShortName == ShortName (viewer -> GetName ())) {
found = true;
fpVisManager -> SetCurrentViewer (viewer);
break;
}
}
if (found) break;
}
}
G4cout << "Viewer \"" << refreshName << "\"";
if (found) {
G4VViewer* viewer = fpVisManager -> GetViewer (refreshName);
if (viewer) {
G4cout << "Refreshing viewer \"" << viewer -> GetName () << "\"..."
<< G4endl;
viewer -> ClearView ();
viewer -> SetViewParameters (fpVisManager -> GetCurrentViewParameters ());
viewer -> DrawView ();
viewer -> ShowView ();
G4cout << " refreshed.";
G4cout << "Viewer \"" << viewer -> GetName () << "\"" << " refreshed."
"\n (You might also need \"/vis/viewer/update\".)" << G4endl;
}
else {
G4cout << " not found - \"/vis/viewer/list\""
"\n to see possibilities.";
G4cout << "Viewer \"" << refreshName << "\"" <<
" not found - \"/vis/viewer/list\"\n to see possibilities."
<< G4endl;
}
G4cout << G4endl;
}
////////////// /vis/viewer/remove ///////////////////////////////////////
@@ -384,7 +356,7 @@ G4VisCommandViewerRemove::G4VisCommandViewerRemove () {
G4bool omitable, currentAsDefault;
fpCommand = new G4UIcmdWithAString ("/vis/viewer/remove", this);
fpCommand -> SetGuidance ("/vis/viewer/remove <viewer-name>");
fpCommand -> SetGuidance ("Removes viewers.");
fpCommand -> SetGuidance ("Removes viewer.");
fpCommand -> SetGuidance
("Specify viewer by name (\"/vis/viewer/list\""
"\n to see possibilities).");
@@ -411,67 +383,102 @@ G4String G4VisCommandViewerRemove::GetCurrentValue (G4UIcommand* command) {
void G4VisCommandViewerRemove::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4String& removeName = newValue;
G4String removeShortName = ShortName (removeName);
G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
G4String currentName;
G4String currentShortName;
if (currentViewer) {
currentName = currentViewer -> GetName ();
currentShortName = currentViewer -> GetShortName ();
}
else {
currentName = "none";
}
G4String currentShortName = ShortName (currentName);
const G4SceneHandlerList& sceneHandlerList = fpVisManager -> GetAvailableSceneHandlers ();
G4int nHandlers = sceneHandlerList.entries ();
G4int iHandler, iViewer;
G4VSceneHandler* sceneHandler;
G4VViewer* viewer;
G4bool found = false;
for (iHandler = 0; iHandler < nHandlers; iHandler++) {
sceneHandler = sceneHandlerList [iHandler];
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
for (iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
viewer = viewerList [iViewer];
const G4String& viewerName = viewer -> GetName ();
if (removeShortName == ShortName (viewerName)) {
found = true;
break;
}
}
currentShortName = "none";
}
if (!found) {
G4VViewer* viewer = fpVisManager -> GetViewer (removeName);
if (!viewer) {
G4cout << "Viewer \"" << removeName
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
<< G4endl;
return;
}
G4cout << "Viewer \"" << removeName << "\" removed." << G4endl;
if (removeShortName == currentShortName) {
G4cout << "Viewer \"" << viewer -> GetName () << "\" removed." << G4endl;
if (viewer -> GetShortName () == currentShortName) {
fpVisManager -> DeleteCurrentViewer ();
}
else {
G4VSceneHandler* sceneHandler = viewer -> GetSceneHandler ();
sceneHandler -> SetViewerList ().remove (viewer);
G4cout << "Current viewer unchanged." << G4endl;
G4cout << "Current viewer is unchanged (\""
<< currentViewer -> GetName () << "\")." << G4endl;
}
UpdateCandidateLists ();
}
////////////// /vis/viewer/reset ///////////////////////////////////////
G4VisCommandViewerReset::G4VisCommandViewerReset () {
G4bool omitable, currentAsDefault;
fpCommand = new G4UIcmdWithAString ("/vis/viewer/reset", this);
fpCommand -> SetGuidance ("/vis/viewer/reset [<viewer-name>]");
fpCommand -> SetGuidance ("Resets viewer.");
fpCommand -> SetGuidance ("Viewer becomes current.");
fpCommand -> SetGuidance
("Specify viewer by name (\"/vis/viewer/list\""
"\n to see possibilities).");
fpCommand -> SetParameterName ("viewer-name",
omitable = true,
currentAsDefault = true);
viewerNameCommands.push_back (fpCommand);
}
G4VisCommandViewerReset::~G4VisCommandViewerReset () {
delete fpCommand;
}
G4String G4VisCommandViewerReset::GetCurrentValue (G4UIcommand* command) {
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
if (viewer) {
return viewer -> GetName ();
}
else {
return "none";
}
}
void G4VisCommandViewerReset::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4String& resetName = newValue;
G4VViewer* viewer = fpVisManager -> GetViewer (resetName);
if (!viewer) {
G4cout << "Viewer \"" << resetName
<< "\" not found - \"/vis/viewer/list\" to see possibilities."
<< G4endl;
return;
}
if (fpVisManager -> IsValidView ()) {
G4ViewParameters vp; // Default view parameters.
viewer->SetViewParameters(vp);
G4cout << "Viewer \"" << viewer -> GetName () << "\" reset.";
G4cout << "\nIssue \"/vis/viewer/refresh\" to see effect." << G4endl;
// For now...
fpVisManager->SetCurrentViewParameters() = vp;
}
}
////////////// /vis/viewer/select ///////////////////////////////////////
G4VisCommandViewerSelect::G4VisCommandViewerSelect () {
G4bool omitable, currentAsDefault;
fpCommand = new G4UIcmdWithAString ("/vis/viewer/select", this);
fpCommand -> SetGuidance ("/vis/viewer/select [<viewer-name>]");
fpCommand -> SetGuidance ("/vis/viewer/select <viewer-name>");
fpCommand -> SetGuidance ("Selects current viewer.");
fpCommand -> SetGuidance
("Specify viewer by name (\"/vis/viewer/list\""
"\n to see possibilities).");
fpCommand -> SetParameterName ("viewer-name",
omitable = true,
omitable = false,
currentAsDefault = true);
viewerNameCommands.push_back (fpCommand);
}
@@ -494,33 +501,11 @@ G4String G4VisCommandViewerSelect::GetCurrentValue
void G4VisCommandViewerSelect::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4String& selectName = newValue;
G4String selectShortName = ShortName (selectName);
G4VViewer* viewer = fpVisManager -> GetViewer (selectName);
const G4SceneHandlerList& sceneHandlerList =
fpVisManager -> GetAvailableSceneHandlers ();
G4int nHandlers = sceneHandlerList.entries ();
G4int iHandler, iViewer;
G4VSceneHandler* sceneHandler;
G4VViewer* viewer;
G4bool found = false;
for (iHandler = 0; iHandler < nHandlers; iHandler++) {
sceneHandler = sceneHandlerList [iHandler];
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
for (iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
viewer = viewerList [iViewer];
if (selectShortName == ShortName (viewer -> GetName ())) {
found = true;
break;
}
}
if (found) break;
}
G4cout << "Viewer \"" << selectName << "\"";
if (found) {
G4VViewer* currentViewer = fpVisManager -> GetCurrentViewer ();
if (currentViewer &&
ShortName (currentViewer -> GetName ()) == selectShortName) {
if (viewer) {
G4cout << "Viewer \"" << viewer -> GetName () << "\"";
if (viewer == fpVisManager -> GetCurrentViewer ()) {
G4cout << " already selected." << G4endl;
}
else {
@@ -529,19 +514,20 @@ void G4VisCommandViewerSelect::SetNewValue (G4UIcommand* command,
}
}
else {
G4cout << "Viewer \"" << selectName << "\"";
G4cout << " not found - \"/vis/viewer/list\""
"\n to see possibilities."
<< G4endl;
}
}
////////////// /vis/viewer/show ///////////////////////////////////////
// Synonym (deprecated): /vis/viewer/update ///////////////////////////
////////////// /vis/viewer/update ///////////////////////////////////////
// Synonym (deprecated): /vis/viewer/show ///////////////////////////
G4VisCommandViewerShow::G4VisCommandViewerShow () {
G4VisCommandViewerUpdate::G4VisCommandViewerUpdate () {
G4bool omitable, currentAsDefault;
fpCommand = new G4UIcmdWithAString ("/vis/viewer/show", this);
fpCommand -> SetGuidance ("/vis/viewer/show [<viewer-name>]");
fpCommand = new G4UIcmdWithAString ("/vis/viewer/update", this);
fpCommand -> SetGuidance ("/vis/viewer/update [<viewer-name>]");
fpCommand -> SetGuidance
("Triggers graphical database post-processing for viewers"
" using that technique.");
@@ -555,21 +541,21 @@ G4VisCommandViewerShow::G4VisCommandViewerShow () {
omitable = true,
currentAsDefault = true);
viewerNameCommands.push_back (fpCommand);
fpCommand1 = new G4UIcmdWithAString ("/vis/viewer/update", this);
fpCommand1 = new G4UIcmdWithAString ("/vis/viewer/show", this);
fpCommand1 -> SetGuidance
("Synonym for \"/vis/viewer/show\" - see that command for guidance.");
("Synonym for \"/vis/viewer/update\" - see that command for guidance.");
fpCommand1 -> SetParameterName ("viewer-name",
omitable = true,
currentAsDefault = true);
viewerNameCommands.push_back (fpCommand1);
}
G4VisCommandViewerShow::~G4VisCommandViewerShow () {
G4VisCommandViewerUpdate::~G4VisCommandViewerUpdate () {
delete fpCommand;
delete fpCommand1;
}
G4String G4VisCommandViewerShow::GetCurrentValue
G4String G4VisCommandViewerUpdate::GetCurrentValue
(G4UIcommand* command) {
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
if (viewer) {
@@ -580,43 +566,19 @@ G4String G4VisCommandViewerShow::GetCurrentValue
}
}
void G4VisCommandViewerShow::SetNewValue (G4UIcommand* command,
void G4VisCommandViewerUpdate::SetNewValue (G4UIcommand* command,
G4String newValue) {
G4String& showName = newValue;
G4String showShortName = ShortName (showName);
G4String& updateName = newValue;
G4VViewer* viewer = fpVisManager -> GetViewer (updateName);
G4VViewer* viewer = fpVisManager -> GetCurrentViewer ();
G4bool found = false;
if (viewer && showShortName == ShortName (viewer -> GetName ())) {
found = true;
}
else {
const G4SceneHandlerList& sceneHandlerList =
fpVisManager -> GetAvailableSceneHandlers ();
G4int nHandlers = sceneHandlerList.entries ();
for (G4int iHandler = 0; iHandler < nHandlers; iHandler++) {
G4VSceneHandler* sceneHandler = sceneHandlerList [iHandler];
const G4ViewerList& viewerList = sceneHandler -> GetViewerList ();
for (G4int iViewer = 0; iViewer < viewerList.entries (); iViewer++) {
viewer = viewerList [iViewer];
if (showShortName == ShortName (viewer -> GetName ())) {
found = true;
fpVisManager -> SetCurrentViewer (viewer);
break;
}
}
if (found) break;
}
}
G4cout << "Viewer \"" << showName << "\"";
if (found) {
if (viewer) {
G4cout << "Viewer \"" << viewer -> GetName () << "\"";
G4cout << " post-processing triggered." << G4endl;
viewer -> ShowView ();
G4cout << " post-processing triggered.";
}
else {
G4cout << "Viewer \"" << updateName << "\"";
G4cout << " not found - \"/vis/viewer/list\""
"\n to see possibilities.";
"\n to see possibilities." << G4endl;
}
G4cout << G4endl;
}