Import Geant4 4.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:18:25 +02:00
parent 36c080dca6
commit 921d3b1cda
3990 changed files with 185376 additions and 82884 deletions
+19 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.32 2001/05/25 13:38:51 johna Exp $
$Id: History,v 1.37 2001/09/10 10:27:18 johna Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,24 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
10th September 2001 John Allison (greps-V03-02-04)
- Added G4Scale::GuidanceString.
20th August 2001 John Allison (greps-V03-02-03)
- Made typedef's public in G4Point3DList.hh and G4Polyline.hh.
14th August 2001 John Allison (greps-V03-02-02)
- Coworks with vis-V03-02-11 and intercoms-V03-02-03.
- Added G4Polyline::transform.
- Fixed pedantic warnings in G4NURBS.
24th July May 2001 John Allison (greps-V03-02-01)
- Improvements to comments and layout in G4VisExtent.
- Cosmetic improvements to G4Scale, small change of interface.
21st July May 2001 John Allison (greps-V03-02-00)
- Added G4Scale.
25th May 2001 John Allison (greps-V03-01-02)
- Added GetSurfaceArea() and GetVolume() to HepPolyhedron (Evgeni).
- Bug fix in BooleanProcessor.src (Guy, Evgeni).
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Circle.hh,v 1.5.2.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Circle.hh,v 1.6 2001/07/11 10:01:01 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 17/11/96.
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Color.hh,v 1.3.4.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Color.hh,v 1.4 2001/07/11 10:01:01 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 20th October 1996
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Colour.hh,v 1.5.4.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Colour.hh,v 1.6 2001/07/11 10:01:01 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 20th October 1996
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBS.hh,v 1.5.4.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBS.hh,v 1.6 2001/07/11 10:01:01 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// Olivier Crumeyrolle 12 September 1996
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBSbox.hh,v 1.5.4.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBSbox.hh,v 1.6 2001/07/11 10:01:01 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBScylinder.hh,v 1.5.4.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBScylinder.hh,v 1.6 2001/07/11 10:01:02 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBShexahedron.hh,v 1.5.4.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBShexahedron.hh,v 1.6 2001/07/11 10:01:02 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// Hexa hedron builder prototype
// OC 17 9 96
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBStube.hh,v 1.5.4.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBStube.hh,v 1.6 2001/07/11 10:01:02 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBStubesector.hh,v 1.4.4.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBStubesector.hh,v 1.5 2001/07/11 10:01:02 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PlacedPolyhedron.hh,v 1.8.2.1 2001/06/28 19:10:08 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PlacedPolyhedron.hh,v 1.9 2001/07/11 10:01:02 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
// Class Description:
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Point3DList.hh,v 1.7.2.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Point3DList.hh,v 1.10 2001/08/20 23:28:42 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison July 1995
@@ -39,11 +39,13 @@
#include "g4std/iostream"
class G4Point3DList: public G4std::vector<G4Point3D> {
friend G4std::ostream& operator << (G4std::ostream& os, const G4Point3DList& points);
friend G4std::ostream& operator << (G4std::ostream& os, const G4Point3DList& points);
public:
typedef G4std::vector<G4Point3D>::iterator iterator;
virtual ~G4Point3DList();
};
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Polyhedron.hh,v 1.9.2.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Polyhedron.hh,v 1.10 2001/07/11 10:01:02 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
#ifndef G4POLYHEDRON_HH
#define G4POLYHEDRON_HH
+8 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Polyline.hh,v 1.6.2.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Polyline.hh,v 1.9 2001/08/20 23:28:43 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison July 1995
@@ -40,17 +40,23 @@
#include "G4VVisPrim.hh"
#include "G4Point3DList.hh"
#include "G4Transform3D.hh"
class G4Polyline: public G4VVisPrim, public G4Point3DList {
friend G4std::ostream& operator << (G4std::ostream& os, const G4Polyline& line);
public: // With description
typedef G4Point3DList::iterator iterator;
G4Polyline ();
G4Polyline (const G4VVisPrim& prim);
virtual ~G4Polyline ();
virtual G4Visible& operator = (const G4Visible& right);
virtual G4VVisPrim& operator = (const G4VVisPrim& right);
virtual G4Polyline& operator = (const G4Polyline& right);
G4Polyline& transform (const G4Transform3D&);
};
#endif
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Polymarker.hh,v 1.6.2.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Polymarker.hh,v 1.7 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison November 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Polymarker.icc,v 1.2.4.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Polymarker.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison November 1996
+90
View File
@@ -0,0 +1,90 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * 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: G4Scale.hh,v 1.3 2001/09/10 10:28:24 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 21st July 2001.
#ifndef G4SCALE_HH
#define G4SCALE_HH
#include "G4VMarker.hh"
#include "globals.hh"
class G4Scale: public G4VMarker {
public: // With description
enum Direction {x, y, z};
G4Scale (G4double length, const G4String& annotation = "",
Direction direction = x,
G4bool autoPlacing = true,
G4double xmid = 0., G4double ymid = 0., G4double zmid = 0.);
// This creates a representation of annotated line in the specified
// direction with tick marks at the end. If autoPlacing is true it
// is required to be centred at the front, right, bottom corner of
// the world space, comfortably outside the existing bounding
// box/sphere so that existing objects do not obscure it. Otherwise
// it is required to be drawn with mid-point at (xmid, ymid, zmid).
//
// The auto placing algorithm might be:
// x = xmin + (1 + comfort) * (xmax - xmin)
// y = ymin - comfort * (ymax - ymin)
// z = zmin + (1 + comfort) * (zmax - zmin)
// if direction == x then (x - length,y,z) to (x,y,z)
// if direction == y then (x,y,z) to (x,y + length,z)
// if direction == z then (x,y,z - length) to (x,y,z)
// Uses compiler-generated copy constructor.
virtual ~G4Scale ();
virtual G4Visible& operator = (const G4Visible& from);
virtual G4VVisPrim& operator = (const G4VVisPrim& from);
virtual G4VMarker& operator = (const G4VMarker& from);
virtual G4Scale& operator = (const G4Scale& from);
G4double GetLength() const;
const G4String& GetAnnotation() const;
Direction GetDirection() const;
G4bool GetAutoPlacing() const;
G4double GetXmid() const;
G4double GetYmid() const;
G4double GetZmid() const;
static G4String GuidanceString;
private:
G4double fLength;
G4String fAnnotation;
Direction fDirection;
G4bool fAutoPlacing;
G4double fXmid, fYmid, fZmid;
};
#include "G4Scale.icc"
#endif
+55
View File
@@ -0,0 +1,55 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * 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: G4Scale.icc,v 1.2 2001/07/24 21:41:42 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 21st July 2001.
inline G4double G4Scale::GetLength() const {
return fLength;
}
inline const G4String& G4Scale::GetAnnotation() const {
return fAnnotation;
}
inline G4Scale::Direction G4Scale::GetDirection() const {
return fDirection;
}
inline G4bool G4Scale::GetAutoPlacing() const {
return fAutoPlacing;
}
inline G4double G4Scale::GetXmid() const {
return fXmid;
}
inline G4double G4Scale::GetYmid() const {
return fYmid;
}
inline G4double G4Scale::GetZmid() const {
return fZmid;
}
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Square.hh,v 1.4.4.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Square.hh,v 1.5 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 17/11/96.
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Square.icc,v 1.2.4.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Square.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 17/11/96.
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Text.hh,v 1.6.2.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Text.hh,v 1.7 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 17/11/96.
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Text.icc,v 1.2.4.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Text.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 17/11/96.
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VMarker.hh,v 1.6.4.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VMarker.hh,v 1.7 2001/07/11 10:01:03 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// G4VMarker - base class for markers - circles, squares, etc.
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VMarker.icc,v 1.5.2.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VMarker.icc,v 1.6 2001/07/11 10:01:04 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VVisPrim.hh,v 1.7.2.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VVisPrim.hh,v 1.8 2001/07/11 10:01:04 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison August 1995
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisAttributes.hh,v 1.6.4.1 2001/06/28 19:10:09 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VisAttributes.hh,v 1.7 2001/07/11 10:01:04 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 23rd October 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisAttributes.icc,v 1.3.4.1 2001/06/28 19:10:10 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VisAttributes.icc,v 1.4 2001/07/11 10:01:05 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 18th November 1996
+15 -5
View File
@@ -21,16 +21,26 @@
// ********************************************************************
//
//
// $Id: G4VisExtent.hh,v 1.4.4.1 2001/06/28 19:10:10 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VisExtent.hh,v 1.6 2001/07/24 21:39:43 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// A.Walkden 28/11/95
// Class Description:
// G4VisExtent is a class to prototype extent functions for use in
// instantiating Visualisation windows with an appropriate field of
// view for the object(s) being drawn.
// G4VisExtent defines a bounding box in a visualisable object's local
// coordinate system which includes the object.
// WARNING: it also attempts to support the concept of a bounding
// sphere. (This is used extensively in the G4 Visualisation System
// to calculate camera parameters, etc.) Be aware that this involves
// loss of information. Given a bounding box, one can calculate the
// bounding sphere; inverting this will produce a cube which *might*
// *not* include the object. E.g., a long thin object of length l
// will have a bounding sphere of diameter l; the corresponding cube
// will have side l/sqrt(3) so that the bounding sphere diameter is
// still l. Thus the long thin object will stick out of the cube.
// So, if you once use the concept of bounding sphere you must stick
// with it and abandon the concept of bounding box.
// Class Description - End:
#ifndef G4VISEXTENT_HH
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Visible.hh,v 1.6.4.1 2001/06/28 19:10:10 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Visible.hh,v 1.7 2001/07/11 10:01:06 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 30th October 1996
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Visible.icc,v 1.3.4.1 2001/06/28 19:10:10 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Visible.icc,v 1.4 2001/07/11 10:01:06 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 30th October 1996
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: HepPolyhedron.h,v 1.8.2.1 2001/06/28 19:10:10 gunter Exp $
// GEANT4 tag $Name: $
// $Id: HepPolyhedron.h,v 1.9 2001/07/11 10:01:06 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Class Description:
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Circle.cc,v 1.3.2.1 2001/06/28 19:10:10 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Circle.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Colour.cc,v 1.3.4.1 2001/06/28 19:10:10 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Colour.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 20th October 1996
+11 -7
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBS.cc,v 1.3.4.1 2001/06/28 19:10:10 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBS.cc,v 1.5 2001/08/14 18:24:29 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -121,8 +121,9 @@ G4float G4NURBS::GetfloatKnot(t_direction in_dir, t_indKnot in_index) const
else
{
G4cerr << "\nERROR: G4NURBS::GetfloatKnot: index out of range\n"
<< "\n\t in_dir : " << in_dir << ", in_index : " << in_index
<< "m[in_dir].nbrKnots : " << m[in_dir].nbrKnots << G4endl;
<< "\n\t in_dir : " << G4int(in_dir)
<< ", in_index : " << G4int(in_index)
<< "m[in_dir].nbrKnots : " << m[in_dir].nbrKnots << G4endl;
return ((G4float)m[in_dir].pKnots[m[in_dir].nbrKnots-1]);
};
}
@@ -135,8 +136,10 @@ G4double G4NURBS::GetdoubleKnot(t_direction in_dir, t_indKnot in_index) const
else
{
G4cerr << "\nERROR: G4NURBS::GetdoubleKnot: index out of range"
<< "\n\t in_dir : " << in_dir << ", in_index : " << in_index
<< "m[in_dir].nbrKnots : " << m[in_dir].nbrKnots << G4endl;
<< "\n\t in_dir : " << G4int(in_dir)
<< ", in_index : " << G4int(in_index)
<< "m[in_dir].nbrKnots : " << m[in_dir].nbrKnots
<< G4endl;
return (G4double)(m[in_dir].pKnots[m[in_dir].nbrKnots-1]);
};
}
@@ -366,7 +369,8 @@ G4bool G4NURBS::MakeKnotVector(t_Dir & io_d, t_KnotVectorGenFlag in_KVGFlag)
// central knots
for (t_indKnot j=0; j < nbrCentralDistinctKnots; valKnot += stepKnot, j++)
{
for (t_indKnot k=0; k < in_KVGFlag; indKnot++, k++)
for (t_indKnot k=0; k < t_indKnot(in_KVGFlag);
indKnot++, k++)
io_d.pKnots[indKnot] = valKnot;
};
}
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBSbox.cc,v 1.3.4.1 2001/06/28 19:10:11 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBSbox.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBScylinder.cc,v 1.3.4.1 2001/06/28 19:10:11 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBScylinder.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBShexahedron.cc,v 1.3.4.1 2001/06/28 19:10:11 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBShexahedron.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// hexahedron implementation
// OC 17 9 96
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBStube.cc,v 1.3.4.1 2001/06/28 19:10:11 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBStube.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NURBStubesector.cc,v 1.4.4.1 2001/06/28 19:10:11 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4NURBStubesector.cc,v 1.5 2001/07/11 10:01:08 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// Olivier Crumeyrolle 12 September 1996
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PlacedPolyhedron.cc,v 1.2.4.1 2001/06/28 19:10:11 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PlacedPolyhedron.cc,v 1.3 2001/07/11 10:01:08 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
#include "G4PlacedPolyhedron.hh"
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Point3DList.cc,v 1.4.2.1 2001/06/28 19:10:11 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Point3DList.cc,v 1.5 2001/07/11 10:01:08 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison July 1995
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Polyhedron.cc,v 1.10.2.1 2001/06/28 19:10:11 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Polyhedron.cc,v 1.11 2001/07/11 10:01:08 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
#include "G4Polyhedron.hh"
+7 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Polyline.cc,v 1.5.2.1 2001/06/28 19:10:12 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Polyline.cc,v 1.7 2001/08/14 18:24:58 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison July 1995
@@ -51,6 +51,11 @@ G4Polyline & G4Polyline::operator = (const G4Polyline &right) {
return *this;
}
G4Polyline& G4Polyline::transform (const G4Transform3D& transformation) {
for (iterator i = begin(); i != end(); ++i) i->transform(transformation);
return *this;
}
G4std::ostream& operator << (G4std::ostream& os, const G4Polyline& line) {
os << "G4Polyline: ";
os << '\n' << (G4VVisPrim) line;
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Polymarker.cc,v 1.6.2.1 2001/06/28 19:10:12 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Polymarker.cc,v 1.7 2001/07/11 10:01:08 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison November 1996
+85
View File
@@ -0,0 +1,85 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * 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: G4Scale.cc,v 1.4 2001/09/10 10:28:56 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 21st July 2001
#include "G4Scale.hh"
G4Scale::G4Scale (G4double length, const G4String& annotation,
G4Scale::Direction direction,
G4bool autoPlacing,
G4double xmid, G4double ymid, G4double zmid):
fLength(length),
fAnnotation(annotation),
fDirection(direction),
fAutoPlacing(autoPlacing),
fXmid(xmid), fYmid(ymid), fZmid(zmid) {}
G4Scale::~G4Scale () {}
G4Visible & G4Scale::operator = (const G4Visible &from) {
return G4Visible::operator = (from);
}
G4VVisPrim & G4Scale::operator = (const G4VVisPrim &from) {
return G4VVisPrim::operator = (from);
}
G4VMarker & G4Scale::operator = (const G4VMarker &from) {
return G4VMarker::operator = (from);
}
G4Scale & G4Scale::operator = (const G4Scale &from) {
if (&from == this) return *this;
G4VMarker::operator = (from);
fLength = from.fLength;
fAnnotation = from.fAnnotation;
fDirection = from.fDirection;
fAutoPlacing = from.fAutoPlacing;
fXmid = from.fXmid;
fYmid = from.fYmid;
fZmid = from.fZmid;
return *this;
}
G4String G4Scale::GuidanceString
(
"An annotated line in the specified direction with tick marks at the"
"\nend. If autoPlacing is true it is required to be centred at the"
"\nfront, right, bottom corner of the world space, comfortably outside"
"\nthe existing bounding box/sphere so that existing objects do not"
"\nobscure it. Otherwise it is required to be drawn with mid-point at"
"\n(xmid, ymid, zmid)."
"\n"
"\nThe auto placing algorithm might be:"
"\n x = xmin + (1 + comfort) * (xmax - xmin)"
"\n y = ymin - comfort * (ymax - ymin)"
"\n z = zmin + (1 + comfort) * (zmax - zmin)"
"\n if direction == x then (x - length,y,z) to (x,y,z)"
"\n if direction == y then (x,y,z) to (x,y + length,z)"
"\n if direction == z then (x,y,z - length) to (x,y,z)"
);
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Square.cc,v 1.2.4.1 2001/06/28 19:10:12 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Square.cc,v 1.3 2001/07/11 10:01:09 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Text.cc,v 1.5.2.1 2001/06/28 19:10:12 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Text.cc,v 1.6 2001/07/11 10:01:09 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 17/11/96.
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VMarker.cc,v 1.6.2.1 2001/06/28 19:10:12 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VMarker.cc,v 1.7 2001/07/11 10:01:09 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VVisPrim.cc,v 1.6.2.1 2001/06/28 19:10:13 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VVisPrim.cc,v 1.7 2001/07/11 10:01:09 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison August 1995
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisAttributes.cc,v 1.5.4.1 2001/06/28 19:10:13 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VisAttributes.cc,v 1.6 2001/07/11 10:01:09 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 23rd October 1996
+12 -14
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VisExtent.cc,v 1.4.4.1 2001/06/28 19:10:13 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VisExtent.cc,v 1.6 2001/07/24 21:39:50 johna Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// A.Walkden 28/11/95
@@ -40,24 +40,22 @@ G4VisExtent::G4VisExtent (G4double xmin, G4double xmax,
{}
G4VisExtent::G4VisExtent (const G4Point3D& centre, G4double radius) {
// Use inscribed radius to define G3VisExtent so that
// GetExtentRadius gets radius back again. The one is the "inverse"
// of the other, so to speak.
G4double inscribedRadius = radius / sqrt (3.);
fXmin = centre.x () - inscribedRadius;
fXmax = centre.x () + inscribedRadius;
fYmin = centre.y () - inscribedRadius;
fYmax = centre.y () + inscribedRadius;
fZmin = centre.z () - inscribedRadius;
fZmax = centre.z () + inscribedRadius;
// Use exscribed radius ... see comments in header file.
G4double halfSide (radius / sqrt (3.));
fXmin = centre.x () - halfSide;
fXmax = centre.x () + halfSide;
fYmin = centre.y () - halfSide;
fYmax = centre.y () + halfSide;
fZmin = centre.z () - halfSide;
fZmax = centre.z () + halfSide;
}
G4VisExtent::~G4VisExtent () {}
G4Point3D G4VisExtent::GetExtentCentre () const {
return G4Point3D (((fXmin + fXmax) / 2.),
((fYmin + fYmax) / 2.),
((fZmin + fZmax) / 2.));
((fYmin + fYmax) / 2.),
((fZmin + fZmax) / 2.));
}
G4double G4VisExtent::GetExtentRadius () const {
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Visible.cc,v 1.3.4.1 2001/06/28 19:10:13 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Visible.cc,v 1.4 2001/07/11 10:01:09 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// John Allison 30th October 1996
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: HepPolyhedron.cc,v 1.8.2.1 2001/06/28 19:10:13 gunter Exp $
// GEANT4 tag $Name: $
// $Id: HepPolyhedron.cc,v 1.9 2001/07/11 10:01:10 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//