Import Geant4 6.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:41:53 +02:00
parent 4aea781e80
commit 96686e0c8f
6560 changed files with 153347 additions and 238155 deletions
+3 -10
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.4 2001/07/27 22:33:22 johna Exp $
# $Id: GNUmakefile,v 1.6 2003/11/06 15:08:18 johna Exp $
# -------------------------------------------------------------
# GNUmakefile for visualization library. John Allison, 5/7/95.
@@ -10,27 +10,20 @@ endif
include $(G4INSTALL)/config/architecture.gmk
include $(G4INSTALL)/config/G4VIS_BUILD.gmk
G4TMPDIR = $(G4TMP)/$(G4SYSTEM)/$(name)
CPPFLAGS += -I$(G4BASE)/visualization/management/include
CPPFLAGS += -I$(G4BASE)/visualization/modeling/include
CPPFLAGS += -I$(G4BASE)/graphics_reps/include
CPPFLAGS += -I$(G4BASE)/global/management/include
CPPFLAGS += -I$(G4BASE)/global/HEPGeometry/include
CPPFLAGS += -I$(G4BASE)/global/HEPRandom/include
CPPFLAGS += -I$(G4BASE)/geometry/solids/CSG/include
CPPFLAGS += -I$(G4BASE)/geometry/solids/specific/include
CPPFLAGS += -I$(G4BASE)/geometry/management/include
CPPFLAGS += -I$(G4BASE)/geometry/volumes/include
CPPFLAGS += -I$(G4BASE)/geometry/magneticfield/include
CPPFLAGS += -I$(G4BASE)/geometry/navigation/include
CPPFLAGS += -I$(G4BASE)/intercoms/include
CPPFLAGS += -I$(G4BASE)/event/include
CPPFLAGS += -I$(G4BASE)/tracking/include
CPPFLAGS += -I$(G4BASE)/track/include
CPPFLAGS += -I$(G4BASE)/digits+hits/hits/include
CPPFLAGS += -I$(G4BASE)/digits+hits/digits/include
CPPFLAGS += -I$(G4BASE)/digits+hits/detector/include
CPPFLAGS += -I$(G4BASE)/processes/management/include
CPPFLAGS += -I$(G4BASE)/digits_hits/hits/include
CPPFLAGS += -I$(G4BASE)/particles/management/include
CPPFLAGS += -I$(G4BASE)/materials/include
@@ -22,7 +22,7 @@
//
//
// $Id: G4GraphicsSystemList.hh,v 1.8 2003/06/16 17:14:02 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 2nd April 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Scene.hh,v 1.13 2003/06/16 17:14:03 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4Scene.hh,v 1.14 2003/11/27 11:48:03 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// Scene John Allison 19th July 1996.
@@ -87,6 +87,11 @@ public: // With description
// "transient" objects, such as hits, at end of event. Otherwise
// they will be accumulated.
G4bool GetRefreshAtEndOfRun () const;
// If true, the visualization manager will request viewer to refresh
// "transient" objects, such as hits, at end of run. Otherwise
// they will be accumulated.
//////////////////////////////////////////////
// Add, Set, Clear functions...
@@ -123,6 +128,11 @@ public: // With description
// refresh "transient" objects, such as hits, at end of event.
// Otherwise they will be accumulated.
void SetRefreshAtEndOfRun(G4bool);
// If set true, the visualization manager will request viewer to
// refresh "transient" objects, such as hits, at end of run.
// Otherwise they will be accumulated.
void CalculateExtent();
// (Re-)calculates the extent from the extents of its models.
@@ -133,6 +143,7 @@ private:
G4VisExtent fExtent;
G4Point3D fStandardTargetPoint;
G4bool fRefreshAtEndOfEvent;
G4bool fRefreshAtEndOfRun;
};
#include "G4Scene.icc"
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Scene.icc,v 1.10 2003/06/16 17:14:04 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4Scene.icc,v 1.11 2003/11/27 11:48:06 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// Scene data John Allison 19th July 1996.
@@ -61,6 +61,10 @@ inline G4bool G4Scene::GetRefreshAtEndOfEvent () const {
return fRefreshAtEndOfEvent;
}
inline G4bool G4Scene::GetRefreshAtEndOfRun () const {
return fRefreshAtEndOfRun;
}
inline std::vector<G4VModel*>& G4Scene::SetRunDurationModelList ()
{
return fRunDurationModelList;
@@ -74,3 +78,7 @@ inline std::vector<G4VModel*>& G4Scene::SetEndOfEventModelList ()
inline void G4Scene::SetRefreshAtEndOfEvent(G4bool refresh) {
fRefreshAtEndOfEvent = refresh;
}
inline void G4Scene::SetRefreshAtEndOfRun(G4bool refresh) {
fRefreshAtEndOfRun = refresh;
}
@@ -22,7 +22,7 @@
//
//
// $Id: G4SceneHandlerList.hh,v 1.7 2003/06/16 17:14:05 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison May 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4SceneList.hh,v 1.9 2003/06/16 17:14:06 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 9th August 1998
@@ -22,7 +22,7 @@
//
//
// $Id: G4VGraphicsSystem.hh,v 1.10 2003/06/16 17:14:07 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 27th March 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4VGraphicsSystem.icc,v 1.6 2001/07/11 10:09:14 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 27th March 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4VSceneHandler.hh,v 1.20 2003/06/16 17:14:08 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 19th July 1996.
@@ -22,7 +22,7 @@
//
//
// $Id: G4VSceneHandler.icc,v 1.12 2001/08/09 20:13:40 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 19th July 1996.
@@ -22,7 +22,7 @@
//
//
// $Id: G4VViewer.hh,v 1.13 2003/06/16 17:14:09 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 27th March 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4VViewer.icc,v 1.9 2001/07/14 21:48:22 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 30th December 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4VVisCommand.hh,v 1.15 2003/06/16 17:14:10 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// Base class for visualization commands - John Allison 9th August 1998
// It is really a messenger - we have one command per messenger.
@@ -22,7 +22,7 @@
//
//
// $Id: G4VVisCommand.icc,v 1.4 2001/07/11 10:09:14 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// Base class for visualization commands - John Allison 9th August 1998
// It is really a messenger - we have one command per messenger.
@@ -22,7 +22,7 @@
//
//
// $Id: G4ViewParameters.hh,v 1.14 2003/06/16 17:14:11 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 19th July 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4ViewParameters.icc,v 1.5 2001/07/11 10:09:15 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 20th October 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4ViewerList.hh,v 1.7 2003/06/16 17:14:12 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison May 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommands.hh,v 1.3 2001/08/05 02:29:02 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/ top level commands - John Allison 5th February 2001
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsCompound.hh,v 1.7 2001/07/11 10:09:15 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// Compound /vis/ commands - John Allison 15th May 2000
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisCommandsScene.hh,v 1.13 2001/11/06 13:00:10 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4VisCommandsScene.hh,v 1.14 2003/11/27 11:48:09 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/scene commands - John Allison 9th August 1998
@@ -86,6 +86,19 @@ private:
G4UIcmdWithAString* fpCommand;
};
class G4VisCommandSceneEndOfRunAction: public G4VVisCommandScene {
public:
G4VisCommandSceneEndOfRunAction ();
virtual ~G4VisCommandSceneEndOfRunAction ();
G4String GetCurrentValue (G4UIcommand* command);
void SetNewValue (G4UIcommand* command, G4String newValue);
private:
G4VisCommandSceneEndOfRunAction (const G4VisCommandSceneEndOfRunAction&);
G4VisCommandSceneEndOfRunAction& operator =
(const G4VisCommandSceneEndOfRunAction&);
G4UIcmdWithAString* fpCommand;
};
class G4VisCommandSceneList: public G4VVisCommandScene {
public:
G4VisCommandSceneList ();
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsSceneAdd.hh,v 1.10 2002/11/11 18:31:28 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/scene commands - John Allison 9th August 1998
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsSceneHandler.hh,v 1.6 2001/07/11 10:09:16 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/sceneHandler commands - John Allison 10th October 1998
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsViewer.hh,v 1.15 2001/11/06 12:55:28 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/viewer commands - John Allison 25th October 1998
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsViewerSet.hh,v 1.12 2003/06/16 17:14:13 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/viewer/set commands - John Allison 16th May 2000
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisFeaturesOfDAWNFILE.hh,v 1.4 2001/07/11 10:09:16 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
#ifndef G4VISFEATURESOFDAWNFILE_HH
#define G4VISFEATURESOFDAWNFILE_HH
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisFeaturesOfFukuiRenderer.hh,v 1.4 2001/07/11 10:09:16 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisFeaturesOfOpenGL.hh,v 1.4 2001/07/11 10:09:16 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisFeaturesOfOpenInventor.hh,v 1.4 2001/07/11 10:09:16 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisManager.hh,v 1.30 2003/06/16 17:14:14 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4VisManager.hh,v 1.31 2003/11/27 09:55:45 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
//
//
@@ -316,8 +316,6 @@ protected:
virtual void RegisterGraphicsSystems () = 0;
void RegisterMessengers (); // Command messengers.
void PrintAllGraphicsSystems () const;
void PrintInstalledGraphicsSystems () const;
void PrintAvailableGraphicsSystems () const;
void PrintInvalidPointers () const;
G4bool IsValidView ();
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisManager.icc,v 1.8 2001/08/05 02:29:05 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// GEANT4 Visualization Manager - John Allison 02/Jan/1996.
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisStateDependent.hh,v 1.4 2001/07/11 10:09:17 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
// A "state dependent" service class for G4VisManager.
// John Allison 29th November 1999
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisToOldVisCommands.hh,v 1.6 2001/07/11 10:09:17 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// Implements some /vis/ commands as /vis~/ temporarily.
@@ -21,12 +21,14 @@
// ********************************************************************
//
//
// $Id: MyVisManager.cc,v 1.17 2002/11/27 12:34:36 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: MyVisManager.cc,v 1.19 2003/11/06 15:24:52 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 24th January 1998.
#ifdef G4VIS_USE
#include "MyVisManager.hh"
// Supported drivers...
@@ -47,11 +49,6 @@
#include "G4FukuiRenderer.hh"
#endif
#ifdef G4VIS_USE_OPACS
#include "G4Wo.hh"
#include "G4Xo.hh"
#endif
#ifdef G4VIS_USE_OPENGLX
#include "G4OpenGLImmediateX.hh"
#include "G4OpenGLStoredX.hh"
@@ -101,11 +98,6 @@ void MyVisManager::RegisterGraphicsSystems () {
RegisterGraphicsSystem (new G4FukuiRenderer);
#endif
#ifdef G4VIS_USE_OPACS
RegisterGraphicsSystem (new G4Wo);
RegisterGraphicsSystem (new G4Xo);
#endif
#ifdef G4VIS_USE_OPENGLX
RegisterGraphicsSystem (new G4OpenGLImmediateX);
RegisterGraphicsSystem (new G4OpenGLStoredX);
@@ -134,3 +126,5 @@ void MyVisManager::RegisterGraphicsSystems () {
RegisterGraphicsSystem (new G4VRML2);
#endif
}
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: MyVisManager.hh,v 1.5 2001/07/11 10:09:17 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 24th January 1998.
@@ -22,7 +22,7 @@
//
//
// $Id: G4GraphicsSystemList.cc,v 1.3 2001/07/11 10:09:18 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
#include "G4GraphicsSystemList.hh"
+11 -4
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Scene.cc,v 1.13 2003/06/16 17:14:15 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4Scene.cc,v 1.14 2003/11/27 11:48:14 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// Scene data John Allison 19th July 1996.
@@ -37,7 +37,8 @@
G4Scene::G4Scene (const G4String& name):
fName (name),
fRefreshAtEndOfEvent(true)
fRefreshAtEndOfEvent(true),
fRefreshAtEndOfRun(true)
{} // Note all other data members have default initial values.
G4Scene::~G4Scene () {}
@@ -173,6 +174,11 @@ std::ostream& operator << (std::ostream& os, const G4Scene& s) {
else os << "accumulate";
os << "\"";
os << "\n End of run action set to \"";
if (s.fRefreshAtEndOfRun) os << "refresh";
else os << "accumulate";
os << "\"";
return os;
}
@@ -182,7 +188,8 @@ G4bool G4Scene::operator != (const G4Scene& s) const {
s.fRunDurationModelList.size ()) ||
(fExtent != s.fExtent) ||
!(fStandardTargetPoint == s.fStandardTargetPoint) ||
fRefreshAtEndOfEvent != s.fRefreshAtEndOfEvent
fRefreshAtEndOfEvent != s.fRefreshAtEndOfEvent ||
fRefreshAtEndOfRun != s.fRefreshAtEndOfRun
) return true;
for (size_t i = 0; i < fRunDurationModelList.size (); i++) {
@@ -22,7 +22,7 @@
//
//
// $Id: G4SceneHandlerList.cc,v 1.3 2001/07/11 10:09:18 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
#include "G4SceneHandlerList.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4SceneList.cc,v 1.5 2001/07/11 10:09:18 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
#include "G4SceneList.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4VGraphicsSystem.cc,v 1.10 2003/06/16 17:14:16 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 27th March 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VSceneHandler.cc,v 1.27 2003/06/16 17:14:17 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4VSceneHandler.cc,v 1.28 2003/11/12 13:43:25 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 19th July 1996
@@ -75,7 +75,7 @@ G4VSceneHandler::G4VSceneHandler (G4VGraphicsSystem& system, G4int id, const G4S
fViewCount (0),
fpViewer (0),
fpScene (0),
fMarkForClearingTransientStore (false),
fMarkForClearingTransientStore (true), // Always clear and refesh first time.
fReadyForTransients (false),
fpModel (0),
fpObjectTransformation (&G4Transform3D::Identity),
@@ -22,7 +22,7 @@
//
//
// $Id: G4VViewer.cc,v 1.17 2003/06/16 17:14:18 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 27th March 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4VVisCommand.cc,v 1.12 2003/06/16 17:14:19 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// Base class for visualization commands - John Allison 9th August 1998
// It is really a messenger - we have one command per messenger.
@@ -22,7 +22,7 @@
//
//
// $Id: G4ViewParameters.cc,v 1.15 2003/06/16 17:14:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// John Allison 19th July 1996
@@ -22,7 +22,7 @@
//
//
// $Id: G4ViewerList.cc,v 1.3 2001/07/11 10:09:18 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
#include "G4ViewerList.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommands.cc,v 1.7 2003/05/30 13:01:28 johna Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/ top level commands - John Allison 5th February 2001
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsCompound.cc,v 1.25 2003/06/16 17:14:21 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// Compound /vis/ commands - John Allison 15th May 2000
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisCommandsScene.cc,v 1.32 2003/06/16 17:14:22 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4VisCommandsScene.cc,v 1.36 2003/11/27 11:48:20 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/scene commands - John Allison 9th August 1998
@@ -201,8 +201,11 @@ G4VisCommandSceneEndOfEventAction::G4VisCommandSceneEndOfEventAction () {
fpCommand -> SetGuidance
("/vis/scene/endOfEventAction [accumulate|refresh]");
fpCommand -> SetGuidance
("Requests viewer to refresh hits, tracks, etc., at end of event."
"\n Or they are accumulated. Detector remains or is redrawn.");
("Requests viewer"
"\na) to accumulate hits, etc., event by event, or"
"\nb) to show them at end of event or, for direct-screen viewers,"
"\n to refresh the screen just before drawing the next event."
"\n Detector remains or is redrawn.");
fpCommand -> SetParameterName ("action",
omitable = true);
fpCommand -> SetCandidates ("accumulate refresh");
@@ -234,6 +237,14 @@ void G4VisCommandSceneEndOfEventAction::SetNewValue (G4UIcommand*,
return;
}
G4VSceneHandler* pSceneHandler = fpVisManager->GetCurrentSceneHandler();
if (!pSceneHandler) {
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: No current sceneHandler. Please create one." << G4endl;
}
return;
}
if (action == "accumulate") {
pScene->SetRefreshAtEndOfEvent(false);
}
@@ -257,6 +268,81 @@ void G4VisCommandSceneEndOfEventAction::SetNewValue (G4UIcommand*,
}
}
////////////// /vis/scene/endOfRunAction ////////////////////////////
G4VisCommandSceneEndOfRunAction::G4VisCommandSceneEndOfRunAction () {
G4bool omitable;
fpCommand = new G4UIcmdWithAString ("/vis/scene/endOfRunAction", this);
fpCommand -> SetGuidance
("/vis/scene/endOfRunAction [accumulate|refresh]");
fpCommand -> SetGuidance
("Requests viewer"
"\na) to accumulate hits, etc., run by run, or"
"\nb) to show them at end of run or, for direct-screen viewers,"
"\n to refresh the screen just before drawing the next event."
"\n Detector remains or is redrawn.");
fpCommand -> SetParameterName ("action",
omitable = true);
fpCommand -> SetCandidates ("accumulate refresh");
fpCommand -> SetDefaultValue ("refresh");
}
G4VisCommandSceneEndOfRunAction::~G4VisCommandSceneEndOfRunAction () {
delete fpCommand;
}
G4String G4VisCommandSceneEndOfRunAction::GetCurrentValue(G4UIcommand*) {
return "";
}
void G4VisCommandSceneEndOfRunAction::SetNewValue (G4UIcommand*,
G4String newValue) {
G4VisManager::Verbosity verbosity = fpVisManager->GetVerbosity();
G4String action;
std::istrstream is ((char*)newValue.data());
is >> action;
G4Scene* pScene = fpVisManager->GetCurrentScene();
if (!pScene) {
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: No current scene. Please create one." << G4endl;
}
return;
}
G4VSceneHandler* pSceneHandler = fpVisManager->GetCurrentSceneHandler();
if (!pSceneHandler) {
if (verbosity >= G4VisManager::errors) {
G4cout << "ERROR: No current sceneHandler. Please create one." << G4endl;
}
return;
}
if (action == "accumulate") {
pScene->SetRefreshAtEndOfRun(false);
}
else if (action == "refresh") {
pScene->SetRefreshAtEndOfRun(true);
}
else {
if (verbosity >= G4VisManager::errors) {
G4cout <<
"ERROR: unrecognised parameter \"" << action << "\"."
<< G4endl;
}
return;
}
if (verbosity >= G4VisManager::confirmations) {
G4cout << "End of run action set to \"";
if (pScene->GetRefreshAtEndOfRun()) G4cout << "refresh";
else G4cout << "accumulate";
G4cout << "\"" << G4endl;
}
}
////////////// /vis/scene/list ///////////////////////////////////////
G4VisCommandSceneList::G4VisCommandSceneList () {
@@ -350,7 +436,8 @@ G4VisCommandSceneNotifyHandlers::G4VisCommandSceneNotifyHandlers () {
fpCommand -> SetGuidance
("/vis/scene/notifyHandlers [<scene-name>] [r[efresh]|f[lush]]");
fpCommand -> SetGuidance
("Notifies scene handlers of possible changes of scene.");
("Notifies scene handlers of possible changes of scene and forces a"
"reconstruction of any graphical databases.");
fpCommand -> SetGuidance ("<scene-name> default is current scene name.");
fpCommand -> SetGuidance
("Clears and refreshes all viewers of current scene."
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisCommandsSceneAdd.cc,v 1.38 2003/06/16 17:14:23 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4VisCommandsSceneAdd.cc,v 1.39 2003/11/12 13:14:27 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/scene commands - John Allison 9th August 1998
#include "G4VisCommandsSceneAdd.hh"
@@ -838,7 +838,8 @@ void G4VisCommandSceneAddVolume::SetNewValue (G4UIcommand*,
if (name == "world") {
if (world) {
model = new G4PhysicalVolumeModel (world);
model = new G4PhysicalVolumeModel (world,
requestedDepthOfDescent);
foundVolume = world;
}
else {
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsSceneHandler.cc,v 1.24 2003/06/16 17:14:24 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/sceneHandler commands - John Allison 10th October 1998
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsViewer.cc,v 1.37 2003/06/16 17:14:25 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/viewer commands - John Allison 25th October 1998
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisCommandsViewerSet.cc,v 1.21 2003/06/16 17:14:26 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
// /vis/viewer/set commands - John Allison 16th May 2000
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisFeaturesOfDAWNFILE.cc,v 1.5 2001/07/11 10:09:19 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
#include "G4VisFeaturesOfDAWNFILE.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisFeaturesOfFukuiRenderer.cc,v 1.4 2001/07/11 10:09:19 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisFeaturesOfOpenGL.cc,v 1.4 2001/07/11 10:09:19 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisFeaturesOfOpenInventor.cc,v 1.4 2001/07/11 10:09:19 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisManager.cc,v 1.50 2003/06/16 17:14:27 gunter Exp $
// GEANT4 tag $Name: geant4-05-02 $
// $Id: G4VisManager.cc,v 1.56 2003/11/27 11:48:27 johna Exp $
// GEANT4 tag $Name: geant4-06-00 $
//
//
// GEANT4 Visualization Manager - John Allison 02/Jan/1996.
@@ -151,37 +151,12 @@ void G4VisManager::Initialise () {
}
if (fVerbosity >= parameters) {
PrintAllGraphicsSystems ();
PrintInstalledGraphicsSystems ();
G4cout <<
"\nYou have instantiated your own Visualization Manager, inheriting"
"\n G4VisManager and implementing RegisterGraphicsSystems(), in which"
"\n you should, normally, instantiate drivers which do not need"
"\n external packages or libraries, namely:"
"\n ASCIITree, DAWNFILE, HepRepFile, GAGTree, RayTracer, VRMLFILE"
"\n and, optionally, drivers under control of the following"
"\n environment variables:"
#ifdef G4VIS_BUILD_DAWN_DRIVER
"\n G4VIS_USE_DAWN"
#endif
#ifdef G4VIS_BUILD_OPACS_DRIVER
"\n G4VIS_USE_OPACS"
#endif
#ifdef G4VIS_BUILD_OPENGLX_DRIVER
"\n G4VIS_USE_OPENGLX"
#endif
#ifdef G4VIS_BUILD_OPENGLXM_DRIVER
"\n G4VIS_USE_OPENGLXM"
#endif
#ifdef G4VIS_BUILD_OIX_DRIVER
"\n G4VIS_USE_OIX"
#endif
#ifdef G4VIS_BUILD_OIWIN32_DRIVER
"\n G4VIS_USE_OIWIN32"
#endif
#ifdef G4VIS_BUILD_VRML_DRIVER
"\n G4VIS_USE_VRML"
#endif
"\n external packages or libraries, and, optionally, drivers under"
"\n control of environment variables."
"\n See visualization/include/MyVisManager.hh/cc, for example."
"\n In your main() you will have something like:"
"\n #ifdef G4VIS_USE"
@@ -211,9 +186,6 @@ void G4VisManager::Initialise () {
fInitialised = true;
}
// void G4VisManager::RegisterMessengers () - see separate file,
// G4VisManagerRegisterMessengers.cc.
void G4VisManager::Enable() {
if (IsValidView ()) {
if (fVerbosity >= confirmations) {
@@ -837,6 +809,7 @@ void G4VisManager::RegisterMessengers () {
fDirectoryList.push_back (directory);
fMessengerList.push_back (new G4VisCommandSceneCreate);
fMessengerList.push_back (new G4VisCommandSceneEndOfEventAction);
fMessengerList.push_back (new G4VisCommandSceneEndOfRunAction);
fMessengerList.push_back (new G4VisCommandSceneList);
fMessengerList.push_back (new G4VisCommandSceneNotifyHandlers);
fMessengerList.push_back (new G4VisCommandSceneRemove);
@@ -896,73 +869,6 @@ void G4VisManager::RegisterMessengers () {
fMessengerList.push_back (new G4VisCommandSpecify);
}
void G4VisManager::PrintAllGraphicsSystems () const {
G4cout <<
"\nThe following graphics systems drivers are supported in the"
" GEANT4 distribution:"
"\n\n ASCIITree (prints geometry hierarchy)"
"\n\n DAWN (socket connection to the Fukui Renderer DAWN) "
<< G4VisFeaturesOfFukuiRenderer () <<
"\n\n DAWNFILE (file connection to the Fukui Renderer DAWN ) "
<< G4VisFeaturesOfDAWNFILE () <<
"\n\n GAGTree (prints geometry hierarchy, connectable to GAG"
"\n user interface)"
"\n\n HepRepFile (file connection to HepRep viewers, e.g., WIRED)"
"\n\n OPACS (the Orsay Package) "
"\n\n OpenGLIX (direct/immediate drawing on X Windows)\n"
<< G4VisFeaturesOfOpenGLIX () <<
"\n\n OpenGLSX (display List/stored drawing on X Windows)\n"
<< G4VisFeaturesOfOpenGLSX () <<
"\n\n OpenGLIXm (with Motif widgets)\n"
<< G4VisFeaturesOfOpenGLIXm () <<
"\n\n OpenGLSXm (with Motif widgets)\n"
<< G4VisFeaturesOfOpenGLSXm () <<
"\n\n Open Inventor"
<< G4VisFeaturesOfOpenInventor () <<
"\n\n RayTracer (produces JPEG file)"
"\n\n VRML1 (produces VRML 1 file over network)"
"\n\n VRML1FILE (produces VRML 1 file locally )"
"\n\n VRML2 (produces VRML 2 file over network)"
"\n\n VRML2FILE (produces VRML 2 file locally )"
<< G4endl;
}
void G4VisManager::PrintInstalledGraphicsSystems () const {
G4cout << "\nThe following graphics systems drivers are installed on your"
" system:"
<< "\n ASCII Tree (produces ASCII file of geometry hierarchy)"
#ifdef G4VIS_BUILD_DAWN_DRIVER
<< "\n DAWN (socket connection to the Fukui Renderer DAWN)"
#endif
<< "\n DAWNFILE (file connection to the Fukui Renderer DAWN)"
<< "\n GAG Tree (produces ascii file of geometry hierarchy for GAG)"
#ifdef G4VIS_BUILD_OPACS_DRIVER
<< "\n OPACS (the Orsay Package)"
#endif
#ifdef G4VIS_BUILD_OPENGLX_DRIVER
<< "\n OpenGLIX (direct/immediate drawing on X Windows)"
<< "\n OpenGLSX (display List/stored drawing on X Windows)"
#endif
#ifdef G4VIS_BUILD_OPENGLXM_DRIVER
<< "\n OpenGLIXm (with Motif widgets)"
<< "\n OpenGLSXm (with Motif widgets)"
#endif
#ifdef G4VIS_BUILD_OIX_DRIVER
<< "\n Open Inventor X11"
#endif
#ifdef G4VIS_BUILD_OIWIN32_DRIVER
<< "\n Open Inventor Win32"
#endif
<< "\n RayTracer (produces JPEG file)"
#ifdef G4VIS_BUILD_VRML_DRIVER
<< "\n VRML1 (produces VRML 1 file over network)"
<< "\n VRML2 (produces VRML 2 file over network)"
#endif
<< "\n VRML1FILE (produces VRML 1 file locally)"
<< "\n VRML2FILE (produces VRML 2 file locally)"
<< G4endl;
}
void G4VisManager::PrintAvailableGraphicsSystems () const {
G4int nSystems = fAvailableGraphicsSystems.size ();
G4cout << "Current available graphics systems are:";
@@ -1009,29 +915,35 @@ void G4VisManager::BeginOfEvent () {
void G4VisManager::EndOfEvent () {
//G4cout << "G4VisManager::EndOfEvent" << G4endl;
if (GetConcreteInstance() && IsValidView ()) {
ClearTransientStoreIfMarked();
fVisManagerModelingParameters
= *(fpSceneHandler -> CreateModelingParameters ());
const std::vector<G4VModel*>& EOEModelList =
fpScene -> GetEndOfEventModelList ();
for (size_t i = 0; i < EOEModelList.size (); i++) {
G4VModel* pModel = EOEModelList [i];
pModel -> SetModelingParameters (&fVisManagerModelingParameters);
fpSceneHandler -> SetModel (pModel);
pModel -> DescribeYourselfTo (*fpSceneHandler);
size_t nModels = EOEModelList.size();
ClearTransientStoreIfMarked();
if (nModels) {
fVisManagerModelingParameters
= *(fpSceneHandler -> CreateModelingParameters ());
for (size_t i = 0; i < nModels; i++) {
G4VModel* pModel = EOEModelList [i];
pModel -> SetModelingParameters (&fVisManagerModelingParameters);
fpSceneHandler -> SetModel (pModel);
pModel -> DescribeYourselfTo (*fpSceneHandler);
}
fpSceneHandler -> SetModel (0); // Flags invalid model.
}
if (fpScene->GetRefreshAtEndOfEvent()) {
fpViewer->ShowView(); // ...for systems needing post processing.
fpSceneHandler->SetMarkForClearingTransientStore(true);
}
fpSceneHandler -> SetModel (0); // Flags invalid model.
}
}
void G4VisManager::EndOfRun () {
//G4cout << "G4VisManager::EndOfRun" << G4endl;
if (GetConcreteInstance() && IsValidView ()) {
fpSceneHandler->SetMarkForClearingTransientStore(true);
if (fpScene->GetRefreshAtEndOfRun()) {
fpViewer->ShowView(); // ...for systems needing post processing.
fpSceneHandler->SetMarkForClearingTransientStore(true);
}
}
}
@@ -22,7 +22,7 @@
//
//
// $Id: G4VisStateDependent.cc,v 1.5 2002/12/05 01:37:37 asaim Exp $
// GEANT4 tag $Name: geant4-05-02 $
// GEANT4 tag $Name: geant4-06-00 $
#include "G4VisStateDependent.hh"