Import Geant4 7.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 11:11:55 +02:00
parent e083ffb441
commit 516dbf1a58
5914 changed files with 202605 additions and 71141 deletions
+7 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.20 2003/12/12 13:21:03 gcosmo Exp $
$Id: History,v 1.22 2004/12/07 08:22:11 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,12 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
December 07, 2004 G. Cosmo - param-V06-02-01
- Implemented migration to <cmath>.
November 26, 2004 M. Verderi - param-V06-02-00
- Implemented migration to new G4VParticleChange interfaces.
December 12, 2003 G. Cosmo - param-V06-00-00
- G4FastSimulationVector.icc: use std_pvector:: scope for calls to
base class. Fixes compilation problem on Intel-icc compiler.
@@ -22,7 +22,7 @@
//
//
// $Id: G4FastSimulationManager.hh,v 1.8 2002/11/02 00:10:34 mverderi Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4FastSimulationManagerProcess.hh,v 1.8 2001/07/11 10:08:23 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4FastSimulationMessenger.hh,v 1.4 2001/07/11 10:08:23 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// GEANT 4 class header file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FastStep.hh,v 1.6 2001/07/11 10:08:23 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4FastStep.hh,v 1.7 2004/11/25 23:34:13 mverderi Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -52,6 +52,8 @@
// Set/GetTotalEnergyDeposited() methods.
// Apr 98: MoraDeFreitas - G4FastStep becomes the G4ParticleChange
// for the Fast Simulation Process.
// Nov 04: Verderi - Add ProposeXXX methods. SetXXX ones are kept
// for backward compatibility.
//
//---------------------------------------------------------------
@@ -75,13 +77,12 @@ class G4DynamicParticle;
// Class Description:
// The final state of the particles after parameterisation has to be returned through a G4FastStep
// reference. This final state is described has "requests" the tracking will apply after your
// reference. This final state is described as "requests" the tracking will apply after your
// parameterisation has been invoked.
//
// To facilitate the developers work, changes of position/normalized direction of the
// momentum/polarization can be specified in the local coordinate system of the envelope or in the
// global one.
//
// The default is local system coordinates.
//
@@ -95,41 +96,72 @@ public: // with Description
// -- Methods used to change the position, normalized direction of
// the momentum, time etc... of the primary.
// .. space and time:
void SetPrimaryTrackFinalPosition (const G4ThreeVector &,
G4bool localCoordinates = true);
// Set the primary position.
void ProposePrimaryTrackFinalPosition (const G4ThreeVector &,
G4bool localCoordinates = true);
// Set the primary track final position.
void SetPrimaryTrackFinalPosition (const G4ThreeVector &,
G4bool localCoordinates = true);
// Set the primary track final position -- maintained for backward compatibility.
void ProposePrimaryTrackFinalTime (G4double);
// Set the primary track final time.
void SetPrimaryTrackFinalTime (G4double);
// Set the primary track final time -- maintained for backward compatibility.
void SetPrimaryTrackFinalTime (G4double);
// Set the primary final time.
void SetPrimaryTrackFinalProperTime (G4double);
// Set the primary final Proper Time.
void ProposePrimaryTrackFinalProperTime (G4double);
// Set the primary final track Proper Time.
void SetPrimaryTrackFinalProperTime (G4double);
// Set the primary final track Proper Time -- maintained for backward compatibility.
// .. dynamics:
void ProposePrimaryTrackFinalMomentumDirection (const G4ThreeVector &,
G4bool localCoordinates = true);
// Be careful: the Track Final Momentum means the normalized direction
// of the momentum!
void SetPrimaryTrackFinalMomentum (const G4ThreeVector &,
G4bool localCoordinates = true);
// Set the primary final momentum.
void SetPrimaryTrackFinalMomentum (const G4ThreeVector &,
G4bool localCoordinates = true);
// Set the primary track final momentum -- maintained for backward compatibility. Same as ProposePrimaryTrackMomentumDirection(...)
void SetPrimaryTrackFinalKineticEnergy (G4double);
// Set the primary final kinetic energy.
void SetPrimaryTrackFinalKineticEnergyAndDirection(G4double,
const G4ThreeVector &,
G4bool localCoordinates
= true);
// Set the primary final kinetic energy and direction.
void ProposePrimaryTrackFinalKineticEnergy (G4double);
// Set the primary track final kinetic energy.
void SetPrimaryTrackFinalKineticEnergy (G4double);
// Set the primary track final kinetic energy-- maintained for backward compatibility.
void SetPrimaryTrackFinalPolarization(const G4ThreeVector &,
G4bool localCoordinates = true);
// Set the primary final polarization.
void SetPrimaryTrackPathLength (G4double);
// Set the true path length of the primary during the step.
void ProposePrimaryTrackFinalKineticEnergyAndDirection(G4double,
const G4ThreeVector &,
G4bool localCoordinates
= true);
// Set the primary track final kinetic energy and direction.
void SetPrimaryTrackFinalKineticEnergyAndDirection(G4double,
const G4ThreeVector &,
G4bool localCoordinates
= true);
// Set the primary track final kinetic energy and direction -- maintained for backward compatibility.
void SetPrimaryTrackFinalEventBiasingWeight (G4double);
void ProposePrimaryTrackFinalPolarization(const G4ThreeVector &,
G4bool localCoordinates = true);
// Set the primary track final polarization.
void SetPrimaryTrackFinalPolarization(const G4ThreeVector &,
G4bool localCoordinates = true);
// Set the primary track final polarization.
void ProposePrimaryTrackPathLength (G4double);
// Set the true path length of the primary track during the step.
void SetPrimaryTrackPathLength (G4double);
// Set the true path length of the primary track during the step -- maintained for backward compatibility.
void ProposePrimaryTrackFinalEventBiasingWeight (G4double);
// Set the weight applied for event biasing mechanism.
void SetPrimaryTrackFinalEventBiasingWeight (G4double);
// Set the weight applied for event biasing mechanism -- kept for backward compatibility.
// ------------------------------
// -- Management of secondaries:
@@ -215,8 +247,10 @@ public: // with Description
// information in the G4Trajectory.
//
//------------------------------------------------
void SetTotalEnergyDeposited(G4double anEnergyPart);
void ProposeTotalEnergyDeposited(G4double anEnergyPart);
// Set the total energy deposited.
void SetTotalEnergyDeposited(G4double anEnergyPart);
// Set the total energy deposited -- kept for backward compatibility.
// It should be the delta energy of primary less the energy of the secondaries.
G4double GetTotalEnergyDeposited() const;
@@ -21,22 +21,34 @@
// ********************************************************************
//
//
// $Id: G4FastStep.icc,v 1.3 2001/07/11 10:08:24 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4FastStep.icc,v 1.4 2004/11/25 23:34:13 mverderi Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $id: G4ParticleChange.icc,v 1.6 1998/04/14 02:25:54 kurasige Exp $
inline void
G4FastStep::SetPrimaryTrackFinalTime(G4double time)
G4FastStep::ProposePrimaryTrackFinalTime(G4double time)
{
theTimeChange = time;
}
inline void
G4FastStep::SetPrimaryTrackFinalProperTime(G4double properTime)
G4FastStep:: SetPrimaryTrackFinalTime(G4double time)
{
ProposePrimaryTrackFinalTime(time);
}
inline void
G4FastStep::ProposePrimaryTrackFinalProperTime(G4double properTime)
{
theProperTimeChange = properTime;
}
inline void
G4FastStep:: SetPrimaryTrackFinalProperTime(G4double properTime)
{
ProposePrimaryTrackFinalProperTime(properTime);
}
inline void
G4FastStep::
@@ -45,10 +57,16 @@ SetPrimaryTrackFinalKineticEnergy(G4double kineticEnergy)
theEnergyChange = kineticEnergy;
}
inline void
G4FastStep::ProposePrimaryTrackPathLength(G4double pathLength)
{
ProposeTrueStepLength(pathLength);
}
inline void
G4FastStep::SetPrimaryTrackPathLength(G4double pathLength)
{
SetTrueStepLength(pathLength);
ProposePrimaryTrackPathLength(pathLength);
}
//-----------------------------------------
//
@@ -77,9 +95,13 @@ inline G4Track* G4FastStep::GetSecondaryTrack(G4int i)
//---------------------------------------
//
//---------------------------------------
inline void G4FastStep::ProposeTotalEnergyDeposited(G4double anEnergyPart)
{
ProposeLocalEnergyDeposit(anEnergyPart);
}
inline void G4FastStep::SetTotalEnergyDeposited(G4double anEnergyPart)
{
SetLocalEnergyDeposit(anEnergyPart);
ProposeTotalEnergyDeposited(anEnergyPart);
}
@@ -91,7 +113,7 @@ inline G4double G4FastStep::GetTotalEnergyDeposited() const
inline void G4FastStep::ForceSteppingHitInvocation()
{
SetSteppingControl(NormalCondition);
ProposeSteppingControl(NormalCondition);
}
inline
@@ -105,14 +127,21 @@ void G4FastStep::SetMomentumChange(
theMomentumChange.setZ(Pz);
}
inline
void G4FastStep::SetMomentumChange(const G4ThreeVector& P)
{
theMomentumChange = P;
}
inline
void G4FastStep::SetPrimaryTrackFinalEventBiasingWeight (G4double w)
void G4FastStep::ProposePrimaryTrackFinalEventBiasingWeight (G4double w)
{
theWeightChange = w;
}
inline
void G4FastStep::SetPrimaryTrackFinalEventBiasingWeight (G4double w)
{
ProposePrimaryTrackFinalEventBiasingWeight(w);
}
@@ -22,7 +22,7 @@
//
//
// $Id: G4FastTrack.hh,v 1.5 2001/07/11 10:08:24 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
// $Id:
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4FlavoredParallelWorld.hh,v 1.5 2001/07/11 10:08:24 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4GlobalFastSimulationManager.hh,v 1.9 2002/11/02 00:10:34 mverderi Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4VFastSimulationModel.hh,v 1.5 2003/05/21 16:32:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4FastSimulationManager.cc,v 1.8 2002/11/15 11:41:56 stesting Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//---------------------------------------------------------------
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FastSimulationManagerProcess.cc,v 1.8 2003/05/21 16:32:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4FastSimulationManagerProcess.cc,v 1.9 2004/11/25 23:34:13 mverderi Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -261,8 +261,8 @@ G4VParticleChange* G4FastSimulationManagerProcess::PostStepDoIt(
// If the particle is still alive, suspend it
// to re-initialise the other process.
if (Response->GetStatusChange() != fStopAndKill)
Response->SetStatusChange(fSuspend);
if (Response->GetTrackStatus() != fStopAndKill)
Response->ProposeTrackStatus(fSuspend);
// Returns the Response
return Response;
}
@@ -318,8 +318,8 @@ G4VParticleChange* G4FastSimulationManagerProcess::PostStepDoIt(
{
// easy case where we have enough room to displace the point where we need:
fUpdateGhostTouchable = true;
xParticleChange.SetPositionChange(fGhostFieldPropagator->EndPosition());
xParticleChange.SetMomentumChange(fGhostFieldPropagator->EndMomentumDir());
xParticleChange.ProposePosition (fGhostFieldPropagator->EndPosition() );
xParticleChange.ProposeMomentumDirection(fGhostFieldPropagator->EndMomentumDir());
}
return &xParticleChange;
}
@@ -22,7 +22,7 @@
//
//
// $Id: G4FastSimulationMessenger.cc,v 1.5 2002/12/04 21:29:50 asaim Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
#include "G4FastSimulationMessenger.hh"
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FastStep.cc,v 1.12 2003/06/16 17:12:39 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4FastStep.cc,v 1.14 2004/12/07 08:22:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
//
//---------------------------------------------------------------
//
@@ -83,7 +83,7 @@ void G4FastStep::Initialize(const G4FastTrack& fastTrack)
void G4FastStep::KillPrimaryTrack()
{
SetPrimaryTrackFinalKineticEnergy(0.) ;
SetStatusChange(fStopAndKill) ;
ProposeTrackStatus(fStopAndKill) ;
}
//--------------------
@@ -91,8 +91,8 @@ void G4FastStep::KillPrimaryTrack()
//--------------------
void
G4FastStep::
SetPrimaryTrackFinalPosition(const G4ThreeVector &position,
G4bool localCoordinates)
ProposePrimaryTrackFinalPosition(const G4ThreeVector &position,
G4bool localCoordinates)
{
// Compute the position coordinate in global
// reference system if needed ...
@@ -104,13 +104,21 @@ SetPrimaryTrackFinalPosition(const G4ThreeVector &position,
thePositionChange = globalPosition;
}
void
G4FastStep::
SetPrimaryTrackFinalPosition(const G4ThreeVector &position,
G4bool localCoordinates)
{
ProposePrimaryTrackFinalPosition(position, localCoordinates);
}
//--------------------
//
//--------------------
void
G4FastStep::
SetPrimaryTrackFinalMomentum(const G4ThreeVector &momentum,
G4bool localCoordinates)
ProposePrimaryTrackFinalMomentumDirection(const G4ThreeVector &momentum,
G4bool localCoordinates)
{
// Compute the momentum in global reference
// system if needed ...
@@ -122,15 +130,22 @@ SetPrimaryTrackFinalMomentum(const G4ThreeVector &momentum,
SetMomentumChange(globalMomentum.unit());
}
void
G4FastStep::
SetPrimaryTrackFinalMomentum(const G4ThreeVector &momentum,
G4bool localCoordinates)
{
ProposePrimaryTrackFinalMomentumDirection(momentum, localCoordinates);
}
//--------------------
//
//--------------------
void
G4FastStep::
SetPrimaryTrackFinalKineticEnergyAndDirection(G4double kineticEnergy,
const G4ThreeVector &direction,
G4bool localCoordinates)
ProposePrimaryTrackFinalKineticEnergyAndDirection(G4double kineticEnergy,
const G4ThreeVector &direction,
G4bool localCoordinates)
{
// Compute global direction if needed...
G4ThreeVector globalDirection = direction;
@@ -142,13 +157,22 @@ SetPrimaryTrackFinalKineticEnergyAndDirection(G4double kineticEnergy,
SetPrimaryTrackFinalKineticEnergy(kineticEnergy);
}
void
G4FastStep::
SetPrimaryTrackFinalKineticEnergyAndDirection(G4double kineticEnergy,
const G4ThreeVector &direction,
G4bool localCoordinates)
{
ProposePrimaryTrackFinalKineticEnergyAndDirection(kineticEnergy, direction, localCoordinates);
}
//--------------------
//
//--------------------
void
G4FastStep::
SetPrimaryTrackFinalPolarization(const G4ThreeVector &polarization,
G4bool localCoordinates)
ProposePrimaryTrackFinalPolarization(const G4ThreeVector &polarization,
G4bool localCoordinates)
{
// Compute polarization in global system if needed:
G4ThreeVector globalPolarization(polarization);
@@ -159,6 +183,14 @@ SetPrimaryTrackFinalPolarization(const G4ThreeVector &polarization,
thePolarizationChange = globalPolarization;
}
void
G4FastStep::
SetPrimaryTrackFinalPolarization(const G4ThreeVector &polarization,
G4bool localCoordinates)
{
ProposePrimaryTrackFinalPolarization(polarization, localCoordinates);
}
//--------------------
//
//--------------------
@@ -470,7 +502,7 @@ G4bool G4FastStep::CheckIt(const G4Track& aTrack)
G4bool itsOKforMomentum = true;
if ( theEnergyChange >0.) {
accuracy = abs(theMomentumChange.mag2()-1.0);
accuracy = std::abs(theMomentumChange.mag2()-1.0);
if (accuracy > GetAccuracyForWarning()) {
G4cout << " G4FastStep::CheckIt : ";
G4cout << "the Momentum Change is not unit vector !!"
@@ -22,7 +22,7 @@
//
//
// $Id: G4FastTrack.cc,v 1.7 2003/11/10 08:57:22 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//---------------------------------------------------------------
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4GlobalFastSimulationManager.cc,v 1.12 2002/12/04 21:29:50 asaim Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4VFastSimulationModel.cc,v 1.5 2001/07/11 10:08:25 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//---------------------------------------------------------------
//