Import Geant4 5.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:15:15 +02:00
parent 37fff30d2e
commit fbd4999cf7
4396 changed files with 56662 additions and 52446 deletions
+40 -2
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.92 2002/12/02 11:45:13 gcosmo Exp $
$Id: History,v 1.97 2003/03/31 14:39:31 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,8 +17,46 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Mar 31st, 2003 G. Cosmo - geomvol-V05-00-03
- Fixed trivial strict pedantic warnings.
Mar 17th, 2003 G. Cosmo - geomvol-V05-00-02
- G4Navigator[.hh.cc]: added 'inline' specifier in declaration of
method LocateGlobalPointAndUpdateTouchableHandle().
Removed redundant calculation of localPoint in method
LocateGlobalPointWithinVolume()
- G4GeometryMessenger[.hh.cc]: added UI command for setting navigator
verbosity at run-time (/geometry/navigator/verbose [n], n in [0..4]).
- G4ReplicaNavigation.icc: fixed debug statement in VoxelLocate().
- G4VoxelNavigation.cc: fixed debug statement in destructor.
- Does NOT include changes in "geomvol-V04-01-08".
Mar 5th, 2003 G. Cosmo - geomvol-V05-00-01
- G4NavigationHistory.icc: fix in methods Clear() and SetFirstEntry().
Correctly initialise navigation levels. Resolves discrepancy in the
copy number assigned to the world volume, if retrieved through the
touchable or explicitely through the physical volume.
- Does NOT include changes in "geomvol-V04-01-08".
Feb 6th, 2003 G. Cosmo - geomvol-V05-00-00
- Fix in G4GeometryMessenger to check for geometry closed when commands
are applied. Command /geometry/navigator/reset and test commands apply
only when system is in "Idle" state.
- G4VCurvedTrajectoryFilter[.hh.cc]: fixed initialisation of data member
in constructor. Fixed comments layout for Software Reference Manual.
- G4IdentityTrajectoryFilter[.hh.cc]: fixed comments layout for
Software Reference Manual.
- Does NOT include changes in "geomvol-V04-01-08".
Nov 30th, 2002 S. Sadilov - geomvol-V04-01-09
- Small correction on the top of "geomvol-V04-01-07a" in files:
G4IdentityTrajectoryFilter.cc
G4VCurvedTrajectoryFilter.cc
to fix cout/G4cout, endl/G4endl mistakes.
- Does NOT include changes in "geomvol-V04-01-08".
Nov 29th, 2002 J. Apostolakis - geomvol-V04-01-08
- G4PropagatorInField: Use safety in G4PropagatorInField.
- G4PropagatorInField: use safety in G4PropagatorInField.
(Adds to the state of this class).
Nov 29th, 2002 S. Sadilov - geomvol-V04-01-07a
@@ -22,7 +22,7 @@
//
//
// $Id: G4AuxiliaryNavServices.hh,v 1.5 2002/07/23 08:50:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4NormalNavigation
@@ -22,7 +22,7 @@
//
//
// $Id: G4AuxiliaryNavServices.icc,v 1.6 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4AuxiliaryNavServices Inline implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4BlockingList.hh,v 1.7 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// class G4BlockingList
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4BlockingList.icc,v 1.7 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4BlockingList Inlined Implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4GRSSolid.hh,v 1.6 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4GRSSolid
@@ -22,7 +22,7 @@
//
//
// $Id: G4GRSSolid.icc,v 1.6 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4GRSSolid inline implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4GRSSolidHandle.hh,v 1.4 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// Class G4GRSSolidHandle
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4GRSVolume.hh,v 1.6 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4GRSVolume
@@ -22,7 +22,7 @@
//
//
// $Id: G4GRSVolume.icc,v 1.7 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4GRSVolume inline implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4GRSVolumeHandle.hh,v 1.4 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// Class G4GRSVolumeHandle
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4GeometryMessenger.hh,v 1.4 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4GeometryMessenger.hh,v 1.6 2003/03/17 13:46:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
// --------------------------------------------------------------------
// GEANT 4 class header file
@@ -49,6 +49,7 @@ class G4UIcommand;
class G4UIcmdWith3VectorAndUnit;
class G4UIcmdWith3Vector;
class G4UIcmdWithoutParameter;
class G4UIcmdWithAnInteger;
class G4UIcmdWithADoubleAndUnit;
class G4TransportationManager;
class G4GeomTestStreamLogger;
@@ -68,7 +69,9 @@ class G4GeometryMessenger : public G4UImessenger
private:
void Init();
void CheckGeometry();
void ResetNavigator();
void SetVerbosity(G4String newValue);
void LineTest();
void GridTest();
void RecursiveGridTest();
@@ -79,8 +82,8 @@ class G4GeometryMessenger : public G4UImessenger
G4UIcmdWithoutParameter *linCmd, *grdCmd, *recCmd,
*cylCmd, *runCmd, *resCmd;
G4UIcmdWithADoubleAndUnit *tolCmd;
G4UIcmdWithAnInteger *verbCmd;
G4bool geometryOpened;
G4ThreeVector x, p;
G4bool newtol;
G4double tol;
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4IdentityTrajectoryFilter.hh,v 1.1 2002/11/19 15:23:24 jacek Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4IdentityTrajectoryFilter.hh,v 1.2 2003/02/06 18:53:14 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class GIdentityTrajectoryFilter
@@ -37,27 +37,29 @@
// for deleting them.
// History
// - Modified:
//
// - First version: Nov 19, 2002 Jacek Generowicz
// ------------------------------------------------------------------------
#ifndef G4IdentityTrajectoryFilter_hh
#define G4IdentityTrajectoryFilter_hh
//#include "g4std/vector"
#include "G4VCurvedTrajectoryFilter.hh"
class G4IdentityTrajectoryFilter : public G4VCurvedTrajectoryFilter {
public:
class G4IdentityTrajectoryFilter : public G4VCurvedTrajectoryFilter
{
G4IdentityTrajectoryFilter(){};
virtual ~G4IdentityTrajectoryFilter(){};
public: // with description
// Probably do not want these objects to be copied, so make the copy
// constructor prvate (jacek 30/10/2002)
G4IdentityTrajectoryFilter();
virtual ~G4IdentityTrajectoryFilter();
// Probably do not want these objects to be copied,
// so make the copy constructor private
// Submit intermediate points for the filter to consider keeping or
// rejecting.
void TakeIntermediatePoint( G4ThreeVector newPoint );
// Submit intermediate points for the filter
// to consider keeping or rejecting
};
#endif /* End of ifndef G4IdentityTrajectoryFilter_hh */
@@ -22,7 +22,7 @@
//
//
// $Id: G4LogicalBorderSurface.hh,v 1.8 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// class G4LogicalBorderSurface
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4LogicalBorderSurface.icc,v 1.5 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4LogicalBorderSurface inline implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4LogicalSkinSurface.hh,v 1.8 2002/07/23 08:50:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// class G4LogicalSkinSurface
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4LogicalSkinSurface.icc,v 1.5 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4LogicalSkinSurface inline implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4NavigationHistory.hh,v 1.10 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// class G4NavigationHistory
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NavigationHistory.icc,v 1.7 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4NavigationHistory.icc,v 1.8 2003/03/05 18:15:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4NavigationHistory Inline implementation
@@ -59,16 +59,13 @@ void G4NavigationHistory::Reset()
inline
void G4NavigationHistory::Clear()
{
G4AffineTransform dummyTransform(G4ThreeVector(0.));
G4NavigationLevel tmpNavLevel;
tmpNavLevel=G4NavigationLevel(0, dummyTransform, kParameterised, -1) ;
G4AffineTransform origin(G4ThreeVector(0.));
G4NavigationLevel tmpNavLevel = G4NavigationLevel(0, origin, kNormal, -1) ;
Reset();
for (register G4int ilev=fNavHistory.size()-1; ilev>=0; ilev--)
{
// fNavHistory(ilev)= 0;
fNavHistory[ilev]= tmpNavLevel;
fNavHistory[ilev] = tmpNavLevel;
}
}
@@ -76,16 +73,18 @@ inline
void G4NavigationHistory::SetFirstEntry(G4VPhysicalVolume* pVol)
{
G4ThreeVector translation(0.,0.,0.);
G4int copyNo = -1;
// Protection needed in case pVol=null
// so that a touchable-history can signal OutOfWorld
//
if( pVol!=0 )
{
translation=pVol->GetTranslation();
translation = pVol->GetTranslation();
copyNo = pVol->GetCopyNo();
}
fNavHistory[0] =
G4NavigationLevel( pVol, G4AffineTransform(translation), kNormal );
G4NavigationLevel( pVol, G4AffineTransform(translation), kNormal, copyNo );
}
inline
@@ -22,7 +22,7 @@
//
//
// $Id: G4NavigationLevel.hh,v 1.14 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// class G4NavigationLevel
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4NavigationLevel.icc,v 1.12 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4NavigationLevel.icc,v 1.13 2003/04/02 14:28:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
// 30.09.97 J.Apostolakis Initial version.
//
@@ -145,7 +145,7 @@ void G4NavigationLevel::operator delete(void *aLevel)
//
#ifndef G4NOT_ISO_DELETES
inline
void G4NavigationLevel::operator delete(void *ptr, void *p)
void G4NavigationLevel::operator delete(void *, void *)
{
}
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: G4NavigationLevelRep.hh,v 1.7 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// class G4NavigationLevelRep
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4NavigationLevelRep.icc,v 1.6 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// 1 October 1997 J.Apostolakis Initial version.
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Navigator.hh,v 1.19 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4Navigator.hh,v 1.20 2003/03/17 13:42:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4Navigator
@@ -175,7 +175,7 @@ class G4Navigator
// same volume as the previous position. Usually this can be guaranteed
// only if the point is within safety.
void LocateGlobalPointAndUpdateTouchableHandle(
inline void LocateGlobalPointAndUpdateTouchableHandle(
const G4ThreeVector& position,
const G4ThreeVector& direction,
G4TouchableHandle& oldTouchableToUpdate,
@@ -22,7 +22,7 @@
//
//
// $Id: G4Navigator.icc,v 1.9 2002/06/03 10:17:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4Navigator Inline implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4NormalNavigation.hh,v 1.5 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4NormalNavigation
@@ -22,7 +22,7 @@
//
//
// $Id: G4NormalNavigation.icc,v 1.5 2002/05/15 10:21:48 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// G4NormalNavigation Inline Implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4ParameterisedNavigation.hh,v 1.6 2002/07/23 08:50:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4ParameterisedNavigation
@@ -22,7 +22,7 @@
//
//
// $Id: G4ParameterisedNavigation.icc,v 1.7 2002/05/15 10:23:39 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4ParameterisedNavigation Inline implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4PropagatorInField.hh,v 1.28 2002/11/09 00:25:08 jacek Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4PropagatorInField
@@ -22,7 +22,7 @@
//
//
// $Id: G4PropagatorInField.icc,v 1.31 2002/10/29 18:36:57 japost Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4ReplicaNavigation.hh,v 1.5 2002/07/23 08:50:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4ReplicaNavigation
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ReplicaNavigation.icc,v 1.6 2002/05/15 10:21:48 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4ReplicaNavigation.icc,v 1.8 2003/04/02 14:28:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4ReplicaNavigation Inline implementation
@@ -97,7 +97,7 @@ G4ReplicaNavigation::VoxelLocate( const G4SmartVoxelHeader* pHead,
#ifdef G4DEBUG_NAVIGATION
G4cerr << " WARNING: assert in G4ReplicaNavigation::VoxelLocate "
<< " has failed : " << G4endl <<
<< " has failed : " << G4endl
<< " (targetNodeNo>=0&&targetNodeNo<targetHeaderNoSlices) "
<< " targetNodeNo= " << targetNodeNo
<< " Number of Slices = " << targetHeaderNoSlices << G4endl;
@@ -112,7 +112,7 @@ G4ReplicaNavigation::VoxelLocate( const G4SmartVoxelHeader* pHead,
if ( targetNodeNo<0 )
targetNodeNo = targetHeaderNoSlices-1;
else if ( targetNodeNo>=targetHeaderNoSlices )
targetNodeNo=0;
targetNodeNo = 0;
}
else
{
@@ -148,9 +148,9 @@ G4bool
G4ReplicaNavigation::LevelLocate( G4NavigationHistory& history,
const G4VPhysicalVolume* blockedVol,
const G4int blockedNum,
const G4ThreeVector&,
const G4ThreeVector* globalDirection,
const G4bool pLocatedOnEdge,
const G4ThreeVector&, // globalPoint
const G4ThreeVector*, // globalDirection
const G4bool, // pLocatedOnEdge
G4ThreeVector& localPoint )
{
G4VPhysicalVolume *motherPhysical, *pPhysical;
@@ -22,7 +22,7 @@
//
//
// $Id: G4TouchableHistory.hh,v 1.6 2002/07/23 08:50:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4TouchableHistory
@@ -22,7 +22,7 @@
//
//
// $Id: G4TouchableHistory.icc,v 1.7 2002/07/23 08:50:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4TouchableHistory inline implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4TouchableHistoryHandle.hh,v 1.4 2002/07/23 08:50:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// Class G4TouchableHistoryHandle
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4TransportationManager.hh,v 1.8 2002/07/23 08:50:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// class G4TransportationManager
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4TransportationManager.icc,v 1.6 2002/07/23 08:50:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
// ------------------------------------------------------------
// GEANT 4 inlined function members implementation
// ------------------------------------------------------------
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VCurvedTrajectoryFilter.hh,v 1.3 2002/11/19 16:40:09 jacek Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4VCurvedTrajectoryFilter.hh,v 1.4 2003/02/06 18:53:14 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4VCurevedTrajectoryFilter
@@ -33,8 +33,8 @@
// being stored. Defines the compromise between accuracy of
// representation of the curved trajectory and memory use.
//
// Derived classes should implement the filetring algorithm in the
// method TakeIntermediatePoint.
// Derived classes should implement the filtering algorithm in the
// method TakeIntermediatePoint().
//
// IMPORTANT: This class heap allocates vectors of auxiliary points,
// which it does not delete. The vectors must find their way to a
@@ -42,14 +42,9 @@
// deleting them.
// History
// - Modified:
//
// (jacek 19/11/2002) - Moved identity filter implementation out into
// separate concrete class
//
// - First version: Oct 30, 2002 Jacek Generowicz
// ------------------------------------------------------------------------
#ifndef G4VCurvedTrajectoryFilter_hh
#define G4VCurvedTrajectoryFilter_hh
@@ -58,27 +53,29 @@
#include "g4std/vector"
#include "G4TransportationManager.hh"
class G4VCurvedTrajectoryFilter {
public:
class G4VCurvedTrajectoryFilter
{
G4VCurvedTrajectoryFilter(){};
virtual ~G4VCurvedTrajectoryFilter(){};
public: // with description
// Probably do not want these objects to be copied, so make the copy
// constructor prvate (jacek 30/10/2002)
G4VCurvedTrajectoryFilter();
virtual ~G4VCurvedTrajectoryFilter();
// Probably do not want these objects to be copied,
// so make the copy constructor private
// Each segment stores the auxiliary points of a single step.
void CreateNewTrajectorySegment( );
// Each segment stores the auxiliary points of a single step.
// Submit intermediate points for the filter to consider keeping or
// rejecting.
// Derived classes should implement the filtering algorithm in this
// method.
virtual void TakeIntermediatePoint( G4ThreeVector newPoint ) = 0;
// Submit intermediate points for the filter to consider keeping or
// rejecting. Derived classes should implement the filtering algorithm
// in this method.
G4std::vector<G4ThreeVector>* GimmeThePointsAndForgetThem();
protected:
G4std::vector<G4ThreeVector>* fpFilteredPoints;
};
@@ -22,7 +22,7 @@
//
//
// $Id: G4VoxelNavigation.hh,v 1.11 2002/07/23 08:50:37 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4VoxelNavigation
@@ -22,7 +22,7 @@
//
//
// $Id: G4VoxelNavigation.icc,v 1.10 2002/05/15 10:21:48 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4VoxelNavigation Inline implementation
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: G4AuxiliaryNavServices.cc,v 1.3 2002/08/06 08:23:37 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// ********************************************************************
@@ -22,7 +22,7 @@
//
//
// $Id: G4BlockingList.cc,v 1.7 2002/11/27 17:50:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4BlockingList Implementation
+3 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4GRSSolid.cc,v 1.5 2002/08/06 08:23:37 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4GRSSolid.cc,v 1.6 2003/03/31 14:39:02 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4GRSSolid Implementation
@@ -37,6 +37,7 @@ G4GRSSolid::~G4GRSSolid()
}
G4GRSSolid::G4GRSSolid(const G4GRSSolid& right)
: G4VTouchable()
{
if ((&right) && (&right != this))
{
+3 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4GRSVolume.cc,v 1.5 2002/08/06 08:23:37 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4GRSVolume.cc,v 1.6 2003/03/31 14:39:02 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4GRSVolume Implementation
@@ -37,6 +37,7 @@ G4GRSVolume::~G4GRSVolume()
}
G4GRSVolume::G4GRSVolume(const G4GRSVolume& right)
: G4VTouchable()
{
if ((&right) && (&right != this))
{
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4GeometryMessenger.cc,v 1.7 2002/08/06 08:23:37 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4GeometryMessenger.cc,v 1.10 2003/03/17 13:46:25 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
// --------------------------------------------------------------------
// GEANT 4 class source file
@@ -46,6 +46,7 @@
#include "G4UIcmdWith3VectorAndUnit.hh"
#include "G4UIcmdWith3Vector.hh"
#include "G4UIcmdWithoutParameter.hh"
#include "G4UIcmdWithAnInteger.hh"
#include "G4UIcmdWithADoubleAndUnit.hh"
#include "G4GeomTestStreamLogger.hh"
@@ -55,9 +56,8 @@
// Constructor
//
G4GeometryMessenger::G4GeometryMessenger(G4TransportationManager* tman)
: geometryOpened(true), x(0,0,0), p(0,0,1),
newtol(false), tol(1E-4*mm), tmanager(tman),
tlogger(0), tvolume(0)
: x(0,0,0), p(0,0,1), newtol(false), tol(1E-4*mm),
tmanager(tman), tlogger(0), tvolume(0)
{
geodir = new G4UIdirectory( "/geometry/" );
geodir->SetGuidance( "Geometry control commands." );
@@ -70,6 +70,22 @@ G4GeometryMessenger::G4GeometryMessenger(G4TransportationManager* tman)
resCmd = new G4UIcmdWithoutParameter( "/geometry/navigator/reset", this );
resCmd->SetGuidance( "Reset navigator and navigation history." );
resCmd->SetGuidance( "NOTE: must be called only after kernel has been" );
resCmd->SetGuidance( " initialized once through the run manager!" );
resCmd->AvailableForStates(G4State_Idle);
verbCmd = new G4UIcmdWithAnInteger( "/geometry/navigator/verbose", this );
verbCmd->SetGuidance( "Set run-time verbosity for the navigator." );
verbCmd->SetGuidance(" 0 : Silent (default)");
verbCmd->SetGuidance(" 1 : Display positioning and relative states");
verbCmd->SetGuidance(" 2 : Display step/safety info on point location");
verbCmd->SetGuidance(" 3 : Display state at -every- step!");
verbCmd->SetGuidance(" 4 : Maximum verbosity (very detailed!)");
verbCmd->SetGuidance( "NOTE: this command has effect -only- if Geant4 has" );
verbCmd->SetGuidance( " been installed with the G4VERBOSE flag set!" );
verbCmd->SetParameterName("level",true);
verbCmd->SetDefaultValue(0);
verbCmd->SetRange("level >=0 && level <=4");
//
// Geometry verification test commands
@@ -100,26 +116,31 @@ G4GeometryMessenger::G4GeometryMessenger(G4TransportationManager* tman)
linCmd->SetGuidance( "Performs test along a single specified direction/position." );
linCmd->SetGuidance( "Use position and direction commands to change default." );
linCmd->SetGuidance( "Default: position(0,0,0), direction(0,0,1)." );
linCmd->AvailableForStates(G4State_Idle);
grdCmd = new G4UIcmdWithoutParameter( "/geometry/test/grid_test", this );
grdCmd->SetGuidance( "Start running the default grid test." );
grdCmd->SetGuidance( "A grid of lines parallel to a cartesian axis is used;" );
grdCmd->SetGuidance( "Only direct daughters of the mother volumes are checked." );
grdCmd->AvailableForStates(G4State_Idle);
recCmd = new G4UIcmdWithoutParameter( "/geometry/test/recursive_test", this );
recCmd->SetGuidance( "Start running the recursive grid test." );
recCmd->SetGuidance( "A grid of lines along a cartesian axis is recursively" );
recCmd->SetGuidance( "to all daughters and daughters of daughters, etc." );
recCmd->SetGuidance( "WARNING: it may take a very long time, depending on geometry complexity !");
recCmd->AvailableForStates(G4State_Idle);
cylCmd = new G4UIcmdWithoutParameter( "/geometry/test/cylinder_test", this );
cylCmd->SetGuidance( "Start running the cylinder test." );
cylCmd->SetGuidance( "A set of lines in a cylindrical pattern of gradually" );
cylCmd->SetGuidance( "increasing mesh size." );
cylCmd->AvailableForStates(G4State_Idle);
runCmd = new G4UIcmdWithoutParameter( "/geometry/test/run", this );
runCmd->SetGuidance( "Start running the default grid test." );
runCmd->SetGuidance( "Same as the grid_test command." );
runCmd->AvailableForStates(G4State_Idle);
}
//
@@ -135,6 +156,7 @@ G4GeometryMessenger::~G4GeometryMessenger()
delete cylCmd;
delete runCmd;
delete resCmd;
delete verbCmd;
delete tolCmd;
delete geodir;
delete navdir;
@@ -177,6 +199,9 @@ G4GeometryMessenger::SetNewValue( G4UIcommand* command, G4String newValues )
if (command == resCmd) {
ResetNavigator();
}
else if (command == verbCmd) {
SetVerbosity(newValues);
}
else if (command == posCmd) {
x = posCmd->GetNew3VectorValue( newValues );
}
@@ -228,6 +253,20 @@ G4GeometryMessenger::GetCurrentValue(G4UIcommand* command )
return cv;
}
//
// CheckGeometry
//
void
G4GeometryMessenger::CheckGeometry()
{
// Verify that the geometry is closed
//
G4GeometryManager* geomManager = G4GeometryManager::GetInstance();
if (!geomManager->IsGeometryClosed()) {
geomManager->CloseGeometry(true);
}
}
//
// ResetNavigator
//
@@ -236,12 +275,7 @@ G4GeometryMessenger::ResetNavigator()
{
// Close geometry if necessary
//
if (geometryOpened) {
G4GeometryManager* geomManager = G4GeometryManager::GetInstance();
geomManager->OpenGeometry();
geomManager->CloseGeometry(true);
geometryOpened = false;
}
CheckGeometry();
// Reset navigator's state
//
@@ -249,6 +283,17 @@ G4GeometryMessenger::ResetNavigator()
tmanager->GetNavigatorForTracking()->LocateGlobalPointAndSetup(pt,0,false);
}
//
// Set navigator verbosity
//
void
G4GeometryMessenger::SetVerbosity(G4String input)
{
G4int level = verbCmd->GetNewIntValue(input);
G4Navigator* navigator = tmanager->GetNavigatorForTracking();
navigator->SetVerboseLevel(level);
}
//
// LineTest
//
@@ -257,12 +302,7 @@ G4GeometryMessenger::LineTest()
{
// Close geometry if necessary
//
if (geometryOpened) {
G4GeometryManager* geomManager = G4GeometryManager::GetInstance();
geomManager->OpenGeometry();
geomManager->CloseGeometry(true);
geometryOpened = false;
}
CheckGeometry();
// Verify if error tolerance has changed
//
@@ -285,12 +325,7 @@ G4GeometryMessenger::GridTest()
{
// Close geometry if necessary
//
if (geometryOpened) {
G4GeometryManager* geomManager = G4GeometryManager::GetInstance();
geomManager->OpenGeometry();
geomManager->CloseGeometry(true);
geometryOpened = false;
}
CheckGeometry();
// Verify if error tolerance has changed
//
@@ -313,12 +348,7 @@ G4GeometryMessenger::RecursiveGridTest()
{
// Close geometry if necessary
//
if (geometryOpened) {
G4GeometryManager* geomManager = G4GeometryManager::GetInstance();
geomManager->OpenGeometry();
geomManager->CloseGeometry(true);
geometryOpened = false;
}
CheckGeometry();
// Verify if error tolerance has changed
//
@@ -341,12 +371,7 @@ G4GeometryMessenger::CylinderTest()
{
// Close geometry if necessary
//
if (geometryOpened) {
G4GeometryManager* geomManager = G4GeometryManager::GetInstance();
geomManager->OpenGeometry();
geomManager->CloseGeometry(true);
geometryOpened = false;
}
CheckGeometry();
// Verify if error tolerance has changed
//
@@ -21,18 +21,28 @@
// ********************************************************************
//
//
// $Id: G4IdentityTrajectoryFilter.cc,v 1.3 2002/11/30 17:22:37 stesting Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4IdentityTrajectoryFilter.cc,v 1.4 2003/02/06 18:53:16 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
#include "G4IdentityTrajectoryFilter.hh"
G4IdentityTrajectoryFilter::G4IdentityTrajectoryFilter()
{
}
G4IdentityTrajectoryFilter::~G4IdentityTrajectoryFilter()
{
}
void
G4IdentityTrajectoryFilter::TakeIntermediatePoint( G4ThreeVector newPoint ) {
G4IdentityTrajectoryFilter::TakeIntermediatePoint( G4ThreeVector newPoint )
{
// Just store every single point, initially. (jacek 30/10/2002)
// Implement more sophisticated filters later. Copy by value into
// the vector; the vector will never be copied by value itself. In
// the final version, will probably want to create the intermediate
// points at this stage.
fpFilteredPoints->push_back( newPoint );
G4cout << "spong: G4IdentityTrajectoryFilter::TakeIntermediatePoint" << G4endl;
G4cout << "spong: G4IdentityTrajectoryFilter::TakeIntermediatePoint"
<< G4endl;
}
@@ -22,7 +22,7 @@
//
//
// $Id: G4LogicalBorderSurface.cc,v 1.8 2002/08/06 08:23:38 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// --------------------------------------------------------------------
// G4LogicalBorderSurface Implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4LogicalSkinSurface.cc,v 1.8 2002/08/06 08:23:38 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// --------------------------------------------------------------------
// G4LogicalSkinSurface Implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4NavigationHistory.cc,v 1.6 2002/08/06 10:35:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// G4NavigationHistory Implementation
+10 -7
View File
@@ -21,7 +21,7 @@
// ********************************************************************
//
//
// $Id: G4Navigator.cc,v 1.34 2002/11/04 18:54:06 jacek Exp $
// $Id: G4Navigator.cc,v 1.35 2003/03/17 13:42:33 gcosmo Exp $
// GEANT4 tag $ Name: $
//
// class G4Navigator Implementation
@@ -100,6 +100,9 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint,
G4cout << " I was called with the following arguments: " << G4endl
<< " Globalpoint = " << globalPoint << G4endl
<< " relativeSearch = " << relativeSearch << G4endl;
}
if( fVerbose > 1 )
{
G4cout << " Upon entering my state is: " << G4endl;
PrintState();
}
@@ -371,7 +374,6 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint,
fLastLocatedPointLocal = localPoint;
#ifdef G4VERBOSE
if( fVerbose > 0 ) PrintState();
if( fVerbose > 1 )
{
G4cout.precision(6);
@@ -380,6 +382,8 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint,
curPhysVol_Name = targetPhysical->GetName();
G4cout << " Return value = new volume = "
<< curPhysVol_Name << G4endl;
G4cout << " Upon exiting my state is: " << G4endl;
PrintState();
}
#endif
@@ -419,7 +423,6 @@ G4Navigator::LocateGlobalPointWithinVolume(const G4ThreeVector& pGlobalpoint)
G4LogicalVolume* motherLogical = motherPhysical->GetLogicalVolume();
G4SmartVoxelHeader* pVoxelHeader = motherLogical->GetVoxelHeader();
G4ThreeVector localPoint = ComputeLocalPoint(pGlobalpoint);
if ( fHistory.GetTopVolumeType()!=kReplica )
{
switch( CharacteriseDaughters(motherLogical) )
@@ -427,7 +430,7 @@ G4Navigator::LocateGlobalPointWithinVolume(const G4ThreeVector& pGlobalpoint)
case kNormal:
if ( pVoxelHeader )
{
fvoxelNav.VoxelLocate( pVoxelHeader, localPoint );
fvoxelNav.VoxelLocate( pVoxelHeader, fLastLocatedPointLocal );
}
// else { fnormalNav. nothing !? }
break;
@@ -435,7 +438,7 @@ G4Navigator::LocateGlobalPointWithinVolume(const G4ThreeVector& pGlobalpoint)
case kParameterised:
// Resets state & returns voxel node
//
fparamNav.ParamVoxelLocate( pVoxelHeader, localPoint );
fparamNav.ParamVoxelLocate( pVoxelHeader, fLastLocatedPointLocal );
break;
case kReplica:
@@ -797,7 +800,7 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint,
}
#ifdef G4VERBOSE
if( fVerbose > 1 )
if( fVerbose > 2 )
{
G4cout << "Upon exiting my state is: " << G4endl;
PrintState();
@@ -905,7 +908,7 @@ G4double G4Navigator::ComputeSafety( const G4ThreeVector &pGlobalpoint,
G4double newSafety = 0.0;
#ifdef G4VERBOSE
if( fVerbose > 0 )
if( fVerbose > 1 )
{
G4cout << "*** G4Navigator::ComputeSafety: ***" << G4endl;
G4cout.precision(8);
@@ -22,7 +22,7 @@
//
//
// $Id: G4NormalNavigation.cc,v 1.5 2002/08/06 10:35:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4NormalNavigation Implementation
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ParameterisedNavigation.cc,v 1.7 2002/08/06 10:35:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4ParameterisedNavigation.cc,v 1.8 2003/03/31 14:39:02 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4ParameterisedNavigation Implementation
@@ -244,7 +244,7 @@ G4double G4ParameterisedNavigation::
G4double
G4ParameterisedNavigation::ComputeSafety(const G4ThreeVector& localPoint,
const G4NavigationHistory& history,
const G4double pProposedMaxLength )
const G4double )
{
G4VPhysicalVolume *motherPhysical, *samplePhysical;
G4VPVParameterisation *sampleParam;
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PropagatorInField.cc,v 1.39 2002/11/09 00:25:09 jacek Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4PropagatorInField.cc,v 1.39.4.1 2003/03/31 14:34:27 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// This class implements an algorithm to track a particle in a
@@ -745,7 +745,7 @@ G4PropagatorInField::PrintStepLengthDiagnostic(
G4double CurrentProposedStepLength,
G4double decreaseFactor,
G4double stepTrial,
const G4FieldTrack& aFieldTrack)
const G4FieldTrack& )
{
G4cout << " PiF: NoZeroStep= " << fNoZeroStep
<< " CurrentProposedStepLength= " << CurrentProposedStepLength
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ReplicaNavigation.cc,v 1.11 2002/08/06 10:35:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4ReplicaNavigation.cc,v 1.12 2003/03/31 14:39:02 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4ReplicaNavigation Implementation
@@ -826,7 +826,7 @@ G4double
G4ReplicaNavigation::ComputeSafety(const G4ThreeVector &globalPoint,
const G4ThreeVector &localPoint,
G4NavigationHistory &history,
const G4double pProposedMaxLength )
const G4double )
{
G4VPhysicalVolume *repPhysical, *motherPhysical;
G4VPhysicalVolume *samplePhysical, *blockedExitedVol=0;
@@ -22,7 +22,7 @@
//
//
// $Id: G4TouchableHistory.cc,v 1.6 2002/08/06 10:35:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4TouchableHistory Implementation
@@ -22,7 +22,7 @@
//
//
// $Id: G4TransportationManager.cc,v 1.11 2002/08/06 10:35:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// G4TransportationManager
@@ -21,13 +21,23 @@
// ********************************************************************
//
//
// $Id: G4VCurvedTrajectoryFilter.cc,v 1.3 2002/11/30 17:22:37 stesting Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4VCurvedTrajectoryFilter.cc,v 1.4 2003/02/06 18:53:16 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
#include "G4VCurvedTrajectoryFilter.hh"
G4VCurvedTrajectoryFilter::G4VCurvedTrajectoryFilter()
: fpFilteredPoints(0)
{
}
G4VCurvedTrajectoryFilter::~G4VCurvedTrajectoryFilter()
{
}
G4std::vector<G4ThreeVector>*
G4VCurvedTrajectoryFilter::GimmeThePointsAndForgetThem() {
G4VCurvedTrajectoryFilter::GimmeThePointsAndForgetThem()
{
G4std::vector<G4ThreeVector>* tmp = fpFilteredPoints;
// ParticleChangeForTransport invokes this method (via
// PropagatorInField) at every Step, even if the step did not
@@ -37,17 +47,20 @@ G4VCurvedTrajectoryFilter::GimmeThePointsAndForgetThem() {
// responsibility for deleting the vector lies with the
// SmoothTrajctoryPoint, which is the vector's final destination.)
// (jacek 08/11/2002)
fpFilteredPoints = NULL;
fpFilteredPoints = 0;
return tmp;
}
void
G4VCurvedTrajectoryFilter::CreateNewTrajectorySegment( ) {
if (fpFilteredPoints) {
G4VCurvedTrajectoryFilter::CreateNewTrajectorySegment( )
{
if (fpFilteredPoints)
{
// GimmePoints has not been called (it would have set the
// pointer to NULL), therefore nobody has taken charge of the
// points and they will never be deleted!
G4cout << "!!!!!!!! Filter: auxliary points are being memory leaked !!!!!" << G4endl;
G4cout << "!!!!!!!! Filter: auxiliary points are being memory leaked !!!!!"
<< G4endl;
}
fpFilteredPoints = new G4std::vector<G4ThreeVector>;
}
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VoxelNavigation.cc,v 1.11 2002/08/06 10:35:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: G4VoxelNavigation.cc,v 1.13 2003/03/31 14:39:02 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// class G4VoxelNavigation Implementation
@@ -55,7 +55,7 @@ G4VoxelNavigation::G4VoxelNavigation()
G4VoxelNavigation::~G4VoxelNavigation()
{
#ifdef G4DEBUG_NAVIGATION
cout << "G4VoxelNavigation::~G4VoxelNavigation() called." << G4endl;
G4cout << "G4VoxelNavigation::~G4VoxelNavigation() called." << G4endl;
#endif
}
@@ -502,7 +502,7 @@ G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint,
G4double
G4VoxelNavigation::ComputeSafety(const G4ThreeVector& localPoint,
const G4NavigationHistory& history,
const G4double pMaxLength )
const G4double )
{
G4VPhysicalVolume *motherPhysical, *samplePhysical;
G4LogicalVolume *motherLogical;