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: G4VoxelNavigation.cc,v 1.6 2000/11/20 19:06:01 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VoxelNavigation.cc,v 1.7.2.1 2001/06/28 19:09:45 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4VoxelNavigation Implementation
@@ -217,10 +233,10 @@ G4double G4VoxelNavigation::ComputeVoxelSafety(const G4ThreeVector&localPoint) c
localVoxelDepth=fVoxelDepth;
curHeader=fVoxelHeaderStack(localVoxelDepth);
curHeaderAxis=fVoxelAxisStack(localVoxelDepth);
curNodeNo=fVoxelNodeNoStack(localVoxelDepth);
curNodeWidth=fVoxelSliceWidthStack(localVoxelDepth);
curHeader=fVoxelHeaderStack[localVoxelDepth];
curHeaderAxis=fVoxelAxisStack[localVoxelDepth];
curNodeNo=fVoxelNodeNoStack[localVoxelDepth];
curNodeWidth=fVoxelSliceWidthStack[localVoxelDepth];
// Compute linear intersection distance to boundaries of max/min
// to collected nodes at current level
@@ -254,10 +270,10 @@ G4double G4VoxelNavigation::ComputeVoxelSafety(const G4ThreeVector&localPoint) c
{
localVoxelDepth--;
curHeader=fVoxelHeaderStack(localVoxelDepth);
curHeaderAxis=fVoxelAxisStack(localVoxelDepth);
curNodeNo=fVoxelNodeNoStack(localVoxelDepth);
curNodeWidth=fVoxelSliceWidthStack(localVoxelDepth);
curHeader=fVoxelHeaderStack[localVoxelDepth];
curHeaderAxis=fVoxelAxisStack[localVoxelDepth];
curNodeNo=fVoxelNodeNoStack[localVoxelDepth];
curNodeWidth=fVoxelSliceWidthStack[localVoxelDepth];
curNodeOffset=curNodeNo*curNodeWidth;
minCurCommonDelta=localPoint(curHeaderAxis)
-curHeader->GetMinExtent()
@@ -314,10 +330,10 @@ G4bool G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint,
{
targetPoint=localPoint+localDirection*currentDistance;
newDistance= currentDistance;
workHeader=fVoxelHeaderStack(depth);
workHeaderAxis=fVoxelAxisStack(depth);
workNodeNo=fVoxelNodeNoStack(depth);
workNodeWidth=fVoxelSliceWidthStack(depth);
workHeader=fVoxelHeaderStack[depth];
workHeaderAxis=fVoxelAxisStack[depth];
workNodeNo=fVoxelNodeNoStack[depth];
workNodeWidth=fVoxelSliceWidthStack[depth];
workMinExtent=workHeader->GetMinExtent();
workCoord=targetPoint(workHeaderAxis);
@@ -350,10 +366,10 @@ G4bool G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint,
// Check if end of Step within collected boundaries of current voxel
depth=fVoxelDepth;
{
workHeader=fVoxelHeaderStack(depth);
workHeaderAxis=fVoxelAxisStack(depth);
workNodeNo=fVoxelNodeNoStack(depth);
workNodeWidth=fVoxelSliceWidthStack(depth);
workHeader=fVoxelHeaderStack[depth];
workHeaderAxis=fVoxelAxisStack[depth];
workNodeNo=fVoxelNodeNoStack[depth];
workNodeWidth=fVoxelSliceWidthStack[depth];
workMinExtent=workHeader->GetMinExtent();
workCoord=targetPoint(workHeaderAxis);
@@ -400,7 +416,7 @@ G4bool G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint,
{
// Compute intersection point on the least refined voxel boundary that is Hit
voxelPoint=localPoint+localDirection*newDistance;
fVoxelNodeNoStack(newDepth)=newNodeNo;
fVoxelNodeNoStack[newDepth]=newNodeNo;
fVoxelDepth=newDepth;
newVoxelNode=0;
@@ -430,11 +446,11 @@ G4bool G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint,
newNodeNo=newHeaderNoSlices-1;
}
// Stack info for stepping
fVoxelAxisStack(fVoxelDepth)=newHeaderAxis;
fVoxelNoSlicesStack(fVoxelDepth)=newHeaderNoSlices;
fVoxelSliceWidthStack(fVoxelDepth)=newHeaderNodeWidth;
fVoxelNodeNoStack(fVoxelDepth)=newNodeNo;
fVoxelHeaderStack(fVoxelDepth)=newHeader;
fVoxelAxisStack[fVoxelDepth]=newHeaderAxis;
fVoxelNoSlicesStack[fVoxelDepth]=newHeaderNoSlices;
fVoxelSliceWidthStack[fVoxelDepth]=newHeaderNodeWidth;
fVoxelNodeNoStack[fVoxelDepth]=newNodeNo;
fVoxelHeaderStack[fVoxelDepth]=newHeader;
}
}