Import Geant4 5.2.0 source tree
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AuxiliaryNavServices.hh,v 1.5 2002/07/23 08:50:33 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4AuxiliaryNavServices Inline implementation
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4BlockingList.hh,v 1.7 2002/07/23 08:50:34 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4BlockingList.hh,v 1.8 2003/06/16 16:54:41 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// class G4BlockingList
|
||||
//
|
||||
@@ -47,7 +47,7 @@
|
||||
#define G4BLOCKINGLIST_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
const G4int kBlockingListMaxDefault = 500; // Block up to 511 daughters
|
||||
// initially
|
||||
@@ -94,7 +94,7 @@ class G4BlockingList
|
||||
G4int fBlockTagNo, fStride;
|
||||
// Current blocked volume tag number.
|
||||
|
||||
G4std::vector<G4int> fBlockingList;
|
||||
std::vector<G4int> fBlockingList;
|
||||
// Blocked volumes: Elements with indices
|
||||
// corresponding to blocked volume set to fBlockTagNo.
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4BlockingList.icc,v 1.7 2002/07/23 08:50:34 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// Class G4GRSVolumeHandle
|
||||
//
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4GeometryMessenger.hh,v 1.6 2003/03/17 13:46:21 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4GeometryMessenger.hh,v 1.7 2003/05/20 07:52:03 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
@@ -49,7 +49,9 @@ class G4UIcommand;
|
||||
class G4UIcmdWith3VectorAndUnit;
|
||||
class G4UIcmdWith3Vector;
|
||||
class G4UIcmdWithoutParameter;
|
||||
class G4UIcmdWithABool;
|
||||
class G4UIcmdWithAnInteger;
|
||||
class G4UIcmdWithADouble;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4TransportationManager;
|
||||
class G4GeomTestStreamLogger;
|
||||
@@ -73,20 +75,26 @@ class G4GeometryMessenger : public G4UImessenger
|
||||
void ResetNavigator();
|
||||
void SetVerbosity(G4String newValue);
|
||||
void LineTest();
|
||||
void RecursiveLineTest();
|
||||
void GridTest();
|
||||
void RecursiveGridTest();
|
||||
void CylinderTest();
|
||||
void RecursiveCylinderTest();
|
||||
|
||||
G4UIdirectory *geodir, *navdir, *testdir;
|
||||
G4UIcmdWith3VectorAndUnit *posCmd, *dirCmd;
|
||||
G4UIcmdWithoutParameter *linCmd, *grdCmd, *recCmd,
|
||||
*cylCmd, *runCmd, *resCmd;
|
||||
G4UIcmdWith3Vector *grzCmd, *cyzCmd;
|
||||
G4UIcmdWithABool *linCmd, *grdCmd, *cylCmd, *runCmd;
|
||||
G4UIcmdWithoutParameter *recCmd, *resCmd;
|
||||
G4UIcmdWithADoubleAndUnit *tolCmd;
|
||||
G4UIcmdWithAnInteger *verbCmd;
|
||||
|
||||
G4ThreeVector x, p;
|
||||
G4UIcmdWithAnInteger *verbCmd, *rcsCmd, *rcdCmd;
|
||||
G4UIcmdWithADouble *cfzCmd, *cfrCmd;
|
||||
|
||||
G4ThreeVector x, p, grdRes, cylRes;
|
||||
G4double cylfZ, cylfR;
|
||||
G4bool newtol;
|
||||
G4double tol;
|
||||
G4int recLevel, recDepth;
|
||||
|
||||
G4TransportationManager* tmanager;
|
||||
G4GeomTestStreamLogger* tlogger;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4IdentityTrajectoryFilter.hh,v 1.2 2003/02/06 18:53:14 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class GIdentityTrajectoryFilter
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalBorderSurface.hh,v 1.8 2002/07/23 08:50:34 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4LogicalBorderSurface.hh,v 1.9 2003/06/16 16:54:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// class G4LogicalBorderSurface
|
||||
//
|
||||
@@ -44,7 +44,7 @@
|
||||
#include "G4LogicalSurface.hh"
|
||||
#include "G4VPhysicalVolume.hh"
|
||||
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4Event;
|
||||
class G4VPhysicalVolume;
|
||||
@@ -73,7 +73,7 @@ class G4LogicalBorderSurface : public G4LogicalSurface
|
||||
inline void SetVolume2( G4VPhysicalVolume* vol2 );
|
||||
// To use with care!
|
||||
|
||||
static const G4std::vector<G4LogicalBorderSurface*> * GetSurfaceTable();
|
||||
static const std::vector<G4LogicalBorderSurface*> * GetSurfaceTable();
|
||||
static size_t GetNumberOfBorderSurfaces();
|
||||
static void DumpInfo();
|
||||
// To handle the table of surfaces.
|
||||
@@ -92,11 +92,11 @@ class G4LogicalBorderSurface : public G4LogicalSurface
|
||||
G4VPhysicalVolume* Volume1; // Physical Volume pointer on side 1
|
||||
G4VPhysicalVolume* Volume2; // Physical Volume pointer on side 2
|
||||
|
||||
static G4std::vector<G4LogicalBorderSurface*> theBorderSurfaceTable;
|
||||
static std::vector<G4LogicalBorderSurface*> theBorderSurfaceTable;
|
||||
// The static Table of Surfaces.
|
||||
};
|
||||
|
||||
typedef G4std::vector<G4LogicalBorderSurface*> G4LogicalBorderSurfaceTable;
|
||||
typedef std::vector<G4LogicalBorderSurface*> G4LogicalBorderSurfaceTable;
|
||||
|
||||
// ********************************************************************
|
||||
// Inline methods
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalBorderSurface.icc,v 1.5 2002/07/23 08:50:34 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4LogicalBorderSurface inline implementation
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalSkinSurface.hh,v 1.8 2002/07/23 08:50:34 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4LogicalSkinSurface.hh,v 1.9 2003/06/16 16:54:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// class G4LogicalSkinSurface
|
||||
//
|
||||
@@ -44,7 +44,7 @@
|
||||
#include "G4LogicalSurface.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
class G4LogicalSkinSurface : public G4LogicalSurface
|
||||
{
|
||||
@@ -81,12 +81,12 @@ class G4LogicalSkinSurface : public G4LogicalSurface
|
||||
G4LogicalVolume* LogVolume;
|
||||
// Logical Volume pointer on side 1.
|
||||
|
||||
static G4std::vector<G4LogicalSkinSurface*> theSurfaceTable;
|
||||
static std::vector<G4LogicalSkinSurface*> theSurfaceTable;
|
||||
// The static Table of Surfaces.
|
||||
|
||||
};
|
||||
|
||||
typedef G4std::vector<G4LogicalSkinSurface*> G4LogicalSkinSurfaceTable;
|
||||
typedef std::vector<G4LogicalSkinSurface*> G4LogicalSkinSurfaceTable;
|
||||
|
||||
// ********************************************************************
|
||||
// Inline methods
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalSkinSurface.icc,v 1.5 2002/07/23 08:50:35 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4LogicalSkinSurface inline implementation
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4NavigationHistory.hh,v 1.10 2002/07/23 08:50:35 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4NavigationHistory.hh,v 1.11 2003/06/16 16:54:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// class G4NavigationHistory
|
||||
//
|
||||
@@ -48,16 +48,16 @@
|
||||
#include "G4VPhysicalVolume.hh"
|
||||
#include "G4NavigationLevel.hh"
|
||||
|
||||
#include "g4std/vector"
|
||||
#include "g4std/iostream"
|
||||
#include <vector>
|
||||
#include <iostream>
|
||||
|
||||
class G4NavigationHistory
|
||||
{
|
||||
|
||||
public: // with description
|
||||
|
||||
friend G4std::ostream&
|
||||
operator << (G4std::ostream &os, const G4NavigationHistory &h);
|
||||
friend std::ostream&
|
||||
operator << (std::ostream &os, const G4NavigationHistory &h);
|
||||
|
||||
G4NavigationHistory();
|
||||
// Constructor: sizes history lists & resets histories.
|
||||
@@ -138,7 +138,7 @@ class G4NavigationHistory
|
||||
|
||||
private:
|
||||
|
||||
G4std::vector<G4NavigationLevel> fNavHistory;
|
||||
std::vector<G4NavigationLevel> fNavHistory;
|
||||
|
||||
G4int fStackDepth;
|
||||
// Depth of stack: effectively depth in geometrical tree
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4NavigationHistory.icc,v 1.8 2003/03/05 18:15:28 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4NavigationHistory Inline implementation
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4NavigationLevel.hh,v 1.14 2002/07/23 08:50:35 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// class G4NavigationLevel
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4NavigationLevel.icc,v 1.13 2003/04/02 14:28:04 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// 30.09.97 J.Apostolakis Initial version.
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4NavigationLevelRep.hh,v 1.7 2002/07/23 08:50:35 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// 1 October 1997 J.Apostolakis Initial version.
|
||||
//
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Navigator.hh,v 1.20 2003/03/17 13:42:30 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4Navigator.hh,v 1.21 2003/06/16 16:54:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4Navigator
|
||||
@@ -110,13 +110,13 @@
|
||||
#include "G4ParameterisedNavigation.hh"
|
||||
#include "G4ReplicaNavigation.hh"
|
||||
|
||||
#include "g4std/iostream"
|
||||
#include <iostream>
|
||||
|
||||
class G4Navigator
|
||||
{
|
||||
public: // with description
|
||||
|
||||
friend G4std::ostream& operator << (G4std::ostream &os, const G4Navigator &n);
|
||||
friend std::ostream& operator << (std::ostream &os, const G4Navigator &n);
|
||||
|
||||
G4Navigator();
|
||||
// Constructor - initialisers and setup.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4Navigator.icc,v 1.9 2002/06/03 10:17:56 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// G4NormalNavigation Inline Implementation
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisedNavigation.hh,v 1.6 2002/07/23 08:50:35 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4ParameterisedNavigation.hh,v 1.7 2003/06/16 16:54:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4ParameterisedNavigation
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
|
||||
#include "G4VoxelNavigation.hh"
|
||||
#include "G4NavigationHistory.hh"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParameterisedNavigation.icc,v 1.7 2002/05/15 10:23:39 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4ParameterisedNavigation Inline implementation
|
||||
|
||||
@@ -21,9 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PropagatorInField.hh,v 1.28 2002/11/09 00:25:08 jacek Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
// $Id: G4PropagatorInField.hh,v 1.36 2003/06/21 00:37:55 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// class G4PropagatorInField
|
||||
//
|
||||
@@ -31,20 +30,16 @@
|
||||
//
|
||||
// This class performs the navigation/propagation of a particle/track
|
||||
// in a magnetic field. The field is in general non-uniform.
|
||||
// For the calculation of the path, it relies on the class G4MagTr.
|
||||
// To create an object, must have an object that calculates the Curved
|
||||
// paths and also must know the value of the maximum displacement allowed.
|
||||
// For the calculation of the path, it relies on the class G4ChordFinder.
|
||||
//
|
||||
// Methods:
|
||||
// ComputeStep(..)
|
||||
// CalculateStepTimeAndAccuracy(..)
|
||||
// LocateIntersectionPoint(..)
|
||||
|
||||
// Key Method:
|
||||
// ComputeStep(..)
|
||||
// History:
|
||||
// -------
|
||||
// 25.10.96 John Apostolakis, design and implementation
|
||||
// 25.03.97 John Apostolakis, adaptation for G4Transportation and cleanup
|
||||
// ------------------------------------------------------------------------
|
||||
// 8.11.02 John Apostolakis, changes to enable use of safety in intersecting
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PropagatorInField_hh
|
||||
#define G4PropagatorInField_hh 1
|
||||
@@ -85,7 +80,14 @@ class G4PropagatorInField
|
||||
inline void SetChargeMomentumMass( G4double charge, // in e+ units
|
||||
G4double momentum, // in Geant4 units
|
||||
G4double pMass );
|
||||
// Inform this and all associated classes of q, p, m
|
||||
|
||||
G4FieldManager* FindAndSetFieldManager(G4VPhysicalVolume* pCurrentPhysVol);
|
||||
// Set (and return) the correct field manager (global or local),
|
||||
// if it exists.
|
||||
// Should be called before ComputeStep is called;
|
||||
// - currently, ComputeStep will call it, if it has not been called.
|
||||
|
||||
inline G4ChordFinder* GetChordFinder();
|
||||
|
||||
inline G4int SetVerboseLevel( G4int verbose );
|
||||
@@ -141,6 +143,24 @@ class G4PropagatorInField
|
||||
G4int noAbandon );
|
||||
inline G4int GetThresholdNoZeroSteps( G4int i );
|
||||
|
||||
public: // with description
|
||||
//
|
||||
void SetTrajectoryFilter(G4VCurvedTrajectoryFilter* filter);
|
||||
// Set the filter that examines & stores 'intermediate'
|
||||
// curved trajectory points. Currently only position is stored.
|
||||
|
||||
std::vector<G4ThreeVector>* GimmeTrajectoryVectorAndForgetIt() const;
|
||||
// Access the points which have passed by the filter.
|
||||
// Responsibility for deleting the points lies with the client.
|
||||
// This method MUST BE called exactly ONCE per step.
|
||||
|
||||
void ClearPropagatorState();
|
||||
// Clear all the State of this class and its current associates
|
||||
// --> the current field manager & chord finder will also be called
|
||||
|
||||
inline void SetDetectorFieldManager( G4FieldManager* newGlobalFieldManager );
|
||||
// Update this (dangerous) state -- for the time being
|
||||
|
||||
protected: // with description
|
||||
|
||||
G4bool LocateIntersectionPoint(
|
||||
@@ -153,11 +173,26 @@ class G4PropagatorInField
|
||||
// with the surface of the current volume (or of one of its daughters).
|
||||
// (Should use lateral displacement as measure of convergence).
|
||||
|
||||
G4bool IntersectChord( G4ThreeVector StartPointA,
|
||||
G4ThreeVector EndPointB,
|
||||
G4double &NewSafety,
|
||||
G4double &LinearStepLength,
|
||||
G4ThreeVector &IntersectionPoint);
|
||||
// Intersect the chord from StartPointA to EndPointB
|
||||
// and return whether an intersection occurred
|
||||
|
||||
G4FieldTrack ReEstimateEndpoint( const G4FieldTrack &CurrentStateA,
|
||||
const G4FieldTrack &EstimtdEndStateB,
|
||||
double linearDistSq,
|
||||
double curveDist);
|
||||
// Return new estimate for state after curveDist
|
||||
// starting from CurrentStateA, to replace EstimtdEndStateB,
|
||||
// (and report displacement -- if field is compiled verbose.)
|
||||
|
||||
void PrintStepLengthDiagnostic( G4double currentProposedStepLength,
|
||||
G4double decreaseFactor,
|
||||
G4double stepTrial,
|
||||
const G4FieldTrack& aFieldTrack);
|
||||
|
||||
private:
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
@@ -195,7 +230,7 @@ class G4PropagatorInField
|
||||
G4double fEpsilonMax;
|
||||
// Limits for the Relative accuracy of any Step
|
||||
|
||||
G4int fmax_loop_count;
|
||||
G4int fMax_loop_count;
|
||||
|
||||
// Variables to keep track of "abnormal" case - which causes loop
|
||||
//
|
||||
@@ -210,27 +245,19 @@ class G4PropagatorInField
|
||||
|
||||
G4double fCharge, fInitialMomentumModulus, fMass;
|
||||
|
||||
// Introducing smooth curved trajectory display (jacek 30/10/2002)
|
||||
public:
|
||||
//
|
||||
void SetTrajectoryFilter(G4VCurvedTrajectoryFilter* filter);
|
||||
// Last safety origin & value: for optimisation
|
||||
G4ThreeVector fPreviousSftOrigin;
|
||||
G4double fPreviousSafety;
|
||||
|
||||
// Flag whether field manager has been set for the current step
|
||||
G4bool fSetFieldMgr;
|
||||
|
||||
// Access the points which have passed through the filter. The
|
||||
// points are stored as ThreeVectors for the initial impelmentation
|
||||
// only (jacek 30/10/2002)
|
||||
// Responsibility for deleting the points lies with
|
||||
// SmoothTrajectoryPoint, which is the points' final
|
||||
// destination. The points pointer is set to NULL, to ensure that
|
||||
// the points are not re-used in subsequent steps, therefore THIS
|
||||
// METHOD MUST BE CALLED EXACTLY ONCE PER STEP. (jacek 08/11/2002)
|
||||
G4std::vector<G4ThreeVector>* GimmeTrajectoryVectorAndForgetIt() const;
|
||||
private:
|
||||
// The filter encapsulates the algorithm which selects which
|
||||
// intermediate points should be stored in a trajectory. If the
|
||||
// pointer is not NULL, then PIF should submit all the intermediate
|
||||
// points it calculates, to the filter. The pointer should be set to
|
||||
// NULL when no intermediate points need to be stored. This
|
||||
// (jacek 04/11/2002)
|
||||
// intermediate points should be stored in a trajectory.
|
||||
// When it is NULL, no intermediate points will be stored.
|
||||
// Else PIF::ComputeStep must submit (all) intermediate
|
||||
// points it calculates, to this filter. (jacek 04/11/2002)
|
||||
G4VCurvedTrajectoryFilter* fpTrajectoryFilter;
|
||||
};
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PropagatorInField.icc,v 1.31 2002/10/29 18:36:57 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4PropagatorInField.icc,v 1.33 2003/06/21 00:38:33 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------------------
|
||||
@@ -95,13 +95,13 @@ G4bool G4PropagatorInField::IsParticleLooping() const
|
||||
inline
|
||||
G4int G4PropagatorInField::GetMaxLoopCount() const
|
||||
{
|
||||
return fmax_loop_count;
|
||||
return fMax_loop_count;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4PropagatorInField::SetMaxLoopCount( G4int new_max )
|
||||
{
|
||||
fmax_loop_count = new_max;
|
||||
fMax_loop_count = new_max;
|
||||
}
|
||||
|
||||
inline
|
||||
@@ -239,3 +239,8 @@ G4int G4PropagatorInField::GetThresholdNoZeroSteps( G4int i )
|
||||
return t;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4PropagatorInField::SetDetectorFieldManager(G4FieldManager* newDetectorFieldManager)
|
||||
{
|
||||
fDetectorFieldMgr = newDetectorFieldManager;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ReplicaNavigation.hh,v 1.5 2002/07/23 08:50:36 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4ReplicaNavigation
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ReplicaNavigation.icc,v 1.8 2003/04/02 14:28:04 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4ReplicaNavigation Inline implementation
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4TouchableHistory.hh,v 1.6 2002/07/23 08:50:36 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// 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-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// Class G4TouchableHistoryHandle
|
||||
//
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4TransportationManager.hh,v 1.8 2002/07/23 08:50:36 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4TransportationManager.hh,v 1.9 2003/06/13 09:30:06 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// class G4TransportationManager
|
||||
//
|
||||
@@ -60,7 +60,7 @@ class G4TransportationManager
|
||||
|
||||
inline void SetNavigatorForTracking( G4Navigator* newNavigator );
|
||||
inline void SetPropagatorInField( G4PropagatorInField* newFieldPropagator );
|
||||
inline void SetFieldManager( G4FieldManager* newFieldManager );
|
||||
void SetFieldManager( G4FieldManager* newFieldManager );
|
||||
|
||||
~G4TransportationManager();
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4TransportationManager.icc,v 1.6 2002/07/23 08:50:36 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4TransportationManager.icc,v 1.7 2003/06/13 09:30:06 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 inlined function members implementation
|
||||
// ------------------------------------------------------------
|
||||
@@ -62,8 +62,3 @@ void G4TransportationManager::SetPropagatorInField(
|
||||
fPropagatorInField = newFieldPropagator;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4TransportationManager::SetFieldManager(G4FieldManager* newFieldManager)
|
||||
{
|
||||
fFieldManager = newFieldManager;
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VCurvedTrajectoryFilter.hh,v 1.4 2003/02/06 18:53:14 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4VCurvedTrajectoryFilter.hh,v 1.5 2003/06/16 16:54:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4VCurevedTrajectoryFilter
|
||||
@@ -50,7 +50,7 @@
|
||||
#define G4VCurvedTrajectoryFilter_hh
|
||||
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
#include "G4TransportationManager.hh"
|
||||
|
||||
class G4VCurvedTrajectoryFilter
|
||||
@@ -72,11 +72,11 @@ public: // with description
|
||||
// rejecting. Derived classes should implement the filtering algorithm
|
||||
// in this method.
|
||||
|
||||
G4std::vector<G4ThreeVector>* GimmeThePointsAndForgetThem();
|
||||
std::vector<G4ThreeVector>* GimmeThePointsAndForgetThem();
|
||||
|
||||
protected:
|
||||
|
||||
G4std::vector<G4ThreeVector>* fpFilteredPoints;
|
||||
std::vector<G4ThreeVector>* fpFilteredPoints;
|
||||
};
|
||||
|
||||
#endif /* End of ifndef G4VCurvedTrajectoryFilter_hh */
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VoxelNavigation.hh,v 1.11 2002/07/23 08:50:37 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4VoxelNavigation.hh,v 1.12 2003/06/16 16:54:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4VoxelNavigation
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
// Required for voxel handling & voxel stack
|
||||
//
|
||||
#include "g4std/vector"
|
||||
#include <vector>
|
||||
#include "G4SmartVoxelProxy.hh"
|
||||
#include "G4SmartVoxelNode.hh"
|
||||
#include "G4SmartVoxelHeader.hh"
|
||||
@@ -111,19 +111,19 @@ class G4VoxelNavigation
|
||||
// Note: fVoxelDepth==0+ => fVoxelAxisStack(0+) contains axes of voxel
|
||||
// fVoxelDepth==-1 -> not in voxel
|
||||
|
||||
G4std::vector<EAxis> fVoxelAxisStack;
|
||||
std::vector<EAxis> fVoxelAxisStack;
|
||||
// Voxel axes
|
||||
|
||||
G4std::vector<G4int> fVoxelNoSlicesStack;
|
||||
std::vector<G4int> fVoxelNoSlicesStack;
|
||||
// No slices per voxel at each level
|
||||
|
||||
G4std::vector<G4double> fVoxelSliceWidthStack;
|
||||
std::vector<G4double> fVoxelSliceWidthStack;
|
||||
// Width of voxels at each level
|
||||
|
||||
G4std::vector<G4int> fVoxelNodeNoStack;
|
||||
std::vector<G4int> fVoxelNodeNoStack;
|
||||
// Node no point is inside at each level
|
||||
|
||||
G4std::vector<G4SmartVoxelHeader*> fVoxelHeaderStack;
|
||||
std::vector<G4SmartVoxelHeader*> fVoxelHeaderStack;
|
||||
// Voxel headers at each level
|
||||
|
||||
G4SmartVoxelNode* fVoxelNode;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VoxelNavigation.icc,v 1.10 2002/05/15 10:21:48 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// class G4VoxelNavigation Inline implementation
|
||||
|
||||
Reference in New Issue
Block a user