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
+14 -3
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Circle.hh,v 2.0 1998/07/02 17:30:39 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Circle.hh,v 1.2 1999/06/05 15:13:10 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 17/11/96.
@@ -17,11 +17,22 @@
#include "G4VMarker.hh"
class G4Circle: public G4VMarker {
public:
G4Circle ();
G4Circle (const G4Point3D& pos);
G4Circle (const G4VMarker& marker);
};
virtual ~G4Circle ();
//////////////////////////////////////////////////////
// Assignment...
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
virtual G4VMarker& operator = (const G4VMarker& right);
virtual G4Circle & operator = (const G4Circle& right);
};
#include "G4Circle.icc"
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Circle.icc,v 2.0 1998/07/02 17:29:43 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Circle.icc,v 1.2 1999/06/05 15:13:11 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 17/11/96.
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Color.hh,v 2.0 1998/07/02 17:29:50 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Color.hh,v 1.1 1999/01/07 16:09:10 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 20th October 1996
+3 -3
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Colour.hh,v 2.0 1998/07/02 17:29:51 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Colour.hh,v 1.2 1999/05/25 09:10:07 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 20th October 1996
@@ -19,10 +19,10 @@ class ostream;
class G4Colour {
friend ostream& operator << (ostream& os, const G4Colour& c);
friend G4bool operator != (const G4Colour& c1, const G4Colour& c2);
public:
G4Colour (G4double r = 1., G4double g = 1., G4double b = 1.,
G4double a = 1.);
G4bool operator != (const G4Colour& c) const;
G4double GetRed () const;
G4double GetGreen () const;
G4double GetBlue () const;
+10 -6
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NURBS.hh,v 2.3 1998/12/01 13:37:14 evc Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4NURBS.hh,v 1.3 1999/05/19 08:33:37 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// Olivier Crumeyrolle 12 September 1996
@@ -52,6 +52,9 @@ public:
// destructor.
virtual ~G4NURBS();
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
// direction selector defined as a type because the user will use it
// and we want the user to be well-manered.
// However internally this typed enum is not as easy to use as it
@@ -151,12 +154,16 @@ protected:
// under the control of HIGH_PRECISION )
typedef Float G4Float;
public:
// internal type for order, derivate from t_index
typedef t_index t_order;
// internal type for knot
typedef G4Float t_Knot;
protected:
// internal types for the control points
typedef G4Float t_Coord;
typedef t_Coord t_CtrlPt [NofC];
@@ -241,10 +248,7 @@ public:
protected:
// little structure containing data for each direction
class t_Dir;
friend class t_Dir;
class t_Dir {
public:
struct t_Dir {
t_order order;
t_inddCtrlPt nbrCtrlPts;
t_indKnot nbrKnots;
+7 -8
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NURBSbox.hh,v 2.1 1998/07/12 02:59:11 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4NURBSbox.hh,v 1.3 1999/05/19 08:33:38 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -22,13 +22,12 @@
class G4NURBSbox : public G4NURBS
{
public: G4NURBSbox(G4double DX, G4double DY, G4double DZ);
virtual const char* Whoami() const;
public:
G4NURBSbox(G4double DX, G4double DY, G4double DZ);
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
const char* Whoami() const;
};
#endif
// end of __C_G4NURBSbox__
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NURBScylinder.hh,v 2.1 1998/07/12 02:59:11 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4NURBScylinder.hh,v 1.3 1999/05/19 08:33:39 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -22,13 +22,12 @@
class G4NURBScylinder : public G4NURBS
{
public: G4NURBScylinder(G4double R, G4double DZ);
virtual const char* Whoami() const;
public:
G4NURBScylinder(G4double R, G4double DZ);
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
const char* Whoami() const;
};
#endif
// end of __C_G4NURBScylinder__
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NURBShexahedron.hh,v 2.1 1998/07/12 02:59:12 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4NURBShexahedron.hh,v 1.3 1999/05/19 08:33:39 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
// Hexa hedron builder prototype
// OC 17 9 96
@@ -37,8 +37,11 @@ class G4NURBShexahedron : public G4NURBS
// from the rear, from the upper right corner to the lower one
// in anticlockwise sens, then the same for front side)
public: G4NURBShexahedron(const G4ThreeVector Corners [8]);
virtual const char* Whoami() const;
public:
G4NURBShexahedron(const G4ThreeVector Corners [8]);
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
const char* Whoami() const;
};
#endif
+7 -8
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NURBStube.hh,v 2.1 1998/07/12 02:59:13 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4NURBStube.hh,v 1.3 1999/05/19 08:33:40 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -22,13 +22,12 @@
class G4NURBStube : public G4NURBS
{
public: G4NURBStube(G4double RMIN, G4double RMAX, G4double DZ);
virtual const char* Whoami() const;
public:
G4NURBStube(G4double RMIN, G4double RMAX, G4double DZ);
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
const char* Whoami() const;
};
#endif
// end of __C_G4NURBStube__
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NURBStubesector.hh,v 2.1 1998/07/12 02:59:14 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4NURBStubesector.hh,v 1.2 1999/05/19 08:33:40 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -31,9 +31,12 @@ class G4NURBStubesector : public G4NURBS
// Except that, you can use any value for the arguments,
// it's the renderer or you that will have troubles.
G4NURBStubesector(G4double RMIN, G4double RMAX, G4double DZ, G4double PHI1, G4double PHI2);
virtual const char* Whoami() const;
virtual ~G4NURBStubesector();
G4NURBStubesector(G4double RMIN, G4double RMAX,
G4double DZ, G4double PHI1, G4double PHI2);
virtual ~G4NURBStubesector();
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
virtual const char* Whoami() const;
protected:
char * mpwhoami;
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Point3DList.hh,v 2.0 1998/07/02 17:30:02 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Point3DList.hh,v 1.2 1999/05/12 16:10:51 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison July 1995
@@ -26,10 +26,7 @@ friend ostream& operator << (ostream& os, const G4Point3DList& points);
public:
virtual ~G4Point3DList();
// Destructor.
};
#include "G4Point3DList.icc"
#endif
@@ -1,14 +0,0 @@
// 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: G4Point3DList.icc,v 2.0 1998/07/02 17:30:04 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// John Allison July 1995
inline G4Point3DList::~G4Point3DList () {}
+30 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Polyhedron.hh,v 2.2 1998/07/13 16:56:10 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Polyhedron.hh,v 1.2 1999/05/19 08:33:41 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
//
@@ -184,6 +184,8 @@ class G4Polyhedron: public G4VVisPrim {
~G4Polyhedron() { delete [] pV; delete [] pF; }
// Assignment
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
G4Polyhedron& operator=(const G4Polyhedron &from);
// Get number of vertices
@@ -228,18 +230,24 @@ class G4PolyhedronTrd2 : public G4Polyhedron {
public:
G4PolyhedronTrd2(G4double Dx1, G4double Dx2,
G4double Dy1, G4double Dy2, G4double Dz);
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronTrd1 : public G4PolyhedronTrd2 {
public:
G4PolyhedronTrd1(G4double Dx1, G4double Dx2, G4double Dy, G4double Dz) :
G4PolyhedronTrd2(Dx1, Dx2, Dy, Dy, Dz) {}
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronBox : public G4PolyhedronTrd2 {
public:
G4PolyhedronBox(G4double Dx, G4double Dy, G4double Dz) :
G4PolyhedronTrd2(Dx, Dx, Dy, Dy, Dz) {}
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronTrap : public G4Polyhedron {
@@ -247,6 +255,8 @@ class G4PolyhedronTrap : public G4Polyhedron {
G4PolyhedronTrap(G4double Dz, G4double Theta, G4double Phi,
G4double Dy1, G4double Dx1, G4double Dx2, G4double Alp1,
G4double Dy2, G4double Dx3, G4double Dx4, G4double Alp2);
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronPara : public G4PolyhedronTrap {
@@ -254,6 +264,8 @@ class G4PolyhedronPara : public G4PolyhedronTrap {
G4PolyhedronPara(G4double Dx, G4double Dy, G4double Dz,
G4double Alpha, G4double Theta, G4double Phi) :
G4PolyhedronTrap(Dz, Theta, Phi, Dy, Dx, Dx, Alpha, Dy, Dx, Dx, Alpha) {}
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronCons : public G4Polyhedron {
@@ -261,6 +273,8 @@ class G4PolyhedronCons : public G4Polyhedron {
G4PolyhedronCons(G4double Rmn1, G4double Rmx1,
G4double Rmn2, G4double Rmx2, G4double Dz,
G4double Phi1, G4double Dphi);
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronCone : public G4PolyhedronCons {
@@ -268,6 +282,8 @@ class G4PolyhedronCone : public G4PolyhedronCons {
G4PolyhedronCone(G4double Rmn1, G4double Rmx1,
G4double Rmn2, G4double Rmx2, G4double Dz)
: G4PolyhedronCons(Rmn1, Rmx1, Rmn2, Rmx2, Dz, 0*deg, 360*deg) {}
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronTubs : public G4PolyhedronCons {
@@ -275,12 +291,16 @@ class G4PolyhedronTubs : public G4PolyhedronCons {
G4PolyhedronTubs(G4double Rmin, G4double Rmax, G4double Dz,
G4double Phi1, G4double Dphi)
: G4PolyhedronCons(Rmin, Rmax, Rmin, Rmax, Dz, Phi1, Dphi) {}
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronTube : public G4PolyhedronCons {
public:
G4PolyhedronTube (G4double Rmin, G4double Rmax, G4double Dz)
: G4PolyhedronCons(Rmin, Rmax, Rmin, Rmax, Dz, 0*deg, 360*deg) {}
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronPgon : public G4Polyhedron {
@@ -289,6 +309,8 @@ class G4PolyhedronPgon : public G4Polyhedron {
const G4double *z,
const G4double *rmin,
const G4double *rmax);
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronPcon : public G4PolyhedronPgon {
@@ -298,6 +320,8 @@ class G4PolyhedronPcon : public G4PolyhedronPgon {
const G4double *rmin,
const G4double *rmax)
: G4PolyhedronPgon(phi, dphi, 0, nz, z, rmin, rmax) {}
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronSphere : public G4Polyhedron {
@@ -305,12 +329,16 @@ class G4PolyhedronSphere : public G4Polyhedron {
G4PolyhedronSphere(G4double rmin, G4double rmax,
G4double phi, G4double dphi,
G4double the, G4double dthe);
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
class G4PolyhedronTorus : public G4Polyhedron {
public:
G4PolyhedronTorus(G4double rmin, G4double rmax, G4double rtor,
G4double phi, G4double dphi);
virtual G4Visible& operator=(const G4Visible &from);
virtual G4VVisPrim& operator=(const G4VVisPrim &from);
};
inline G4int G4Polyhedron::GetNumberOfRotationSteps()
+5 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Polyline.hh,v 2.0 1998/07/02 17:30:06 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Polyline.hh,v 1.3 1999/05/25 09:10:09 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison July 1995
@@ -22,6 +22,9 @@ class G4Polyline: public G4VVisPrim, public G4Point3DList {
public:
G4Polyline ();
G4Polyline (const G4VVisPrim& prim);
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
virtual G4Polyline& operator = (const G4Polyline& right);
};
inline G4Polyline::G4Polyline () {}
+6 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Polymarker.hh,v 2.0 1998/07/02 17:30:08 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Polymarker.hh,v 1.3 1999/05/25 09:10:10 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison November 1996
@@ -22,6 +22,10 @@ public:
friend ostream& operator << (ostream& os, const G4Polymarker& marker);
enum MarkerType {line, dots, circles, squares};
G4Polymarker ();
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
virtual G4VMarker& operator = (const G4VMarker& right);
virtual G4Polymarker& operator = (const G4Polymarker& right);
MarkerType GetMarkerType () const;
void SetMarkerType (MarkerType type);
private:
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Polymarker.icc,v 2.0 1998/07/02 17:30:09 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Polymarker.icc,v 1.1 1999/01/07 16:09:12 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison November 1996
+13 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Square.hh,v 2.0 1998/07/02 17:29:48 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Square.hh,v 1.2 1999/06/05 15:13:12 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 17/11/96.
@@ -17,10 +17,21 @@
#include "G4VMarker.hh"
class G4Square: public G4VMarker {
public:
G4Square ();
G4Square (const G4Point3D& pos);
G4Square (const G4VMarker& marker);
virtual ~G4Square ();
//////////////////////////////////////////////////////
// Assignment...
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
virtual G4VMarker& operator = (const G4VMarker& right);
virtual G4Square& operator = (const G4Square& right);
};
#include "G4Square.icc"
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Square.icc,v 2.0 1998/07/02 17:30:10 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Square.icc,v 1.1 1999/01/07 16:09:13 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 17/11/96.
+9 -3
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Text.hh,v 2.0 1998/07/02 17:30:12 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Text.hh,v 1.3 1999/05/25 09:10:12 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 17/11/96.
@@ -23,6 +23,12 @@ public:
G4Text (const G4String& text);
G4Text (const G4String& text, const G4Point3D& pos);
G4Text (const G4VMarker& marker);
virtual G4Visible& operator = (const G4Visible& from);
virtual G4VVisPrim& operator = (const G4VVisPrim& from);
virtual G4VMarker& operator = (const G4VMarker& from);
virtual G4Text& operator = (const G4Text& from);
G4String GetText () const;
Layout GetLayout () const;
@@ -37,7 +43,7 @@ public:
private:
G4String fText;
Layout fLayout;
G4double fXOffset, fYOffset ;
G4double fXOffset, fYOffset;
};
#include "G4Text.icc"
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Text.icc,v 2.0 1998/07/02 17:30:13 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Text.icc,v 1.1 1999/01/07 16:09:13 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 17/11/96.
@@ -1,78 +0,0 @@
// 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 2.0 1998/07/02 17:30:16 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// 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;
#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& box) = 0;
virtual void AddThis (const G4Cons& cons) = 0;
virtual void AddThis (const G4Tubs& tubs) = 0;
virtual void AddThis (const G4Trd& trd) = 0;
virtual void AddThis (const G4Trap& trap) = 0;
virtual void AddThis (const G4Sphere& sphere) = 0;
virtual void AddThis (const G4Para& para ) = 0;
virtual void AddThis (const G4Torus& torus ) = 0;
virtual void AddThis (const G4VSolid& solid) = 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
+21 -9
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VMarker.hh,v 2.3 1998/11/09 02:37:42 stanaka Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VMarker.hh,v 1.4 1999/05/25 09:10:13 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// G4VMarker - base class for markers - circles, squares, etc.
@@ -34,9 +34,9 @@
// Also in G4ViewParameters is a "global marker scale" which is a
// factor by which all marker sizes are multiplied before drawing.
//
// Thus the graphics system driver scene code might look like:
// Thus the graphics system driver scene handler code might look like:
//
// void G4XXXGraphicsScene::AddPrimitive (const G4Circle& circle) {
// void G4XXXGraphicsSceneHandler::AddPrimitive (const G4Circle& circle) {
// G4bool hidden = !(fpView -> GetViewParameters().IsMarkerNotHidden());
// const G4Colour& colour = GetColour (circle); // Base class GetColour.
// G4VMarker::FillStyle style = circle.GetFillStyle();
@@ -68,8 +68,7 @@
class G4VMarker: public G4VVisPrim {
friend ostream& operator << (ostream& os, const G4VMarker& marker);
friend G4bool operator != (const G4VMarker& m1,
const G4VMarker& m2);
public:
enum FillStyle {noFill, hashed, filled};
@@ -78,9 +77,22 @@ public:
// Constructors...
G4VMarker ();
G4VMarker (const G4VMarker& marker);
G4VMarker& operator = (const G4VMarker& right);
G4VMarker (const G4Point3D& pos);
//////////////////////////////////////////////////////
// Destructor...
virtual ~G4VMarker ();
//////////////////////////////////////////////////////
// Assignment...
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
virtual G4VMarker& operator = (const G4VMarker& right);
//////////////////////////////////////////////////////
// Logical...
G4bool operator != (const G4VMarker&) const;
/////////////////////////////////////////////////////
// Get functions...
G4Point3D GetPosition () const;
@@ -104,8 +116,8 @@ public:
void SetFillStyle (FillStyle);
// Access functions to the string for user custimizable information
virtual const G4String& GetInfo() const { return fInfo ;}
virtual void SetInfo( const G4String& info ){ fInfo = info ;}
virtual const G4String& GetInfo() const;
virtual void SetInfo( const G4String& info );
private:
G4Point3D fPosition;
+2 -14
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VMarker.icc,v 2.2 1998/11/09 02:37:43 stanaka Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VMarker.icc,v 1.2 1999/05/12 16:10:55 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -27,18 +27,6 @@ inline G4VMarker::G4VMarker (const G4VMarker& marker):
fInfo (marker.fInfo)
{}
inline G4VMarker& G4VMarker::operator = (const G4VMarker& right) {
((G4VVisPrim*) this) -> operator = (right);
fPosition = right.fPosition;
fWorldSize = right.fWorldSize;
fScreenSize = right.fScreenSize;
fFillStyle = right.fFillStyle;
fInfo = right.fInfo;
return *this;
}
inline G4VMarker::G4VMarker (const G4Point3D& pos):
fPosition (pos),
fWorldSize (0.),
@@ -1,117 +0,0 @@
// 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 2.4 1998/09/25 11:54:18 allison Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// 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
+8 -5
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VVisPrim.hh,v 2.0 1998/07/02 17:30:23 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VVisPrim.hh,v 1.3 1999/05/19 08:33:44 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison August 1995
@@ -16,7 +16,6 @@
#ifndef G4VVISPRIM_HH
#define G4VVISPRIM_HH
#include "globals.hh"
#include "G4Visible.hh"
class ostream;
@@ -30,10 +29,14 @@ public:
G4VVisPrim ();
G4VVisPrim (const G4VVisPrim& prim);
G4VVisPrim& operator = (const G4VVisPrim& right);
G4VVisPrim (const G4VisAttributes* pVA);
virtual G4bool operator == (const G4VVisPrim& prim) const;
virtual ~G4VVisPrim ();
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
virtual G4bool operator == (const G4Visible& right) const;
virtual G4bool operator == (const G4VVisPrim& right) const;
};
+2 -11
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VVisPrim.icc,v 2.0 1998/07/02 17:30:24 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VVisPrim.icc,v 1.2 1999/05/12 16:10:57 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison August 1995
@@ -17,16 +17,7 @@ inline G4VVisPrim::G4VVisPrim (const G4VVisPrim& prim):
G4Visible (prim)
{}
inline G4VVisPrim& G4VVisPrim::operator = (const G4VVisPrim& right) {
((G4Visible*) this) -> operator = (right);
return *this;
}
inline G4VVisPrim::G4VVisPrim (const G4VisAttributes* pVA):
G4Visible (pVA)
{}
inline G4bool G4VVisPrim::operator == (const G4VVisPrim& prim) const{
return this == &prim;
}
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VisAttributes.hh,v 2.2 1998/11/25 16:01:15 allison Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VisAttributes.hh,v 1.3 1999/05/25 09:10:14 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 23rd October 1996
@@ -22,8 +22,6 @@
class G4VisAttributes {
friend ostream& operator << (ostream& os, const G4VisAttributes& a);
friend G4bool operator != (const G4VisAttributes& a1,
const G4VisAttributes& a2);
public:
@@ -39,6 +37,9 @@ public:
static const G4VisAttributes Invisible;
// Constructors - end snippet.
G4bool operator != (const G4VisAttributes& a) const;
G4bool operator == (const G4VisAttributes& a) const;
G4bool IsVisible () const;
G4bool IsDaughtersInvisible () const;
const G4Colour& GetColour () const;
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VisAttributes.icc,v 2.1 1998/11/25 16:01:18 allison Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VisAttributes.icc,v 1.2 1999/05/19 08:33:45 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 18th November 1996
+3 -3
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VisExtent.hh,v 2.0 1998/07/02 17:30:29 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4VisExtent.hh,v 1.2 1999/05/25 09:10:15 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// A.Walkden 28/11/95
@@ -28,6 +28,7 @@ public:
G4double zmin = 0., G4double zmax = 0.);
G4VisExtent (const G4Point3D& centre, G4double radius);
~G4VisExtent ();
G4bool operator != (const G4VisExtent& e) const;
G4double GetXmin () const;
G4double GetXmax () const;
G4double GetYmin () const;
@@ -44,7 +45,6 @@ public:
void SetZmin (G4double zmin);
void SetZmax (G4double zmax);
friend ostream& operator << (ostream& os, const G4VisExtent& e);
friend G4bool operator != (const G4VisExtent& e1, const G4VisExtent& e2);
private:
G4double fXmin, fXmax, fYmin, fYmax, fZmin, fZmax;
+9 -3
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Visible.hh,v 2.0 1998/07/02 17:30:32 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Visible.hh,v 1.2 1999/05/12 16:10:58 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 30th October 1996
@@ -18,6 +18,8 @@
#ifndef G4VISIBLE_HH
#define G4VISIBLE_HH
#include "globals.hh"
class G4VisAttributes;
class ostream;
@@ -29,9 +31,13 @@ public:
G4Visible ();
G4Visible (const G4Visible& visible);
G4Visible& operator = (const G4Visible& right);
G4Visible (const G4VisAttributes* pVA);
virtual ~G4Visible ();
virtual G4Visible& operator = (const G4Visible& right);
virtual G4bool operator == (const G4Visible& right) const;
const G4VisAttributes* GetVisAttributes () const;
void SetVisAttributes (const G4VisAttributes* pVA);
+2 -7
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Visible.icc,v 2.0 1998/07/02 17:30:38 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: G4Visible.icc,v 1.2 1999/05/12 16:11:00 johna Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 30th October 1996
@@ -17,11 +17,6 @@ inline G4Visible::G4Visible (const G4Visible& visible):
fpVisAttributes (visible.fpVisAttributes)
{}
inline G4Visible& G4Visible::operator = (const G4Visible& right) {
fpVisAttributes = right.fpVisAttributes;
return *this;
}
inline G4Visible::G4Visible (const G4VisAttributes* pVA):
fpVisAttributes (pVA)
{}