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
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PropagatorInField.icc,v 1.18.2.2 2001/06/28 20:18:53 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PropagatorInField.icc,v 1.25 2001/12/08 00:07:24 japost Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// ------------------------------------------------------------------------
@@ -48,15 +48,21 @@ G4PropagatorInField::G4PropagatorInField(G4Navigator *theNavigator,
End_PointAndTangent(G4ThreeVector(0.,0.,0.),
G4ThreeVector(0.,0.,0.),0.0,0.0,0.0,0.0,0.0),
fVerboseLevel(0),
fmax_loop_count(10000)
fEpsilonMin(fEpsilonMinDefault),
fEpsilonMax(fEpsilonMaxDefault),
fmax_loop_count(10000),
fNoZeroStep(0)
{
// this->fChordFinder = new G4ChordFinder( (G4MagneticField*)0, 1e-6 );
fNoZeroStep=0;
fThresholdNo_ZeroSteps= 2;
fActionThreshold_NoZeroSteps= 2;
fSevereActionThreshold_NoZeroSteps= 10;
fAbandonThreshold_NoZeroSteps= 50;
// fMidPoint_CurveLen_of_LastAttempt= -1;
fFull_CurveLen_of_LastAttempt= -1;
fLast_ProposedStepLength= -1;
fLargestAcceptableStep= 1000.0 * meter;
}
inline
@@ -186,3 +192,39 @@ void G4PropagatorInField::SetMinimumEpsilonStep(G4double newEpsMin)
if( (newEpsMin > 0.0) && (fabs(1.0+newEpsMin)>1.0) )
fEpsilonMin= newEpsMin;
}
inline void G4PropagatorInField::SetLargestAcceptableStep(G4double newBigDist)
{if(fLargestAcceptableStep>0.0) fLargestAcceptableStep= newBigDist; }
inline G4double G4PropagatorInField::GetLargestAcceptableStep()
{return fLargestAcceptableStep;}
inline G4FieldManager* G4PropagatorInField::GetCurrentFieldManager()
{ return fCurrentFieldMgr; }
inline void G4PropagatorInField::SetThresholdNoZeroStep( G4int noAct, G4int noHarsh, G4int noAbandon)
{
if(noAct>0)
fActionThreshold_NoZeroSteps= noAct;
if( noHarsh > fActionThreshold_NoZeroSteps)
fSevereActionThreshold_NoZeroSteps= noHarsh;
else
fSevereActionThreshold_NoZeroSteps= 2*(fActionThreshold_NoZeroSteps+1);
if( noAbandon > fSevereActionThreshold_NoZeroSteps+5)
fAbandonThreshold_NoZeroSteps= noAbandon;
else
fAbandonThreshold_NoZeroSteps= 2*(fSevereActionThreshold_NoZeroSteps+3);
}
inline G4int G4PropagatorInField::GetThresholdNoZeroSteps(G4int i)
{
G4int t=0;
if( i==0 ) { t = 3; } // No of parameters
else if (i==1) { t = fActionThreshold_NoZeroSteps; }
else if (i==2) { t = fSevereActionThreshold_NoZeroSteps; }
else if (i==3) { t = fAbandonThreshold_NoZeroSteps; }
return t;
}