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
+27 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.21 2001/06/06 08:37:11 gcosmo Exp $
$Id: History,v 1.27 2001/12/06 10:06:43 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,32 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Dec 06, 01 G.Cosmo (tracking-V03-02-05)
- G4SteppingVerbose.cc: removed trigraph warning on Linux-g++.
Nov 27, 01 J.Apostolakis (tracking-V03-02-04)
Correction to the use the touchable Handle for secondary tracks,
when it is available.
Now the direction is used in locating a particle (primary or
secondary) in SetInitialStep. This is in order to assist in
starting particles that are on/near-to boundaries in the correct
volume.
Nov 27, 01 J.Apostolakis (tracking-V03-02-03)
Initial step now uses the touchable Handle of the secondary track,
when it exists and is valid.
To be useful this tag depends the tag track-V03-02-07,
which enables touchable handles in secondaries.
Nov 08, 01 G.Cosmo (tracking-V03-02-02)
- Introduced changes for reference-counted touchables (T.Sasaki).
- Removed warnings from Linux-g++ (R.Chytracek).
- Some reformatting (R.Chytracek).
Oct 11, 01 G.Cosmo (tracking-V03-02-00)
- G4VSteppingVerbose.hh: removed redundant inclusion of RW wrapper header.
Jun 06, 01 G.Cosmo (tracking-V03-01-02)
- G4SteppingManager.cc: explicitly initialise values to zero in STL
collections fSelectedAtRestDoItVector, fSelectedAlongStepDoItVector, and
+141 -189
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingManager.hh,v 1.16.2.1 2001/06/28 19:15:29 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SteppingManager.hh,v 1.18 2001/11/07 13:02:07 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//---------------------------------------------------------------
//
@@ -73,8 +73,8 @@ class G4VSensitiveDetector;
#include "G4Step.hh" // Include from 'tracking'
#include "G4StepPoint.hh" // Include from 'tracking'
#include "G4VSteppingVerbose.hh" // Include from 'tracking'
#include "G4VTouchable.hh" // Include from 'geometry'
#include "G4TouchableHistory.hh" // Include from 'geometry'
#include "G4TouchableHandle.hh" // Include from 'geometry'
#include "G4TouchableHistoryHandle.hh" // Include from 'geometry'
// must be changed in elegant way
static const size_t SizeOfSelectedDoItVector=100;
@@ -172,10 +172,7 @@ public: //without description
G4SelectedAlongStepDoItVector* GetfSelectedAlongStepDoItVector();
G4SelectedPostStepDoItVector* GetfSelectedPostStepDoItVector();
G4double GetfPreviousStepSize();
const G4VTouchable* GetfTouchable1();
const G4VTouchable* GetfTouchable2();
G4bool GetfIsTouchable1Free();
G4bool GetfIsTouchable2Free();
const G4TouchableHandle& GetTouchableHandle();
G4SteppingControl GetStepControlFlag();
G4Navigator GetNavigator();
G4UserSteppingAction* GetUserAction();
@@ -200,18 +197,9 @@ public: //without description
void SetNavigator(G4Navigator* value);
G4double CalculateSafety();
// Return the estimated safety value at the PostStepPoint
const G4VTouchable* GetFreeTouchable();
// Get Touchable which is free, i.e. not assigined to Track/StepPoint
// If no free touchable is availabe, the NULL will be returned
// Once you get a Touchable, it will be set to NotFree.
void SetAnotherTouchableFree(const G4VTouchable* value);
// Set the partner of the given Touchable to be free. For example,
// the argument has fTouchable1, then fTouchable2 will be set to
// free. The state of fTouchable1 is intact.
// Member data
// Member data
G4UserSteppingAction* fUserSteppingAction;
G4VSteppingVerbose* fVerbose;
@@ -278,10 +266,7 @@ public: //without description
G4double fPreviousStepSize;
const G4VTouchable* fTouchable1;
const G4VTouchable* fTouchable2;
G4bool fIsTouchable1Free;
G4bool fIsTouchable2Free;
G4TouchableHandle fTouchableHandle;
G4SteppingControl StepControlFlag;
@@ -319,170 +304,161 @@ public: //without description
inline G4double G4SteppingManager::GetCorrectedStep(){
return CorrectedStep;
}
inline G4bool G4SteppingManager::GetPreStepPointIsGeom(){
return PreStepPointIsGeom;
}
inline G4bool G4SteppingManager::GetPreStepPointIsGeom(){
return PreStepPointIsGeom;
}
inline G4bool G4SteppingManager::GetFirstStep(){
return FirstStep;
}
inline G4bool G4SteppingManager::GetFirstStep(){
return FirstStep;
}
inline G4StepStatus G4SteppingManager::GetfStepStatus(){
return fStepStatus;
}
inline G4StepStatus G4SteppingManager::GetfStepStatus(){
return fStepStatus;
}
inline G4double G4SteppingManager::GetTempInitVelocity(){
return TempInitVelocity;
}
inline G4double G4SteppingManager::GetTempVelocity(){
return TempVelocity;
}
inline G4double G4SteppingManager::GetMass(){
return Mass;
}
inline G4double G4SteppingManager::GetTempInitVelocity(){
return TempInitVelocity;
}
inline G4double G4SteppingManager::GetTempVelocity(){
return TempVelocity;
}
inline G4double G4SteppingManager::GetMass(){
return Mass;
}
inline G4double G4SteppingManager::GetsumEnergyChange(){
return sumEnergyChange;
}
inline G4double G4SteppingManager::GetsumEnergyChange(){
return sumEnergyChange;
}
inline G4VParticleChange* G4SteppingManager::GetfParticleChange(){
return fParticleChange;
}
inline G4VParticleChange* G4SteppingManager::GetfParticleChange(){
return fParticleChange;
}
inline G4Track* G4SteppingManager::GetfTrack(){
return fTrack;
}
inline G4Track* G4SteppingManager::GetfTrack(){
return fTrack;
}
inline G4TrackVector* G4SteppingManager::GetfSecondary(){
return fSecondary;
}
inline G4Step* G4SteppingManager::GetfStep(){
return fStep;
}
inline G4StepPoint* G4SteppingManager::GetfPreStepPoint(){
return fPreStepPoint;
}
inline G4StepPoint* G4SteppingManager::GetfPostStepPoint(){
return fPostStepPoint;
}
inline G4TrackVector* G4SteppingManager::GetfSecondary(){
return fSecondary;
}
inline G4Step* G4SteppingManager::GetfStep(){
return fStep;
}
inline G4StepPoint* G4SteppingManager::GetfPreStepPoint(){
return fPreStepPoint;
}
inline G4StepPoint* G4SteppingManager::GetfPostStepPoint(){
return fPostStepPoint;
}
inline G4VPhysicalVolume* G4SteppingManager::GetfCurrentVolume(){
return fCurrentVolume;
}
inline G4VSensitiveDetector* G4SteppingManager::GetfSensitive(){
return fSensitive;
}
inline G4VProcess* G4SteppingManager::GetfCurrentProcess(){
return fCurrentProcess;
}
inline G4VPhysicalVolume* G4SteppingManager::GetfCurrentVolume(){
return fCurrentVolume;
}
inline G4VSensitiveDetector* G4SteppingManager::GetfSensitive(){
return fSensitive;
}
inline G4VProcess* G4SteppingManager::GetfCurrentProcess(){
return fCurrentProcess;
}
inline G4ProcessVector* G4SteppingManager::GetfAtRestDoItVector(){
return fAtRestDoItVector;
}
inline G4ProcessVector* G4SteppingManager::GetfAlongStepDoItVector(){
return fAlongStepDoItVector;
}
inline G4ProcessVector* G4SteppingManager::GetfPostStepDoItVector(){
return fPostStepDoItVector;
}
inline G4ProcessVector* G4SteppingManager::GetfAtRestDoItVector(){
return fAtRestDoItVector;
}
inline G4ProcessVector* G4SteppingManager::GetfAlongStepDoItVector(){
return fAlongStepDoItVector;
}
inline G4ProcessVector* G4SteppingManager::GetfPostStepDoItVector(){
return fPostStepDoItVector;
}
inline G4ProcessVector* G4SteppingManager::GetfAtRestGetPhysIntVector(){
return fAtRestGetPhysIntVector;
}
inline G4ProcessVector* G4SteppingManager::GetfAtRestGetPhysIntVector(){
return fAtRestGetPhysIntVector;
}
inline G4ProcessVector* G4SteppingManager::GetfAlongStepGetPhysIntVector(){
return fAlongStepGetPhysIntVector;
}
inline G4ProcessVector* G4SteppingManager::GetfAlongStepGetPhysIntVector(){
return fAlongStepGetPhysIntVector;
}
inline G4ProcessVector* G4SteppingManager::GetfPostStepGetPhysIntVector(){
return fPostStepGetPhysIntVector;
}
inline G4ProcessVector* G4SteppingManager::GetfPostStepGetPhysIntVector(){
return fPostStepGetPhysIntVector;
}
inline size_t G4SteppingManager::GetMAXofAtRestLoops(){
return MAXofAtRestLoops;
}
inline size_t G4SteppingManager::GetMAXofAlongStepLoops(){
return MAXofAlongStepLoops;
}
inline size_t G4SteppingManager::GetMAXofPostStepLoops(){
return MAXofPostStepLoops;
}
inline size_t G4SteppingManager::GetMAXofAtRestLoops(){
return MAXofAtRestLoops;
}
inline size_t G4SteppingManager::GetMAXofAlongStepLoops(){
return MAXofAlongStepLoops;
}
inline size_t G4SteppingManager::GetMAXofPostStepLoops(){
return MAXofPostStepLoops;
}
inline G4double G4SteppingManager::GetcurrentMinimumStep(){
return currentMinimumStep;
}
inline G4double G4SteppingManager::GetnumberOfInteractionLengthLeft(){
return numberOfInteractionLengthLeft;
}
inline G4double G4SteppingManager::GetcurrentMinimumStep(){
return currentMinimumStep;
}
inline G4double G4SteppingManager::GetnumberOfInteractionLengthLeft(){
return numberOfInteractionLengthLeft;
}
inline size_t G4SteppingManager::GetfAtRestDoItProcTriggered(){
return fAtRestDoItProcTriggered;
}
inline size_t G4SteppingManager::GetfAlongStepDoItProcTriggered(){
return fAtRestDoItProcTriggered;
}
inline size_t G4SteppingManager::GetfPostStepDoItProcTriggered(){
return fPostStepDoItProcTriggered;
}
inline G4int G4SteppingManager::GetfN2ndariesAtRestDoIt(){
return fN2ndariesAtRestDoIt;
}
inline G4int G4SteppingManager::GetfN2ndariesAlongStepDoIt(){
return fN2ndariesAlongStepDoIt;
}
inline G4int G4SteppingManager::GetfN2ndariesPostStepDoIt(){
return fN2ndariesPostStepDoIt;
}
inline size_t G4SteppingManager::GetfAtRestDoItProcTriggered(){
return fAtRestDoItProcTriggered;
}
inline size_t G4SteppingManager::GetfAlongStepDoItProcTriggered(){
return fAtRestDoItProcTriggered;
}
inline size_t G4SteppingManager::GetfPostStepDoItProcTriggered(){
return fPostStepDoItProcTriggered;
}
inline G4int G4SteppingManager::GetfN2ndariesAtRestDoIt(){
return fN2ndariesAtRestDoIt;
}
inline G4int G4SteppingManager::GetfN2ndariesAlongStepDoIt(){
return fN2ndariesAlongStepDoIt;
}
inline G4int G4SteppingManager::GetfN2ndariesPostStepDoIt(){
return fN2ndariesPostStepDoIt;
}
inline G4Navigator* G4SteppingManager::GetfNavigator(){
return fNavigator;
}
inline G4int G4SteppingManager::GetverboseLevel(){
return verboseLevel;
}
inline G4Navigator* G4SteppingManager::GetfNavigator(){
return fNavigator;
}
inline G4int G4SteppingManager::GetverboseLevel(){
return verboseLevel;
}
inline G4SelectedAtRestDoItVector* G4SteppingManager::GetfSelectedAtRestDoItVector(){
return fSelectedAtRestDoItVector;
}
inline G4SelectedAtRestDoItVector* G4SteppingManager::GetfSelectedAtRestDoItVector(){
return fSelectedAtRestDoItVector;
}
inline G4SelectedAlongStepDoItVector* G4SteppingManager::GetfSelectedAlongStepDoItVector(){
return fSelectedAlongStepDoItVector;
}
inline G4SelectedAlongStepDoItVector* G4SteppingManager::GetfSelectedAlongStepDoItVector(){
return fSelectedAlongStepDoItVector;
}
inline G4SelectedPostStepDoItVector* G4SteppingManager::GetfSelectedPostStepDoItVector(){
return fSelectedPostStepDoItVector;
}
inline G4SelectedPostStepDoItVector* G4SteppingManager::GetfSelectedPostStepDoItVector(){
return fSelectedPostStepDoItVector;
}
inline G4double G4SteppingManager::GetfPreviousStepSize(){
return fPreviousStepSize;
}
inline G4double G4SteppingManager::GetfPreviousStepSize(){
return fPreviousStepSize;
}
inline const G4VTouchable* G4SteppingManager::GetfTouchable1(){
return fTouchable1;
}
inline const G4VTouchable* G4SteppingManager::GetfTouchable2(){
return fTouchable2;
}
inline G4bool G4SteppingManager::GetfIsTouchable1Free(){
return fIsTouchable1Free;
}
inline G4bool G4SteppingManager::GetfIsTouchable2Free(){
return fIsTouchable2Free;
}
inline G4SteppingControl G4SteppingManager::GetStepControlFlag(){
return StepControlFlag;
}
inline G4double G4SteppingManager::GetphysIntLength(){
return physIntLength;
}
inline G4ForceCondition G4SteppingManager::GetfCondition(){
return fCondition;
}
inline G4GPILSelection G4SteppingManager::GetfGPILSelection(){
return fGPILSelection;
}
inline const G4TouchableHandle& G4SteppingManager::GetTouchableHandle() {
return fTouchableHandle;
}
inline G4SteppingControl G4SteppingManager::GetStepControlFlag(){
return StepControlFlag;
}
inline G4double G4SteppingManager::GetphysIntLength(){
return physIntLength;
}
inline G4ForceCondition G4SteppingManager::GetfCondition(){
return fCondition;
}
inline G4GPILSelection G4SteppingManager::GetfGPILSelection(){
return fGPILSelection;
}
inline G4TrackVector* G4SteppingManager::GetSecondary() const {
return fSecondary;
@@ -521,30 +497,6 @@ public: //without description
0.);
}
inline const G4VTouchable* G4SteppingManager::GetFreeTouchable(){
if(fIsTouchable1Free){
fIsTouchable1Free = false;
return fTouchable1;
}
else if(fIsTouchable2Free){
fIsTouchable2Free = false;
return fTouchable2;
}
else {
return NULL;
}
}
inline void G4SteppingManager::SetAnotherTouchableFree(const G4VTouchable* value){
if(value == fTouchable1){
fIsTouchable2Free = true;
}
else if(value == fTouchable2){
fIsTouchable1Free = true;
}
}
//#include "G4SteppingManager.icc"
#endif
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingVerbose.hh,v 1.8.2.1 2001/06/28 19:15:29 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SteppingVerbose.hh,v 1.9 2001/07/11 10:08:40 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4TrackVector.hh,v 1.7.2.1 2001/06/28 19:15:29 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4TrackVector.hh,v 1.8 2001/07/11 10:08:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4TrackingManager.hh,v 1.12.2.1 2001/06/28 19:15:29 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4TrackingManager.hh,v 1.13 2001/07/11 10:08:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4TrackingMessenger.hh,v 1.6.2.1 2001/06/28 19:15:29 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4TrackingMessenger.hh,v 1.7 2001/07/11 10:08:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
+7 -7
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Trajectory.hh,v 1.12.2.1 2001/06/28 19:15:29 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Trajectory.hh,v 1.14 2001/11/07 10:39:46 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -115,11 +115,11 @@ public: // with description
//---------
TrajectoryPointContainer* positionRecord;
G4int fTrackID;
G4int fParentID;
G4String ParticleName;
G4double PDGCharge;
G4int PDGEncoding;
G4int fTrackID;
G4int fParentID;
G4int PDGEncoding;
G4double PDGCharge;
G4String ParticleName;
};
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4TrajectoryPoint.hh,v 1.6.2.1 2001/06/28 19:15:29 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4TrajectoryPoint.hh,v 1.7 2001/07/11 10:08:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4UserSteppingAction.hh,v 1.6.2.1 2001/06/28 19:15:30 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4UserSteppingAction.hh,v 1.7 2001/07/11 10:08:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4UserTrackingAction.hh,v 1.7.2.1 2001/06/28 19:15:30 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4UserTrackingAction.hh,v 1.8 2001/07/11 10:08:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VSteppingVerbose.hh,v 1.9.2.1 2001/06/28 19:15:30 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VSteppingVerbose.hh,v 1.13 2001/11/07 13:04:50 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -47,7 +47,8 @@
class G4SteppingManager;
#include "globals.hh" // Include from 'global'
#include "g4rw/tvordvec.h"
#include "g4std/vector"
class G4Navigator;
class G4VPhysicalVolume;
class G4VSensitiveDetector;
@@ -59,7 +60,7 @@ class G4Track;
#include "G4StepStatus.hh" // Include from 'track'
class G4UserSteppingAction;
class G4StepPoint;
class G4VTouchable;
#include "G4TouchableHandle.hh"
class G4VParticleChange;
#include "G4ForceCondition.hh" //enum 'track'
#include "G4GPILSelection.hh" //enum 'track'
@@ -177,10 +178,7 @@ protected:
G4double fPreviousStepSize;
const G4VTouchable* fTouchable1;
const G4VTouchable* fTouchable2;
G4bool fIsTouchable1Free;
G4bool fIsTouchable2Free;
G4TouchableHandle fTouchableHandle;
G4SteppingControl StepControlFlag;
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VTrajectory.hh,v 1.5.2.1 2001/06/28 19:15:30 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VTrajectory.hh,v 1.6 2001/07/11 10:08:42 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VTrajectoryPoint.hh,v 1.4.2.1 2001/06/28 19:15:30 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VTrajectoryPoint.hh,v 1.5 2001/07/11 10:08:42 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// class description
+37 -30
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingManager.cc,v 1.14.2.1 2001/06/28 19:15:30 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SteppingManager.cc,v 1.23 2001/12/04 17:15:50 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -53,7 +53,7 @@
//////////////////////////////////////
G4SteppingManager::G4SteppingManager()
//////////////////////////////////////
: verboseLevel(0), fUserSteppingAction(NULL)
: fUserSteppingAction(NULL), verboseLevel(0)
{
// Construct simple 'has-a' related objects
@@ -87,8 +87,7 @@ G4SteppingManager::G4SteppingManager()
SetNavigator(G4TransportationManager::GetTransportationManager()
->GetNavigatorForTracking());
fTouchable1 = new G4TouchableHistory();
fTouchable2 = new G4TouchableHistory();
// fTouchableHandle = new G4TouchableHistory();
}
///////////////////////////////////////
@@ -102,8 +101,6 @@ G4SteppingManager::~G4SteppingManager()
delete fSelectedAtRestDoItVector;
delete fSelectedAlongStepDoItVector;
delete fSelectedPostStepDoItVector;
delete (G4VTouchable*)(fTouchable1);
delete (G4VTouchable*)(fTouchable2);
if (fUserSteppingAction) delete fUserSteppingAction;
#ifdef G4VERBOSE
if(KillVerbose) delete fVerbose;
@@ -130,10 +127,7 @@ G4StepStatus G4SteppingManager::Stepping()
fStep->ResetTotalEnergyDeposit();
// Switch next touchable in track to current one
fTrack->SetTouchable(fTrack->GetNextTouchable());
// Free the touchable which is not used
SetAnotherTouchableFree(fPostStepPoint->GetTouchable());
fTrack->SetTouchableHandle(fTrack->GetNextTouchableHandle());
// Reset the secondary particles
fN2ndariesAtRestDoIt = 0;
@@ -254,8 +248,6 @@ void G4SteppingManager::SetInitialStep(G4Track* valueTrack)
fTrack = valueTrack;
Mass = fTrack->GetDynamicParticle()->GetMass();
fIsTouchable1Free = TRUE;
fIsTouchable2Free = TRUE;
// If the primary track has 'Suspend' or 'PostponeToNextEvent' state,
// set the track state to 'Alive'.
@@ -270,37 +262,52 @@ void G4SteppingManager::SetInitialStep(G4Track* valueTrack)
fTrack->SetTrackStatus( fStopButAlive );
}
// Initialize VTouchable using the point in the global coordinate
// system.
G4VTouchable* pTouchableFree = (G4VTouchable*)(GetFreeTouchable());
fNavigator->LocateGlobalPointAndUpdateTouchable(
fTrack->GetPosition(),
pTouchableFree,
true );
// Set Touchable to track and a private attribute of G4SteppingManager
fTrack->SetTouchable( pTouchableFree );
fTrack->SetNextTouchable( pTouchableFree );
if ( ! fTrack->GetTouchableHandle() ) {
G4ThreeVector direction= fTrack->GetMomentumDirection();
fNavigator->LocateGlobalPointAndSetup( fTrack->GetPosition(), &direction, true, false);
fTouchableHandle = fNavigator->CreateTouchableHistory();
fTrack->SetTouchableHandle( fTouchableHandle );
fTrack->SetNextTouchableHandle( fTouchableHandle );
}else{
fTrack->SetNextTouchableHandle( fTrack->GetTouchableHandle() );
G4VPhysicalVolume* oldTopVolume= fTrack->GetTouchableHandle()->GetVolume();
G4VPhysicalVolume* newTopVolume=
fNavigator->LocateGlobalPointAndSetup( fTrack->GetPosition(),
fTrack->GetMomentumDirection(),*((G4TouchableHistory*)fTrack->GetTouchableHandle()()) );
if(newTopVolume != oldTopVolume ){
fTouchableHandle = fNavigator->CreateTouchableHistory();
fTrack->SetTouchableHandle( fTouchableHandle );
fTrack->SetNextTouchableHandle( fTouchableHandle );
}
}
// Set vertex information of G4Track at here
//corrected on 10APR2001/TS
if ( fTrack->GetCurrentStepNumber() == 0 ) {
fTrack->SetVertexPosition( fTrack->GetPosition() );
fTrack->SetVertexMomentumDirection( fTrack->GetMomentumDirection() );
fTrack->SetVertexKineticEnergy( fTrack->GetKineticEnergy() );
fTrack->SetLogicalVolumeAtVertex( fTrack->GetVolume()->GetLogicalVolume() );
}
// Initial set up for attributes of 'G4SteppingManager'
fCurrentVolume = pTouchableFree->GetVolume();
fCurrentVolume = fTouchableHandle->GetVolume();
// If track is already outside the world boundary, kill it
if( fCurrentVolume==0 ){
fTrack->SetTrackStatus( fStopAndKill );
G4cerr << "G4SteppingManager::SetInitialStep(): warning: "
<< "initial track position is outside world! "
<< fTrack->GetPosition() << G4endl;
}
else {
// Initial set up for attribues of 'Step'
fStep->InitializeStep( fTrack );
fStep->InitializeStep( fTrack );
}
#ifdef G4VERBOSE
// !!!!! Verbose
if(verboseLevel>0) fVerbose->TrackingStarted();
#endif
// If track is already outside the world boundary, kill it
if( fTrack->GetVolume()==0 ){
fTrack->SetTrackStatus( fStopAndKill );
}
}
+4 -4
View File
@@ -21,13 +21,13 @@
// ********************************************************************
//
//
// $Id: G4SteppingManager2.cc,v 1.1.2.1 2001/06/28 19:15:30 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SteppingManager2.cc,v 1.4 2001/11/07 13:14:45 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
//
// G4SteppingManager.icc
// G4SteppingManager2.cc
//
// Description:
// This class represents the manager who steers to move the give
@@ -223,7 +223,7 @@ void G4SteppingManager::InvokeAtRestDoItProcs()
fN2ndariesAtRestDoIt = 0;
shortestLifeTime = DBL_MAX;
int NofInactiveProc=0;
unsigned int NofInactiveProc=0;
for( size_t ri=0 ; ri < MAXofAtRestLoops ; ri++ ){
fCurrentProcess = (*fAtRestGetPhysIntVector)[ri];
if (fCurrentProcess== NULL) {
+246 -293
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingVerbose.cc,v 1.7.2.1 2001/06/28 19:15:31 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SteppingVerbose.cc,v 1.10 2001/12/06 10:04:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -87,41 +87,37 @@ void G4SteppingVerbose::AtRestDoItInvoked()
for(size_t np=0; np < MAXofAtRestLoops; np++){
size_t npGPIL = MAXofAtRestLoops-np-1;
if( (*fSelectedAtRestDoItVector)[npGPIL] == 2 ){
npt++;
ptProcManager = (*fAtRestDoItVector)[np];
G4cout << " # " << npt << " : "
<< ptProcManager->GetProcessName()
<< " (Forced)" << G4endl;
npt++;
ptProcManager = (*fAtRestDoItVector)[np];
G4cout << " # " << npt << " : "
<< ptProcManager->GetProcessName()
<< " (Forced)" << G4endl;
} else if ( (*fSelectedAtRestDoItVector)[npGPIL] == 1 ){
npt++;
ptProcManager = (*fAtRestDoItVector)[np];
G4cout << " # " << npt << " : "
<< ptProcManager->GetProcessName() << G4endl;
npt++;
ptProcManager = (*fAtRestDoItVector)[np];
G4cout << " # " << npt << " : " << ptProcManager->GetProcessName() << G4endl;
}
}
G4cout << " Generated secondries # : " << fN2ndariesAtRestDoIt << G4endl;
if( fN2ndariesAtRestDoIt > 0 ){
G4cout << " -- List of secondaries generated : "
<< "(x,y,z,kE,t,PID) --" << G4endl;
for( G4int lp1=(*fSecondary).size()-fN2ndariesAtRestDoIt;
lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),"Energy") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),"Time") << " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()
->GetParticleName();
G4cout << G4endl;
G4cout << " -- List of secondaries generated : " << "(x,y,z,kE,t,PID) --" << G4endl;
for( size_t lp1=(*fSecondary).size()-fN2ndariesAtRestDoIt;
lp1<(*fSecondary).size(); lp1++) {
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),"Energy") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),"Time") << " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << G4endl;
}
}
}
@@ -139,46 +135,44 @@ void G4SteppingVerbose::AlongStepDoItAllDone()
CopyState();
if(verboseLevel >= 3){
G4cout << G4endl;
G4cout << " >>AlongStepDoIt (after all invocations):" << G4endl;
G4cout << " ++List of invoked processes " << G4endl;
for(size_t ci=0; ci<MAXofAlongStepLoops; ci++){
ptProcManager = (*fAlongStepDoItVector)(ci);
G4cout << " " << ci+1 << ") ";
if(ptProcManager != NULL){
G4cout << ptProcManager->GetProcessName() << G4endl;
}
}
if(verboseLevel >= 3){
G4cout << G4endl;
G4cout << " >>AlongStepDoIt (after all invocations):" << G4endl;
G4cout << " ++List of invoked processes " << G4endl;
ShowStep();
G4cout << G4endl;
G4cout << " ++List of secondaries generated "
for(size_t ci=0; ci<MAXofAlongStepLoops; ci++){
ptProcManager = (*fAlongStepDoItVector)(ci);
G4cout << " " << ci+1 << ") ";
if(ptProcManager != NULL){
G4cout << ptProcManager->GetProcessName() << G4endl;
}
}
ShowStep();
G4cout << G4endl;
G4cout << " ++List of secondaries generated "
<< "(x,y,z,kE,t,PID):"
<< " No. of secodaries = "
<< (*fSecondary).size() << G4endl;
if((*fSecondary).size()>0){
for(G4int lp1=0; lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),"Energy") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),"Time") << " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()
->GetParticleName();
G4cout << G4endl;
}
}
}
if((*fSecondary).size()>0){
for(size_t lp1=0; lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),"Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),"Energy") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),"Time") << " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << G4endl;
}
}
}
}
////////////////////////////////////////////////////
void G4SteppingVerbose::PostStepDoItAllDone()
@@ -191,64 +185,60 @@ void G4SteppingVerbose::PostStepDoItAllDone()
if(fStepStatus != fPostStepDoItProc) return;
if(verboseLevel >= 3){
G4int npt=0;
G4cout << G4endl;
G4cout << " **PostStepDoIt (after all invocations):" << G4endl;
G4cout << " ++List of invoked processes " << G4endl;
G4int npt=0;
G4cout << G4endl;
G4cout << " **PostStepDoIt (after all invocations):" << G4endl;
G4cout << " ++List of invoked processes " << G4endl;
for(size_t np=0; np < MAXofPostStepLoops; np++){
size_t npGPIL = MAXofPostStepLoops-np-1;
if( (*fSelectedPostStepDoItVector)[npGPIL] == 2){
npt++;
ptProcManager = (*fPostStepDoItVector)[np];
G4cout << " " << npt << ") "
<< ptProcManager->GetProcessName()
<< " (Forced)" << G4endl;
} else if ( (*fSelectedPostStepDoItVector)[npGPIL] == 1){
npt++;
ptProcManager = (*fPostStepDoItVector)[np];
G4cout << " " << npt << ") "
<< ptProcManager->GetProcessName() << G4endl;
}
}
for(size_t np=0; np < MAXofPostStepLoops; np++){
size_t npGPIL = MAXofPostStepLoops-np-1;
if( (*fSelectedPostStepDoItVector)[npGPIL] == 2){
npt++;
ptProcManager = (*fPostStepDoItVector)[np];
G4cout << " " << npt << ") "
<< ptProcManager->GetProcessName()
<< " (Forced)" << G4endl;
} else if ( (*fSelectedPostStepDoItVector)[npGPIL] == 1){
npt++;
ptProcManager = (*fPostStepDoItVector)[np];
G4cout << " " << npt << ") " << ptProcManager->GetProcessName() << G4endl;
}
}
ShowStep();
G4cout << G4endl;
G4cout << " ++List of secondaries generated "
ShowStep();
G4cout << G4endl;
G4cout << " ++List of secondaries generated "
<< "(x,y,z,kE,t,PID):"
<< " No. of secodaries = "
<< (*fSecondary).size() << G4endl;
G4cout << " [Note]Secondaries from AlongStepDoIt included."
<< G4endl;
G4cout << " [Note]Secondaries from AlongStepDoIt included." << G4endl;
if((*fSecondary).size()>0){
for(G4int lp1=0; lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z() , "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , "Energy") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime() , "Time") << " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()
->GetParticleName();
G4cout << G4endl;
}
}
}
if((*fSecondary).size()>0){
for(size_t lp1=0; lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z() , "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , "Energy") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime() , "Time") << " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << G4endl;
}
}
}
}
}
/////////////////////////////////////////
void G4SteppingVerbose::StepInfo()
/////////////////////////////////////////
{
CopyState();
G4int prec = G4cout.precision(3);
if( verboseLevel >= 1 ){
@@ -257,96 +247,76 @@ void G4SteppingVerbose::StepInfo()
G4cout << G4endl;
#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
G4cout << G4std::setw( 5) << "#Step#" << " "
<< G4std::setw( 8) << "X" << " "
<< G4std::setw( 8) << "Y" << " "
<< G4std::setw( 8) << "X" << " " << G4std::setw( 8) << "Y" << " "
<< G4std::setw( 8) << "Z" << " "
<< G4std::setw( 9) << "KineE" << " "
<< G4std::setw( 8) << "dE" << " "
<< G4std::setw(12) << "StepLeng" << " "
<< G4std::setw(12) << "TrackLeng" << " "
<< G4std::setw(12) << "NextVolume" << " "
<< G4std::setw( 8) << "ProcName" << G4endl;
<< G4std::setw( 9) << "KineE" << " " << G4std::setw( 8) << "dE" << " "
<< G4std::setw(12) << "StepLeng" << " " << G4std::setw(12) << "TrackLeng" << " "
<< G4std::setw(12) << "NextVolume" << " " << G4std::setw( 8) << "ProcName" << G4endl;
#else
G4cout << G4std::setw( 5) << "#Step#" << " "
<< G4std::setw( 8) << "X(mm)" << " "
<< G4std::setw( 8) << "Y(mm)" << " "
G4cout << G4std::setw( 5) << "#Step#" << " "
<< G4std::setw( 8) << "X(mm)" << " " << G4std::setw( 8) << "Y(mm)" << " "
<< G4std::setw( 8) << "Z(mm)" << " "
<< G4std::setw( 9) << "KinE(MeV)" << " "
<< G4std::setw( 8) << "dE(MeV)" << " "
<< G4std::setw( 8) << "StepLeng" << " "
<< G4std::setw( 9) << "TrackLeng" << " "
<< G4std::setw(11) << "NextVolume" << " "
<< G4std::setw( 8) << "ProcName" << G4endl;
<< G4std::setw( 9) << "KinE(MeV)" << " " << G4std::setw( 8) << "dE(MeV)" << " "
<< G4std::setw( 8) << "StepLeng" << " " << G4std::setw( 9) << "TrackLeng" << " "
<< G4std::setw(11) << "NextVolume" << " " << G4std::setw( 8) << "ProcName" << G4endl;
#endif
}
G4cout << G4std::setw( 5) << fTrack->GetCurrentStepNumber() << " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().x() , "Length") << " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().y() , "Length") << " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().z() , "Length") << " "
<< G4std::setw( 9) << G4BestUnit(fTrack->GetKineticEnergy() , "Energy") << " "
<< G4std::setw( 8) << G4BestUnit(fStep->GetTotalEnergyDeposit(), "Energy") << " "
<< G4std::setw( 8) << G4BestUnit(fStep->GetStepLength() , "Length") << " "
<< G4std::setw( 9) << G4BestUnit(fTrack->GetTrackLength() , "Length") << " ";
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().x() , "Length") << " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().y() , "Length") << " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().z() , "Length") << " "
<< G4std::setw( 9) << G4BestUnit(fTrack->GetKineticEnergy() , "Energy") << " "
<< G4std::setw( 8) << G4BestUnit(fStep->GetTotalEnergyDeposit(), "Energy") << " "
<< G4std::setw( 8) << G4BestUnit(fStep->GetStepLength() , "Length") << " "
<< G4std::setw( 9) << G4BestUnit(fTrack->GetTrackLength() , "Length") << " ";
// if( fStepStatus != fWorldBoundary){
// Put cut comment here
if( fTrack->GetNextVolume() != 0 ) {
G4cout << G4std::setw(11) << fTrack->GetNextVolume()->GetName() << " ";
} else {
G4cout << G4std::setw(11) << "OutOfWorld" << " ";
}
if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){
G4cout << fStep->GetPostStepPoint()->GetProcessDefinedStep()
->GetProcessName();
G4cout << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
} else {
G4cout << "User Limit";
}
G4cout << G4endl;
if( verboseLevel == 2 ){
G4int tN2ndariesTot = fN2ndariesAtRestDoIt +
fN2ndariesAlongStepDoIt +
fN2ndariesPostStepDoIt;
if( verboseLevel == 2 )
{
G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt + fN2ndariesPostStepDoIt;
if(tN2ndariesTot>0){
G4cout << " :----- List of 2ndaries - "
<< "#SpawnInStep=" << G4std::setw(3) << tN2ndariesTot
<< "(Rest=" << G4std::setw(2) << fN2ndariesAtRestDoIt
<< ",Along=" << G4std::setw(2) << fN2ndariesAlongStepDoIt
<< ",Post=" << G4std::setw(2) << fN2ndariesPostStepDoIt
<< "), "
<< "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).size()
<< " ---------------"
<< G4endl;
G4cout << " :----- List of 2ndaries - "
<< "#SpawnInStep=" << G4std::setw(3) << tN2ndariesTot
<< "(Rest=" << G4std::setw(2) << fN2ndariesAtRestDoIt
<< ",Along=" << G4std::setw(2) << fN2ndariesAlongStepDoIt
<< ",Post=" << G4std::setw(2) << fN2ndariesPostStepDoIt
<< "), "
<< "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).size()
<< " ---------------"
<< G4endl;
for(G4int lp1=(*fSecondary).size()-tN2ndariesTot;
lp1<(*fSecondary).size(); lp1++){
G4cout << " : "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z() , "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , "Energy")<< " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()
->GetParticleName();
G4cout << G4endl;
}
G4cout << " :-----------------------------"
<< "----------------------------------"
<< "-- EndOf2ndaries Info ---------------"
<< G4endl;
for(size_t lp1=(*fSecondary).size()-tN2ndariesTot; lp1<(*fSecondary).size(); lp1++){
G4cout << " : "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z() , "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , "Energy")<< " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << G4endl;
}
G4cout << " :-----------------------------" << "----------------------------------"
<< "-- EndOf2ndaries Info ---------------" << G4endl;
}
}
}
G4cout.precision(prec);
}
// Put cut comment here if( fStepStatus != fWorldBoundary){
////////////////////////////////////////////
void G4SteppingVerbose::DPSLStarted()
@@ -355,9 +325,7 @@ void G4SteppingVerbose::DPSLStarted()
CopyState();
if( verboseLevel > 5 ){
G4cout << G4endl;
G4cout << " >>DefinePhysicalStepLength (List of proposed StepLengths): "
<< G4endl;
G4cout << G4endl << " >>DefinePhysicalStepLength (List of proposed StepLengths): " << G4endl;
}
}
//////////////////////////////////////////////
@@ -368,11 +336,9 @@ void G4SteppingVerbose::DPSLUserLimit()
if( verboseLevel > 5 ){
G4cout << G4endl << G4endl;
G4cout << "=== Defined Physical Step Length (DPSL)" << G4endl;
G4cout << " ++ProposedStep(UserLimit) = "
<< G4std::setw( 9) << physIntLength
<< " : ProcName = User defined maximum allowed Step"
<< G4endl;
G4cout << "=== Defined Physical Step Length (DPSL)" << G4endl;
G4cout << " ++ProposedStep(UserLimit) = " << G4std::setw( 9) << physIntLength
<< " : ProcName = User defined maximum allowed Step" << G4endl;
}
}
/////////////////////////////////////////////
@@ -382,11 +348,8 @@ void G4SteppingVerbose::DPSLPostStep()
CopyState();
if( verboseLevel > 5 ){
G4cout << " ++ProposedStep(PostStep ) = "
<< G4std::setw( 9) << physIntLength
<< " : ProcName = "
<< fCurrentProcess->GetProcessName()
<< " (";
G4cout << " ++ProposedStep(PostStep ) = " << G4std::setw( 9) << physIntLength
<< " : ProcName = " << fCurrentProcess->GetProcessName() << " (";
if(fCondition==ExclusivelyForced){
G4cout << "ExclusivelyForced)" << G4endl;
}
@@ -419,7 +382,7 @@ void G4SteppingVerbose::DPSLAlongStep()
G4cout << "NotCandidateForSelection)" << G4endl;
}
else{
G4cout << "???)" << G4endl;
G4cout << "?!?)" << G4endl;
}
}
}
@@ -437,35 +400,35 @@ G4int prec = G4cout.precision(3);
#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
G4cout << G4std::setw( 5) << "Step#" << " "
<< G4std::setw( 8) << "X" << " "
<< G4std::setw( 8) << "Y" << " "
<< G4std::setw( 8) << "Z" << " "
<< G4std::setw( 9) << "KineE" << " "
<< G4std::setw( 8) << "dE" << " "
<< G4std::setw(12) << "StepLeng" << " "
<< G4std::setw(12) << "TrackLeng" << " "
<< G4std::setw(12) << "NextVolume" << " "
<< G4std::setw( 8) << "ProcName" << G4endl;
<< G4std::setw( 8) << "Y" << " "
<< G4std::setw( 8) << "Z" << " "
<< G4std::setw( 9) << "KineE" << " "
<< G4std::setw( 8) << "dE" << " "
<< G4std::setw(12) << "StepLeng" << " "
<< G4std::setw(12) << "TrackLeng" << " "
<< G4std::setw(12) << "NextVolume" << " "
<< G4std::setw( 8) << "ProcName" << G4endl;
#else
G4cout << G4std::setw( 5) << "Step#" << " "
<< G4std::setw( 8) << "X(mm)" << " "
<< G4std::setw( 8) << "Y(mm)" << " "
<< G4std::setw( 8) << "Z(mm)" << " "
<< G4std::setw( 9) << "KinE(MeV)" << " "
<< G4std::setw( 8) << "dE(MeV)" << " "
<< G4std::setw( 8) << "StepLeng" << " "
<< G4std::setw( 9) << "TrackLeng" << " "
<< G4std::setw(11) << "NextVolume" << " "
<< G4std::setw( 8) << "ProcName" << G4endl;
<< G4std::setw( 8) << "X(mm)" << " "
<< G4std::setw( 8) << "Y(mm)" << " "
<< G4std::setw( 8) << "Z(mm)" << " "
<< G4std::setw( 9) << "KinE(MeV)" << " "
<< G4std::setw( 8) << "dE(MeV)" << " "
<< G4std::setw( 8) << "StepLeng" << " "
<< G4std::setw( 9) << "TrackLeng" << " "
<< G4std::setw(11) << "NextVolume" << " "
<< G4std::setw( 8) << "ProcName" << G4endl;
#endif
G4cout << G4std::setw( 5) << fTrack->GetCurrentStepNumber() << " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().x(),"Length")<< " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().y(),"Length") << " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().z(),"Length")<< " "
<< G4std::setw( 9) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")<< " "
<< G4std::setw( 8) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << " "
<< G4std::setw( 8) << G4BestUnit(fStep->GetStepLength(),"Length")<< " "
<< G4std::setw( 9) << G4BestUnit(fTrack->GetTrackLength(),"Length") << " ";
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().x(),"Length")<< " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().y(),"Length") << " "
<< G4std::setw( 8) << G4BestUnit(fTrack->GetPosition().z(),"Length")<< " "
<< G4std::setw( 9) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")<< " "
<< G4std::setw( 8) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << " "
<< G4std::setw( 8) << G4BestUnit(fStep->GetStepLength(),"Length")<< " "
<< G4std::setw( 9) << G4BestUnit(fTrack->GetTrackLength(),"Length") << " ";
if(fTrack->GetNextVolume()){
G4cout << G4std::setw(11) << fTrack->GetNextVolume()->GetName() << " ";
@@ -481,94 +444,86 @@ void G4SteppingVerbose::AlongStepDoItOneByOne()
//////////////////////////////////////////////////////
{
CopyState();
if(verboseLevel >= 4){
G4cout << G4endl;
G4cout << " >>AlongStepDoIt (process by process): "
<< " Process Name = "
<< fCurrentProcess->GetProcessName() << G4endl;
if(verboseLevel >= 4){
G4cout << G4endl;
G4cout << " >>AlongStepDoIt (process by process): "
<< " Process Name = "
<< fCurrentProcess->GetProcessName() << G4endl;
ShowStep();
G4cout << " "
<< "!Note! Safety of PostStep is only valid "
<< "after all DoIt invocations."
<< G4endl;
ShowStep();
G4cout << " "
<< "!Note! Safety of PostStep is only valid "
<< "after all DoIt invocations."
<< G4endl;
VerboseParticleChange();
G4cout << G4endl;
VerboseParticleChange();
G4cout << G4endl;
G4cout << " ++List of secondaries generated "
<< "(x,y,z,kE,t,PID):"
<< " No. of secodaries = "
<< fN2ndariesAlongStepDoIt << G4endl;
if(fN2ndariesAlongStepDoIt>0){
for(G4int lp1=(*fSecondary).size()-fN2ndariesAlongStepDoIt;
lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , "Energy")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime() , "Time")<< " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()
->GetParticleName();
G4cout << G4endl;
}
}
}
G4cout << " ++List of secondaries generated "
<< "(x,y,z,kE,t,PID):"
<< " No. of secodaries = "
<< fN2ndariesAlongStepDoIt << G4endl;
if(fN2ndariesAlongStepDoIt>0){
for(size_t lp1=(*fSecondary).size()-fN2ndariesAlongStepDoIt; lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , "Energy")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime() , "Time")<< " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << G4endl;
}
}
}
}
//////////////////////////////////////////////////////
void G4SteppingVerbose::PostStepDoItOneByOne()
//////////////////////////////////////////////////////
{
CopyState();
if(fStepStatus != fPostStepDoItProc) return;
if(fStepStatus != fPostStepDoItProc) return;
if(verboseLevel >= 4){
G4cout << G4endl;
G4cout << " >>PostStepDoIt (process by process): "
<< " Process Name = "
<< fCurrentProcess->GetProcessName() << G4endl;
if(verboseLevel >= 4){
G4cout << G4endl;
G4cout << " >>PostStepDoIt (process by process): "
<< " Process Name = "
<< fCurrentProcess->GetProcessName() << G4endl;
ShowStep();
G4cout << G4endl;
VerboseParticleChange();
G4cout << G4endl;
G4cout << " ++List of secondaries generated "
<< "(x,y,z,kE,t,PID):"
<< " No. of secodaries = "
<< fN2ndariesPostStepDoIt << G4endl;
ShowStep();
G4cout << G4endl;
VerboseParticleChange();
G4cout << G4endl;
if(fN2ndariesPostStepDoIt>0){
for(G4int lp1=(*fSecondary).size()-fN2ndariesPostStepDoIt;
lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y(), "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z(), "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(), "Energy") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(), "Time") << " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()
->GetParticleName();
G4cout << G4endl;
}
}
}
G4cout << " ++List of secondaries generated "
<< "(x,y,z,kE,t,PID):"
<< " No. of secodaries = "
<< fN2ndariesPostStepDoIt << G4endl;
if(fN2ndariesPostStepDoIt>0){
for(size_t lp1=(*fSecondary).size()-fN2ndariesPostStepDoIt; lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length")<< " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y(), "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z(), "Length") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(), "Energy") << " "
<< G4std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(), "Time") << " "
<< G4std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << G4endl;
}
}
}
}
@@ -863,14 +818,12 @@ void G4SteppingVerbose::ShowStep() const
if( fStep->GetPreStepPoint()->GetProcessDefinedStep() == NULL ){
G4cout << G4std::setw(20) << "Undefined";
} else {
G4cout << G4std::setw(20) << fStep->GetPreStepPoint()->GetProcessDefinedStep()
->GetProcessName();
G4cout << G4std::setw(20) << fStep->GetPreStepPoint()->GetProcessDefinedStep()->GetProcessName();
}
if( fStep->GetPostStepPoint()->GetProcessDefinedStep() == NULL){
G4cout << G4std::setw(20) << "Undefined";
} else {
G4cout << G4std::setw(20) << fStep->GetPostStepPoint()->GetProcessDefinedStep()
->GetProcessName();
G4cout << G4std::setw(20) << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
}
G4cout << G4endl;
+5 -5
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4TrackingManager.cc,v 1.8.2.1 2001/06/28 19:15:31 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4TrackingManager.cc,v 1.10 2001/11/07 12:39:11 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -43,8 +43,8 @@
//////////////////////////////////////
G4TrackingManager::G4TrackingManager()
//////////////////////////////////////
: verboseLevel(0),StoreTrajectory(false),
fpTrajectory(NULL), fpUserTrackingAction(NULL)
: fpUserTrackingAction(NULL), fpTrajectory(NULL),
StoreTrajectory(false), verboseLevel(0)
{
fpSteppingManager = new G4SteppingManager();
messenger = new G4TrackingMessenger(this);
@@ -71,7 +71,7 @@ void G4TrackingManager::ProcessOneTrack(G4Track* apValueG4Track)
// Clear 2ndary particle vector
// GimmeSecondaries()->clearAndDestroy();
// G4std::vector<G4Track*>::iterator itr;
G4int itr;
size_t itr;
// for(itr=GimmeSecondaries()->begin();itr=GimmeSecondaries()->end();itr++){
for(itr=0;itr<GimmeSecondaries()->size();itr++){
delete (*GimmeSecondaries())[itr];
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4TrackingMessenger.cc,v 1.7.2.1 2001/06/28 19:15:31 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4TrackingMessenger.cc,v 1.8 2001/07/11 10:08:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
+5 -9
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Trajectory.cc,v 1.12.2.1 2001/06/28 19:15:31 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Trajectory.cc,v 1.14 2001/11/07 10:45:37 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// ---------------------------------------------------------------
@@ -52,15 +52,11 @@ G4Allocator<G4Trajectory> aTrajectoryAllocator;
///////////////////////////////////////////
G4Trajectory::G4Trajectory()
: positionRecord(0), fTrackID(0), fParentID(0),
PDGEncoding( 0 ), PDGCharge(0.0), ParticleName("")
///////////////////////////////////////////
{
G4ParticleDefinition * fpParticleDefinition = 0;
ParticleName = "";
PDGCharge = 0;
PDGEncoding = 0;
fTrackID = 0;
fParentID = 0;
positionRecord = 0;
// Unused: G4ParticleDefinition * fpParticleDefinition = 0;
}
///////////////////////////////////////////
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4TrajectoryPoint.cc,v 1.5.2.1 2001/06/28 19:15:31 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4TrajectoryPoint.cc,v 1.6 2001/07/11 10:08:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// ---------------------------------------------------------------
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4UserSteppingAction.cc,v 1.5.2.1 2001/06/28 19:15:31 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4UserSteppingAction.cc,v 1.6 2001/07/11 10:08:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// ---------------------------------------------------------------
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4UserTrackingAction.cc,v 1.5.2.1 2001/06/28 19:15:32 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4UserTrackingAction.cc,v 1.6 2001/07/11 10:08:43 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
// ---------------------------------------------------------------
+3 -6
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VSteppingVerbose.cc,v 1.5.2.1 2001/06/28 19:15:32 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VSteppingVerbose.cc,v 1.7 2001/11/07 13:15:18 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
//---------------------------------------------------------------
@@ -120,10 +120,7 @@ void G4VSteppingVerbose::CopyState()
fPreviousStepSize = fManager->GetfPreviousStepSize();
fTouchable1 = fManager->GetfTouchable1();
fTouchable2 = fManager->GetfTouchable2();
fIsTouchable1Free = fManager->GetfIsTouchable1Free();
fIsTouchable2Free = fManager->GetfIsTouchable2Free();
fTouchableHandle = fManager->GetTouchableHandle();
StepControlFlag = fManager->GetStepControlFlag();