Import Geant4 0.1.0 source tree
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4ApplicationState.hh,v 2.1 1998/07/12 02:59:26 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4ApplicationState.hh,v 1.1 1999/01/07 16:09:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
|
||||
#ifndef G4APPLICATIONSTATE_H
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4StateManager.hh,v 2.2 1998/09/25 13:09:16 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4StateManager.hh,v 1.1 1999/01/07 16:09:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIbatch.hh,v 2.1 1998/07/12 02:59:27 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIbatch.hh,v 1.1 1999/01/07 16:09:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
// $id$
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcmdWith3Vector.hh,v 2.1 1998/07/12 02:59:27 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcmdWith3Vector.hh,v 1.1 1999/01/07 16:09:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcmdWith3VectorAndUnit.hh,v 2.1 1998/07/12 02:59:28 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcmdWith3VectorAndUnit.hh,v 1.1 1999/01/07 16:09:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcmdWithABool.hh,v 2.1 1998/07/12 02:59:28 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcmdWithABool.hh,v 1.1 1999/01/07 16:09:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcmdWithADouble.hh,v 2.1 1998/07/12 02:59:30 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcmdWithADouble.hh,v 1.1 1999/01/07 16:09:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcmdWithADoubleAndUnit.hh,v 2.1 1998/07/12 02:59:30 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcmdWithADoubleAndUnit.hh,v 1.1 1999/01/07 16:09:22 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcmdWithAString.hh,v 2.1 1998/07/12 02:59:31 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcmdWithAString.hh,v 1.1 1999/01/07 16:09:22 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcmdWithAnInteger.hh,v 2.1 1998/07/12 02:59:31 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcmdWithAnInteger.hh,v 1.1 1999/01/07 16:09:22 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcmdWithoutParameter.hh,v 2.0 1998/07/02 17:07:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcmdWithoutParameter.hh,v 1.1 1999/01/07 16:09:22 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcommand.hh,v 2.3 1998/10/20 03:41:30 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcommand.hh,v 1.2 1999/05/07 10:50:42 johna Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -78,7 +78,10 @@ class G4UIcommand
|
||||
inline G4UIparameter * GetParameter(int i) const
|
||||
{ return parameter[i]; }
|
||||
inline void SetParameter(G4UIparameter *const newParameter)
|
||||
{ parameter.insert( newParameter ); }
|
||||
{
|
||||
parameter.insert( newParameter );
|
||||
newVal.resize( parameter.entries() );
|
||||
}
|
||||
inline void SetGuidance(const char * aGuidance)
|
||||
{
|
||||
G4String * theGuidance = new G4String( aGuidance );
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcommandStatus.hh,v 2.0 1998/07/02 17:08:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcommandStatus.hh,v 1.1 1999/01/07 16:09:22 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
|
||||
#ifndef G4UIcommandStatus_h
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcommandTree.hh,v 2.1 1998/07/12 02:59:32 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcommandTree.hh,v 1.1 1999/01/07 16:09:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
|
||||
#ifndef G4UIcommandTree_h
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIcontrolMessenger.hh,v 2.3 1998/10/01 15:49:53 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIcontrolMessenger.hh,v 1.1 1999/01/07 16:09:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
|
||||
#ifndef G4UIcontrolMessenger_h
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIdirectory.hh,v 2.0 1998/07/02 17:08:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIdirectory.hh,v 1.1 1999/01/07 16:09:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UImanager.hh,v 2.5 1998/12/02 09:57:48 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UImanager.hh,v 1.1 1999/01/07 16:09:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
|
||||
#ifndef G4UImanager_h
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UImessenger.hh,v 2.2 1998/07/13 17:12:50 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UImessenger.hh,v 1.1 1999/01/07 16:09:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
|
||||
#ifndef G4UImessenger_h
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIparameter.hh,v 2.1 1998/07/12 02:59:36 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIparameter.hh,v 1.1 1999/01/07 16:09:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UIsession.hh,v 2.2 1998/11/04 11:53:31 yhajime Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UIsession.hh,v 1.1 1999/01/07 16:09:24 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
// $id$
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UItokenNum.hh,v 2.0 1998/07/02 17:08:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UItokenNum.hh,v 1.1 1999/01/07 16:09:24 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
// G4UItokenNum.hh
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4UnitsMessenger.hh,v 2.1 1998/11/27 06:12:47 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4UnitsMessenger.hh,v 1.1 1999/01/07 16:09:24 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VFlavoredParallelWorld.hh,v 1.1 1999/04/15 15:43:11 mora Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// Abstract interface for GEANT4 Flavored Parallel World.
|
||||
// P. Mora de Freitas & M. Verderi 14/April/1999.
|
||||
//
|
||||
|
||||
#ifndef G4VFLAVOREDPARALLELWORLD_HH
|
||||
#define G4VFLAVOREDPARALLELWORLD_HH
|
||||
|
||||
class G4VFlavoredParallelWorld {
|
||||
|
||||
public:
|
||||
|
||||
virtual ~G4VFlavoredParallelWorld () {}
|
||||
|
||||
// G4VFlavoredParallelWorld Interface for visualisation.
|
||||
|
||||
virtual
|
||||
G4VPhysicalVolume* GetThePhysicalVolumeWorld() const =0;
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,66 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VGlobalFastSimulationManager.hh,v 1.1 1999/04/15 15:43:14 mora Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// Abstract interface for GEANT4 Global Fast Simulation Manager.
|
||||
// P. Mora de Freitas & M. Verderi 14/April/1999.
|
||||
//
|
||||
// G4GlobalFastSimulationManager is a "Singleton", i.e., only one instance
|
||||
// of it may exist. This is ensured by making the constructor private.
|
||||
//
|
||||
// G4VGlobalFastSimulationManager is an abstract interface for the
|
||||
// G4GlobalFastSimulationManager one. It has the public access function
|
||||
// GetConcreteInstance(), which is used to obtain a pointer to the concrete
|
||||
// G4GlobalFastSimulationManager, should it exist. After
|
||||
//
|
||||
// G4VGlobalFastSimulationManager* pVFSMan =
|
||||
// G4VGlobalFastSimulationManager::GetConcreteInstance ();
|
||||
//
|
||||
// pVFSMan points to the real (concrete) G4GlobalFastSimulationManager if
|
||||
// at least a parameterisation envelope exists, otherwise is zero.
|
||||
//
|
||||
// Thus all code must be protected, for example by:
|
||||
// if (pVFSMan)
|
||||
// G4FlavoredParallelWorld* =
|
||||
// pVFSMan -> GetFlavoredWorldForThis(p);
|
||||
//
|
||||
|
||||
#ifndef G4VGLOBALFASTSIMULATIONMANAGER_HH
|
||||
#define G4VGLOBALFASTSIMULATIONMANAGER_HH
|
||||
|
||||
class G4VFlavoredParallelWorld;
|
||||
class G4ParticleDefinition;
|
||||
|
||||
class G4VGlobalFastSimulationManager {
|
||||
|
||||
public:
|
||||
// Returns pointer to actual Global Fast Simulation manager if
|
||||
// at least a parameterisation envelope exists. Always check value.
|
||||
static G4VGlobalFastSimulationManager* GetConcreteInstance ();
|
||||
|
||||
virtual ~G4VGlobalFastSimulationManager () {}
|
||||
|
||||
// VGlobalFastSimulationManager Interface for visualisation.
|
||||
|
||||
virtual
|
||||
G4VFlavoredParallelWorld* GetFlavoredWorldForThis(G4ParticleDefinition*)=0;
|
||||
|
||||
protected:
|
||||
// Pointer to real G4GlobalFastSimulationManager.
|
||||
static G4VGlobalFastSimulationManager* fpConcreteInstance;
|
||||
|
||||
};
|
||||
|
||||
inline
|
||||
G4VGlobalFastSimulationManager*
|
||||
G4VGlobalFastSimulationManager::GetConcreteInstance () {
|
||||
return fpConcreteInstance;
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,82 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VGraphicsScene.hh,v 1.1 1999/04/28 14:19:31 johna Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// John Allison 19th July 1996
|
||||
// Abstract interface class for the concept of a graphics scene.
|
||||
// It is a minimal scene for the GEANT4 kernel.
|
||||
// See G4VScene for a fuller description. G4VScene is the full abstract
|
||||
// interface to graphics systems.
|
||||
|
||||
#ifndef G4VGRAPHICSSCENE_HH
|
||||
#define G4VGRAPHICSSCENE_HH
|
||||
|
||||
class G4VisAttributes;
|
||||
class G4VSolid;
|
||||
class G4Box;
|
||||
class G4Cons;
|
||||
class G4Tubs;
|
||||
class G4Trd;
|
||||
class G4Trap;
|
||||
class G4Sphere;
|
||||
class G4Para;
|
||||
class G4Torus;
|
||||
class G4PhysicalVolumeModel;
|
||||
class G4Polycone;
|
||||
class G4Polyhedra;
|
||||
|
||||
#include "G4Transform3D.hh"
|
||||
|
||||
// Scene Interface - begin snippet.
|
||||
class G4VGraphicsScene {
|
||||
|
||||
public:
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
// Functions for adding raw GEANT4 objects. The concrete graphics
|
||||
// scene has the option of implementing its own model or asking the
|
||||
// solid to provide a G4Polyhedron or similar primitive - see, for
|
||||
// example, G4VScene in the Visualization Category.
|
||||
|
||||
virtual void AddThis (const G4Box&) = 0;
|
||||
virtual void AddThis (const G4Cons&) = 0;
|
||||
virtual void AddThis (const G4Tubs&) = 0;
|
||||
virtual void AddThis (const G4Trd&) = 0;
|
||||
virtual void AddThis (const G4Trap&) = 0;
|
||||
virtual void AddThis (const G4Sphere&) = 0;
|
||||
virtual void AddThis (const G4Para&) = 0;
|
||||
virtual void AddThis (const G4Torus&) = 0;
|
||||
virtual void AddThis (const G4Polycone&) = 0;
|
||||
virtual void AddThis (const G4Polyhedra&) = 0;
|
||||
virtual void AddThis (const G4VSolid&) = 0; // For solids not above.
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
// Other functions.
|
||||
|
||||
virtual void EstablishSpecials (G4PhysicalVolumeModel&) {}
|
||||
// Used to establish any special relationships between scene and
|
||||
// this particular type of model - non-pure, i.e., no requirement to
|
||||
// implement. See G4PhysicalVolumeModel.hh for details.
|
||||
|
||||
virtual void DecommissionSpecials (G4PhysicalVolumeModel&) {}
|
||||
// Used to reverse the effect of EstablishSpecials, if required.
|
||||
|
||||
virtual void PreAddThis (const G4Transform3D& objectTransformation,
|
||||
const G4VisAttributes& visAttribs) = 0;
|
||||
// objectTransformation is the transformation in the world
|
||||
// coordinate system of the object about to be added, and
|
||||
// visAttribs is its visualization attributes.
|
||||
|
||||
virtual void PostAddThis () = 0;
|
||||
|
||||
};
|
||||
// Scene Interface - end snippet.
|
||||
|
||||
#endif
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VStateDependent.hh,v 2.1 1998/07/12 02:59:38 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G4VStateDependent.hh,v 1.1 1999/01/07 16:09:24 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VVisManager.hh,v 1.2 1999/05/19 08:50:28 johna Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// Abstract interface for GEANT4 Visualization Manager.
|
||||
// John Allison 19/Oct/1996.
|
||||
|
||||
// This is a "Singleton", i.e., only one instance of it may exist.
|
||||
// This is ensured by making the constructor private.
|
||||
|
||||
// It has only one public access function which is used to obtain a pointer
|
||||
// to the concrete G4VisManager, should it exist.
|
||||
// G4VVisManager* pVVMan = G4VVisManager::GetConcreteInstance ();
|
||||
// points to the real (concrete) G4VisManager, if a view is available for
|
||||
// drawing, otherwise is zero. Thus all code must be protected,
|
||||
// for example, by:
|
||||
// if (pVVMan) pVVMan -> Draw (polyline);
|
||||
|
||||
#ifndef G4VVISMANAGER_HH
|
||||
#define G4VVISMANAGER_HH
|
||||
|
||||
#include "G4Transform3D.hh"
|
||||
#include "G4ThreeVector.hh" // Just a typedef Hep3Vector.
|
||||
#include "G4RotationMatrix.hh" // Just a typedef HepRotation.
|
||||
|
||||
class G4Polyline;
|
||||
class G4Text;
|
||||
class G4Circle;
|
||||
class G4Square;
|
||||
class G4Polymarker;
|
||||
class G4Polyhedron;
|
||||
class G4NURBS;
|
||||
class G4VSolid;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
class G4VisAttributes;
|
||||
|
||||
class G4VVisManager {
|
||||
|
||||
public:
|
||||
|
||||
static G4VVisManager* GetConcreteInstance ();
|
||||
// Returns pointer to actual visualization manager if a view is
|
||||
// available for drawing, else returns null. Always check value.
|
||||
|
||||
virtual ~G4VVisManager ();
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
// Functions to Draw "transient" objects, useful for hits, digis, etc.
|
||||
|
||||
//1 Note that the {\tt G4Transform3D} objects refer to the
|
||||
//1 transformation of the {\em object} being drawn. However, for
|
||||
//1 some functions, there is a version which takes a {\tt
|
||||
//1 G4Translation} and a {\tt G4RotationMatrix}, the latter being a
|
||||
//1 {\em system} rotation, as in {\tt G4PVPlacement}.
|
||||
//1
|
||||
//1 Note also that where a {\tt G4VisAttributes} argument is
|
||||
//1 specified, it overrides any attributes belonging to the object
|
||||
//1 itself. Otherwise, the visualization attributes are assumed to
|
||||
//1 be those belonging to the object being drawn (you can set its
|
||||
//1 attributes --- see Section \ref{ap:setting_attribs}).
|
||||
|
||||
// VVisManager Interface - begin snippet.
|
||||
virtual void Draw (const G4Polyline&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4Text&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4Circle&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4Square&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4Polymarker&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4Polyhedron&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4NURBS&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4VSolid&, const G4VisAttributes&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4LogicalVolume&, const G4VisAttributes&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
|
||||
virtual void Draw (const G4VPhysicalVolume&, const G4VisAttributes&,
|
||||
const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0;
|
||||
// VVisManager Interface - end snippet.
|
||||
|
||||
// Other management functions...
|
||||
|
||||
virtual void GeometryHasChanged () = 0;
|
||||
// This is used by the run manager to notify a change of geometry.
|
||||
|
||||
protected:
|
||||
|
||||
static G4VVisManager* fpConcreteInstance; // Pointer to real G4VisManager.
|
||||
|
||||
};
|
||||
|
||||
inline G4VVisManager* G4VVisManager::GetConcreteInstance () {
|
||||
return fpConcreteInstance;
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user