Import Geant4 0.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:09:25 +02:00
parent b97f8d0df7
commit aaa409b6ee
2922 changed files with 55107 additions and 81674 deletions
@@ -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
+2 -2
View File
@@ -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 $
//
//
// ------------------------------------------------------------
+2 -2
View File
@@ -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 $
//
//
+2 -2
View File
@@ -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 $
//
//
+6 -3
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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 $
//
//
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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 $
//
//
// ---------------------------------------------------------------------
+2 -2
View File
@@ -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$
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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 $
//
//
// ------------------------------------------------------------
+117
View File
@@ -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