Import Geant4 3.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:10:37 +02:00
parent 137e303ecc
commit 36c080dca6
3464 changed files with 119310 additions and 52696 deletions
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4ClippablePolygon.cc,v 1.4 2000/11/13 08:11:39 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4ClippablePolygon.cc,v 1.5.2.1 2001/06/28 19:09:24 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -42,7 +58,7 @@ G4ClippablePolygon::~G4ClippablePolygon()
//
void G4ClippablePolygon::AddVertexInOrder( const G4ThreeVector vertex )
{
vertices.append( vertex );
vertices.push_back( vertex );
}
@@ -67,7 +83,7 @@ G4bool G4ClippablePolygon::Clip( const G4VoxelLimits &voxelLimit )
ClipAlongOneAxis( voxelLimit, kZAxis );
}
return (vertices.entries() > 0);
return (vertices.size() > 0);
}
@@ -84,7 +100,7 @@ G4bool G4ClippablePolygon::PartialClip( const G4VoxelLimits &voxelLimit, const E
if (IgnoreMe != kZAxis) ClipAlongOneAxis( voxelLimit, kZAxis );
}
return (vertices.entries() > 0);
return (vertices.size() > 0);
}
@@ -97,7 +113,7 @@ G4bool G4ClippablePolygon::GetExtent( const EAxis axis,
//
// Okay, how many entries do we have?
//
G4int noLeft = vertices.entries();
G4int noLeft = vertices.size();
//
// Return false if nothing is left
@@ -107,14 +123,14 @@ G4bool G4ClippablePolygon::GetExtent( const EAxis axis,
//
// Initialize min and max to our first vertex
//
min = max = vertices(0).operator()( axis );
min = max = vertices[0].operator()( axis );
//
// Compare to the rest
//
G4int i;
for( i=1; i<noLeft; i++ ) {
G4double component = vertices(i).operator()( axis );
G4double component = vertices[i].operator()( axis );
if (component < min )
min = component;
else if (component > max )
@@ -133,7 +149,7 @@ G4bool G4ClippablePolygon::GetExtent( const EAxis axis,
//
const G4ThreeVector *G4ClippablePolygon::GetMinPoint( const EAxis axis ) const
{
G4int noLeft = vertices.entries();
G4int noLeft = vertices.size();
if (noLeft==0) G4Exception( "G4ClippablePolygon::GetMinPoint -- empty polygon" );
const G4ThreeVector *answer = &(vertices[0]);
@@ -141,7 +157,7 @@ const G4ThreeVector *G4ClippablePolygon::GetMinPoint( const EAxis axis ) const
G4int i;
for( i=1; i<noLeft; i++ ) {
G4double component = vertices(i).operator()( axis );
G4double component = vertices[i].operator()( axis );
if (component < min) {
answer = &(vertices[i]);
min = component;
@@ -160,7 +176,7 @@ const G4ThreeVector *G4ClippablePolygon::GetMinPoint( const EAxis axis ) const
//
const G4ThreeVector *G4ClippablePolygon::GetMaxPoint( const EAxis axis ) const
{
G4int noLeft = vertices.entries();
G4int noLeft = vertices.size();
if (noLeft==0) G4Exception( "G4ClippablePolygon::GetMaxPoint -- empty polygon" );
const G4ThreeVector *answer = &(vertices[0]);
@@ -168,7 +184,7 @@ const G4ThreeVector *G4ClippablePolygon::GetMaxPoint( const EAxis axis ) const
G4int i;
for( i=1; i<noLeft; i++ ) {
G4double component = vertices(i).operator()( axis );
G4double component = vertices[i].operator()( axis );
if (component > max) {
answer = &(vertices[i]);
max = component;
@@ -200,7 +216,7 @@ G4bool G4ClippablePolygon::InFrontOf( const G4ClippablePolygon &other, EAxis axi
//
// If things are empty, do something semi-sensible
//
G4int noLeft = vertices.entries();
G4int noLeft = vertices.size();
if (noLeft==0) return false;
if (other.Empty()) return true;
@@ -260,7 +276,7 @@ G4bool G4ClippablePolygon::BehindOf( const G4ClippablePolygon &other, EAxis axis
//
// If things are empty, do something semi-sensible
//
G4int noLeft = vertices.entries();
G4int noLeft = vertices.size();
if (noLeft==0) return false;
if (other.Empty()) return true;
@@ -322,7 +338,7 @@ G4bool G4ClippablePolygon::GetPlanerExtent( const G4ThreeVector &pointOnPlane,
//
// Okay, how many entries do we have?
//
G4int noLeft = vertices.entries();
G4int noLeft = vertices.size();
//
// Return false if nothing is left
@@ -332,14 +348,14 @@ G4bool G4ClippablePolygon::GetPlanerExtent( const G4ThreeVector &pointOnPlane,
//
// Initialize min and max to our first vertex
//
min = max = planeNormal.dot(vertices(0)-pointOnPlane);
min = max = planeNormal.dot(vertices[0]-pointOnPlane);
//
// Compare to the rest
//
G4int i;
for( i=1; i<noLeft; i++ ) {
G4double component = planeNormal.dot(vertices(i) - pointOnPlane);
G4double component = planeNormal.dot(vertices[i] - pointOnPlane);
if (component < min )
min = component;
else if (component > max )
@@ -372,7 +388,7 @@ void G4ClippablePolygon::ClipAlongOneAxis( const G4VoxelLimits &voxelLimit, cons
// If nothing is left from the above clip, we might as well return now
// (but with an empty vertices)
//
if (tempPolygon.entries() == 0) {
if (tempPolygon.size() == 0) {
vertices.clear();
return;
}
@@ -388,7 +404,7 @@ void G4ClippablePolygon::ClipAlongOneAxis( const G4VoxelLimits &voxelLimit, cons
//
// If nothing is left, return now
//
if (vertices.entries() == 0) return;
if (vertices.size() == 0) return;
}
@@ -403,21 +419,21 @@ void G4ClippablePolygon::ClipToSimpleLimits( G4ThreeVectorList& pPolygon,
const G4VoxelLimits& pVoxelLimit )
{
G4int i;
G4int noVertices=pPolygon.entries();
G4int noVertices=pPolygon.size();
G4ThreeVector vEnd,vStart;
outputPolygon.clear();
for (i=0;i<noVertices;i++)
{
vStart=pPolygon(i);
vStart=pPolygon[i];
if (i==noVertices-1)
{
vEnd=pPolygon(0);
vEnd=pPolygon[0];
}
else
{
vEnd=pPolygon(i+1);
vEnd=pPolygon[i+1];
}
if (pVoxelLimit.Inside(vStart))
@@ -425,13 +441,13 @@ void G4ClippablePolygon::ClipToSimpleLimits( G4ThreeVectorList& pPolygon,
if (pVoxelLimit.Inside(vEnd))
{
// vStart and vEnd inside -> output end point
outputPolygon.insert(vEnd);
outputPolygon.push_back(vEnd);
}
else
{
// vStart inside, vEnd outside -> output crossing point
pVoxelLimit.ClipToLimits(vStart,vEnd);
outputPolygon.insert(vEnd);
outputPolygon.push_back(vEnd);
}
}
@@ -441,8 +457,8 @@ void G4ClippablePolygon::ClipToSimpleLimits( G4ThreeVectorList& pPolygon,
{
// vStart outside, vEnd inside -> output inside section
pVoxelLimit.ClipToLimits(vStart,vEnd);
outputPolygon.insert(vStart);
outputPolygon.insert(vEnd);
outputPolygon.push_back(vStart);
outputPolygon.push_back(vEnd);
}
else
// Both point outside -> no output
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4EllipticalTube.cc,v 1.9 2000/11/20 18:18:58 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4EllipticalTube.cc,v 1.9.4.1 2001/06/28 19:09:24 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4EnclosingCylinder.cc,v 1.2 2000/11/02 16:54:50 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4EnclosingCylinder.cc,v 1.2.4.1 2001/06/28 19:09:25 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
+23 -7
View File
@@ -1,13 +1,29 @@
// 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.
// ********************************************************************
// * 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: G4Hype.cc,v 1.6 2001/01/04 18:30:50 davidw Exp $
//
// $Id: G4Hype.cc,v 1.6.2.1 2001/06/28 19:09:25 gunter Exp $
// $Original: G4Hype.cc,v 1.0 1998/06/09 16:57:50 safai Exp $
// GEANT4 tag $Name: geant4-03-01 $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4IntersectingCone.cc,v 1.3 2001/03/30 18:44:10 davidw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4IntersectingCone.cc,v 1.3.2.1 2001/06/28 19:09:25 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4PolyPhiFace.cc,v 1.3 2000/11/20 18:18:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4PolyPhiFace.cc,v 1.3.4.1 2001/06/28 19:09:25 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4Polycone.cc,v 1.4 2000/11/02 16:54:50 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Polycone.cc,v 1.4.4.1 2001/06/28 19:09:25 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4PolyconeSide.cc,v 1.3 2000/11/20 18:18:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4PolyconeSide.cc,v 1.3.4.1 2001/06/28 19:09:25 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4Polyhedra.cc,v 1.2 2000/11/02 16:54:50 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Polyhedra.cc,v 1.2.4.1 2001/06/28 19:09:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4PolyhedraSide.cc,v 1.3 2000/11/20 18:19:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4PolyhedraSide.cc,v 1.3.4.1 2001/06/28 19:09:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4ReduciblePolygon.cc,v 1.3 2000/11/20 18:19:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4ReduciblePolygon.cc,v 1.3.4.1 2001/06/28 19:09:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4SolidExtentList.cc,v 1.1 2000/04/07 11:03:23 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4SolidExtentList.cc,v 1.1.4.1 2001/06/28 19:09:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------
@@ -1,11 +1,33 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
// 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: G4VCSGfaceted.cc,v 1.6 2000/11/20 18:19:01 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
// $Id: G4VCSGfaceted.cc,v 1.6.4.1 2001/06/28 19:09:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// --------------------------------------------------------------------