Import Geant4 10.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 12:08:39 +02:00
parent 286caacf06
commit c9b32a6c0a
5770 changed files with 1050949 additions and 367105 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4VGraphicsSystem.hh 66373 2012-12-18 09:41:34Z gcosmo $
// $Id: G4VGraphicsSystem.hh 78838 2014-01-28 08:46:17Z gcosmo $
//
//
// John Allison 27th March 1996
@@ -46,13 +46,14 @@ class G4VGraphicsSystem {
public: // With description
enum Functionality {
noFunctionality,
nonEuclidian, // e.g., tree representation of geometry hierarchy.
twoD, // Simple 2D, e.g., X (no stored structures).
twoDStore, // 2D with stored structures.
threeD, // Passive 3D (with stored structures).
threeDInteractive, // 3D with "pick" functionality.
virtualReality // Virtual Reality functionality.
noFunctionality
,nonEuclidian // e.g., tree representation of geometry hierarchy.
,twoD // Simple 2D, e.g., X (no stored structures).
,twoDStore // 2D with stored structures.
,threeD // Passive 3D (with stored structures).
,threeDInteractive // 3D with "pick" functionality.
,virtualReality // Virtual Reality functionality.
,fileWriter // File writer
};
G4VGraphicsSystem (const G4String& name,
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4VVisCommand.hh 66870 2013-01-14 23:38:59Z adotti $
// $Id: G4VVisCommand.hh 83403 2014-08-21 15:07:30Z gcosmo $
// Base class for visualization commands - John Allison 9th August 1998
// It is really a messenger - we have one command per messenger.
@@ -50,6 +50,14 @@ public:
G4VVisCommand ();
virtual ~G4VVisCommand ();
static void SetVisManager (G4VisManager*);
static const G4Colour& GetCurrentColour() {return fCurrentColour;}
//static G4VMarker::FillStyle GetCurrentFillStyle() {return fCurrentFillStyle;}
//static G4VMarker::SizeType GetCurrentSizeType() {return fCurrentSizeType;}
static G4double GetCurrentLineWidth() {return fCurrentLineWidth;}
//static G4VisAttributes::LineStyle GetCurrentLineStyle() {return fCurrentLineStyle;}
static const G4Colour& GetCurrentTextColour() {return fCurrentTextColour;}
static G4Text::Layout GetCurrentTextLayout() {return fCurrentTextLayout;}
static G4double GetCurrentTextSize() {return fCurrentTextSize;}
protected:
@@ -68,12 +76,13 @@ protected:
// Current quantities for use in appropriate commands
static G4Colour fCurrentColour;
static G4Colour fCurrentTextColour;
static G4Text::Layout fCurrentTextLayout;
static G4double fCurrentLineWidth;
//static G4VisAttributes::LineStyle fCurrentLineStyle; Not yet used.
//static G4VMarker::FillStyle fCurrentFillStyle; Not yet used.
//static G4VMarker::SizeType fCurrentSizeType; Not yet used.
static G4double fCurrentLineWidth;
//static G4VisAttributes::LineStyle fCurrentLineStyle; Not yet used.
static G4Colour fCurrentTextColour;
static G4Text::Layout fCurrentTextLayout;
static G4double fCurrentTextSize;
static G4ModelingParameters::PVNameCopyNoPath fCurrentTouchablePath;
};
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ViewParameters.icc 66373 2012-12-18 09:41:34Z gcosmo $
// $Id: G4ViewParameters.icc 86974 2014-11-21 11:58:31Z gcosmo $
//
//
// John Allison 20th October 1996
@@ -157,19 +157,19 @@ inline G4bool G4ViewParameters::IsMarkerNotHidden () const {
}
inline bool G4ViewParameters::IsWindowSizeHintX () const {
return (fGeometryMask & fWidthValue);
return ((fGeometryMask & fWidthValue) != 0);
}
inline bool G4ViewParameters::IsWindowSizeHintY () const {
return (fGeometryMask & fHeightValue);
return ((fGeometryMask & fHeightValue) != 0);
}
inline bool G4ViewParameters::IsWindowLocationHintX () const {
return (fGeometryMask & fXValue);
return ((fGeometryMask & fXValue) != 0);
}
inline bool G4ViewParameters::IsWindowLocationHintY () const {
return (fGeometryMask & fYValue);
return ((fGeometryMask & fYValue) != 0);
}
inline unsigned int G4ViewParameters::GetWindowSizeHintX () const {
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4VisCommandsSceneAdd.hh 73609 2013-09-02 10:10:30Z gcosmo $
// $Id: G4VisCommandsSceneAdd.hh 85582 2014-10-31 09:07:30Z gcosmo $
// /vis/scene commands - John Allison 9th August 1998
@@ -151,6 +151,25 @@ private:
G4UIcommand* fpCommand;
};
class G4VisCommandSceneAddExtent: public G4VVisCommandScene {
public:
G4VisCommandSceneAddExtent ();
virtual ~G4VisCommandSceneAddExtent ();
G4String GetCurrentValue (G4UIcommand* command);
void SetNewValue (G4UIcommand* command, G4String newValue);
private:
G4VisCommandSceneAddExtent (const G4VisCommandSceneAddExtent&);
G4VisCommandSceneAddExtent& operator = (const G4VisCommandSceneAddExtent&);
struct Extent {
Extent(G4double xmin, G4double xmax,
G4double ymin, G4double ymax,
G4double zmin, G4double zmax);
void operator()(G4VGraphicsScene&, const G4Transform3D&);
G4VisExtent fExtent;
};
G4UIcommand* fpCommand;
};
class G4VisCommandSceneAddFrame: public G4VVisCommandScene {
public:
G4VisCommandSceneAddFrame ();
@@ -50,18 +50,6 @@ private:
G4UIcommand* fpCommand;
};
class G4VisCommandSetTextColour: public G4VVisCommand {
public:
G4VisCommandSetTextColour ();
virtual ~G4VisCommandSetTextColour ();
G4String GetCurrentValue (G4UIcommand* command);
void SetNewValue (G4UIcommand* command, G4String newValue);
private:
G4VisCommandSetTextColour (const G4VisCommandSetTextColour&);
G4VisCommandSetTextColour& operator = (const G4VisCommandSetTextColour&);
G4UIcommand* fpCommand;
};
class G4VisCommandSetLineWidth: public G4VVisCommand {
public:
G4VisCommandSetLineWidth ();
@@ -74,6 +62,18 @@ private:
G4UIcmdWithADouble* fpCommand;
};
class G4VisCommandSetTextColour: public G4VVisCommand {
public:
G4VisCommandSetTextColour ();
virtual ~G4VisCommandSetTextColour ();
G4String GetCurrentValue (G4UIcommand* command);
void SetNewValue (G4UIcommand* command, G4String newValue);
private:
G4VisCommandSetTextColour (const G4VisCommandSetTextColour&);
G4VisCommandSetTextColour& operator = (const G4VisCommandSetTextColour&);
G4UIcommand* fpCommand;
};
class G4VisCommandSetTextLayout: public G4VVisCommand {
public:
G4VisCommandSetTextLayout ();
@@ -86,6 +86,18 @@ private:
G4UIcmdWithAString* fpCommand;
};
class G4VisCommandSetTextSize: public G4VVisCommand {
public:
G4VisCommandSetTextSize ();
virtual ~G4VisCommandSetTextSize ();
G4String GetCurrentValue (G4UIcommand* command);
void SetNewValue (G4UIcommand* command, G4String newValue);
private:
G4VisCommandSetTextSize (const G4VisCommandSetTextSize&);
G4VisCommandSetTextSize& operator = (const G4VisCommandSetTextSize&);
G4UIcmdWithADouble* fpCommand;
};
class G4VisCommandSetTouchable: public G4VVisCommand {
public:
G4VisCommandSetTouchable ();
@@ -24,15 +24,27 @@
// ********************************************************************
//
//
// $Id: G4VisFeaturesOfFukuiRenderer.hh 66373 2012-12-18 09:41:34Z gcosmo $
//
//
// $Id: G4VisCommandsTouchableSet.hh 66264 2012-12-14 10:17:44Z allison $
#ifndef G4VISFEATURESOFFUKUIRENDERER_HH
#define G4VISFEATURESOFFUKUIRENDERER_HH
// /vis/touchable/set commands - John Allison 14th May 2014
#include "globals.hh"
#ifndef G4VISCOMMANDSTOUCHABLE_HH
#define G4VISCOMMANDSTOUCHABLE_HH
G4String G4VisFeaturesOfFukuiRenderer ();
#include "G4VisCommands.hh"
class G4UIcmdWithoutParameter;
class G4VisCommandsTouchable: public G4VVisCommand {
public:
G4VisCommandsTouchable ();
virtual ~G4VisCommandsTouchable ();
G4String GetCurrentValue (G4UIcommand* command);
void SetNewValue (G4UIcommand* command, G4String newValue);
private:
G4VisCommandsTouchable (const G4VisCommandsTouchable&);
G4VisCommandsTouchable& operator = (const G4VisCommandsTouchable&);
G4UIcmdWithoutParameter* fpCommandDump;
};
#endif
@@ -1,36 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4VisFeaturesOfDAWNFILE.hh 66373 2012-12-18 09:41:34Z gcosmo $
//
#ifndef G4VISFEATURESOFDAWNFILE_HH
#define G4VISFEATURESOFDAWNFILE_HH
#include "globals.hh"
G4String G4VisFeaturesOfDAWNFILE ();
#endif
@@ -1,47 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4VisFeaturesOfOpenGL.hh 66373 2012-12-18 09:41:34Z gcosmo $
//
//
#ifndef G4VISFEATURESOFOPENGL_HH
#define G4VISFEATURESOFOPENGL_HH
#include "globals.hh"
G4String G4VisFeaturesOfOpenGLIX ();
G4String G4VisFeaturesOfOpenGLSX ();
G4String G4VisFeaturesOfOpenGLIXm ();
G4String G4VisFeaturesOfOpenGLSXm ();
G4String G4VisFeaturesOfOpenGLIWin32 ();
G4String G4VisFeaturesOfOpenGLSWin32 ();
G4String G4VisFeaturesOfOpenGLIQt ();
G4String G4VisFeaturesOfOpenGLSQt ();
G4String G4VisFeaturesOfOpenGLIWt ();
//G4String G4VisFeaturesOfOpenGLSWt ();
#endif
@@ -1,38 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4VisFeaturesOfOpenInventor.hh 66373 2012-12-18 09:41:34Z gcosmo $
//
//
#ifndef G4VISFEATURESOFOPENINVENTOR_HH
#define G4VISFEATURESOFOPENINVENTOR_HH
#include "globals.hh"
G4String G4VisFeaturesOfOpenInventor ();
#endif
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4VisManager.hh 77246 2013-11-22 10:01:21Z gcosmo $
// $Id: G4VisManager.hh 85021 2014-10-23 09:53:47Z gcosmo $
//
//
@@ -118,22 +118,6 @@ typedef G4VModelFactory<G4VFilter<G4VDigi> > G4DigiFilterFactory;
class G4VisManager: public G4VVisManager {
// Friends - classes and functions which need access to private
// members of G4VisManager. This is mainly to obtain access to
// GetInstance (), which is private. The correct way for normal
// users to obtain a pointer to the vis manager is with
// G4VVisManager::GetConcreteInstance (), always testing for
// non-zero.
// Odd friends that need access to the G4VisManager...
friend class G4RTSteppingAction;
friend class G4RayTrajectory;
friend class G4RayTracerSceneHandler;
friend class G4RTMessenger;
friend class G4OpenGLViewerMessenger;
friend class G4OpenGLXmViewerMessenger;
friend class G4HepRepFileSceneHandler;
// Management friends...
friend class G4VSceneHandler;
friend class G4VViewer;
@@ -174,11 +158,12 @@ private:
G4VisManager (const G4VisManager&);
G4VisManager& operator = (const G4VisManager&);
public:
static G4VisManager* GetInstance ();
// Returns pointer to itself. Throws a G4Exception if called before
// instantiation. Private so that only friends can use; the normal
// user should instead use G4VVisManager::GetConcreteInstance () to
// get a "higher level" pointer for general use - but always test
// instantiation. Intended only for use within the vis category; the
// normal user should instead use G4VVisManager::GetConcreteInstance()
// to get a "higher level" pointer for general use - but always test
// for non-zero.
public: // With description
@@ -323,6 +308,14 @@ public: // With description
void GeometryHasChanged ();
// Used by run manager to notify change.
void IgnoreStateChanges(G4bool);
// This method shoud be invoked by a class that has its own event loop,
// such as the RayTracer, material scanner, etc. If the argument is true,
// the following state changes among Idle, GeomClosed and EventProc are
// caused by such a class, and thus not by the ordinary event simulation.
// The same method with false should be invoked once such an event loop
// is over.
void NotifyHandlers();
// Notify scene handlers (G4VGraphicsScene objects) that the scene
// has changed so that they may rebuild their graphics database, if
@@ -335,6 +328,11 @@ public: // With description
G4bool FilterHit(const G4VHit&);
G4bool FilterDigi(const G4VDigi&);
#ifdef G4MULTITHREADED
virtual void SetUpForAThread();
// This method is invoked by G4WorkerRunManager
#endif
////////////////////////////////////////////////////////////////////////
// Administration routines.
@@ -357,6 +355,8 @@ private:
void EndOfRun ();
void DrawEvent (const G4Event*);
public: // With description
/////////////////////////////////////////////////////////////////////
@@ -494,7 +494,6 @@ private:
std::vector<G4UImessenger*> fMessengerList;
std::vector<G4UIcommand*> fDirectoryList;
G4VisStateDependent* fpStateDependent; // Friend state dependent class.
G4TrajectoriesModel dummyTrajectoriesModel; // For passing drawing mode.
G4bool fEventRefreshing;
G4bool fTransientsDrawnThisRun;
G4bool fTransientsDrawnThisEvent;
@@ -506,6 +505,7 @@ private:
G4ViewParameters fDefaultViewParameters;
G4bool fIsDrawGroup;
G4int fDrawGroupNestingDepth;
G4bool fIgnoreStateChanges;
// Trajectory draw model manager
G4VisModelManager<G4VTrajectoryModel>* fpTrajDrawModelMgr;
@@ -518,16 +518,6 @@ private:
// Digi filter model manager
G4VisFilterManager<G4VDigi>* fpDigiFilterMgr;
#ifdef G4MULTITHREADED
public:
virtual void SetUpForAThread();
#endif
virtual void IgnoreStateChanges(G4bool);
protected:
G4bool fIgnoreStateChanges;
};
#include "G4VisManager.icc"