Import Geant4 9.3.0 source tree
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4RegularNavigation.cc,v 1.7 2007/12/10 16:30:01 gunter Exp $
|
||||
// $Id: G4RegularNavigation.cc,v 1.9 2009/01/27 09:31:29 gcosmo Exp $
|
||||
// GEANT4 tag $ Name:$
|
||||
//
|
||||
// class G4RegularNavigation implementation
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "G4NormalNavigation.hh"
|
||||
#include "G4Navigator.hh"
|
||||
#include "G4GeometryTolerance.hh"
|
||||
#include "G4RegularNavigationHelper.hh"
|
||||
|
||||
//------------------------------------------------------------------
|
||||
G4RegularNavigation::G4RegularNavigation()
|
||||
@@ -133,21 +134,24 @@ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials(
|
||||
G4int& blockedReplicaNo,
|
||||
G4VPhysicalVolume* pCurrentPhysical)
|
||||
{
|
||||
G4RegularNavigationHelper::ClearStepLengths();
|
||||
|
||||
G4PhantomParameterisation *param =
|
||||
(G4PhantomParameterisation*)(pCurrentPhysical->GetParameterisation());
|
||||
|
||||
if( !param->SkipEqualMaterials() ) {
|
||||
if( !param->SkipEqualMaterials() )
|
||||
{
|
||||
return fnormalNav->ComputeStep(localPoint,
|
||||
localDirection,
|
||||
currentProposedStepLength,
|
||||
newSafety,
|
||||
history,
|
||||
validExitNormal,
|
||||
exitNormal,
|
||||
exiting,
|
||||
entering,
|
||||
pBlockedPhysical,
|
||||
blockedReplicaNo);
|
||||
localDirection,
|
||||
currentProposedStepLength,
|
||||
newSafety,
|
||||
history,
|
||||
validExitNormal,
|
||||
exitNormal,
|
||||
exiting,
|
||||
entering,
|
||||
pBlockedPhysical,
|
||||
blockedReplicaNo);
|
||||
}
|
||||
|
||||
|
||||
@@ -197,6 +201,7 @@ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials(
|
||||
for( ;; )
|
||||
{
|
||||
newStep = voxelBox->DistanceToOut( localPoint, localDirection );
|
||||
|
||||
if( (bFirstStep) && (newStep < currentProposedStepLength) )
|
||||
{
|
||||
exiting = true;
|
||||
@@ -213,6 +218,17 @@ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials(
|
||||
{
|
||||
return currentProposedStepLength;
|
||||
}
|
||||
if(totalNewStep > currentProposedStepLength)
|
||||
{
|
||||
G4RegularNavigationHelper::
|
||||
AddStepLength(copyNo, newStep-totalNewStep+currentProposedStepLength);
|
||||
return currentProposedStepLength;
|
||||
}
|
||||
else
|
||||
{
|
||||
G4RegularNavigationHelper::AddStepLength( copyNo, newStep );
|
||||
}
|
||||
|
||||
|
||||
// Move container point until wall of voxel
|
||||
//
|
||||
@@ -228,6 +244,7 @@ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials(
|
||||
copyNo = param->GetReplicaNo(containerPoint,localDirection);
|
||||
G4ThreeVector voxelTranslation = param->GetTranslation( copyNo );
|
||||
|
||||
// G4cout << " copyNo " << copyNo << " = " << pCurrentPhysical->GetCopyNo() << G4endl;
|
||||
// Move local point until wall of voxel and then put it in the new voxel
|
||||
// local coordinates
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user