Import Geant4 7.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 11:11:55 +02:00
parent e083ffb441
commit 516dbf1a58
5914 changed files with 202605 additions and 71141 deletions
+39 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.75 2004/06/11 15:21:41 gcosmo Exp $
$Id: History,v 1.84 2004/12/07 09:17:47 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,44 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
07 December 2004 Gabriele Cosmo (tracking-V06-02-09)
- Implemented migration to <cmath>.
01 December 2004 Gabriele Cosmo (tracking-V06-02-08)
- Fix in G4SteppingManager::InvokePSDIP() for completing migration
to new G4VParticleVhange interface.
18 November 2004 Joseph Perl (tracking-V06-02-07)
- G4Trajectory add HepRep attribute for magnitude of momentum
- G4SmoothTrajectory add HepRep attribute for magnitude of momentum
Nov.18,2005 T.Sasaki(tracking-V06-02-06)
- G4SteppingManager2.cc Fix on interactive on/of for AtRest processes
Nov.16,2005 T.Sasaki(tracking-V06-02-05)
- G4SteppingManager2.cc change the track status to StopAndKill when a track looses all kinetic energy cumlatively while the AlongStep loop
Nov.10,2004 T.Sasaki(tracking-V06-02-04)
- G4SteppingVerbose forced to be singleton.
- G4SteppingManager no more issue G4Excetpion even if no atRestDoit proccesses exit.
- G4SteppingManager change the track status to G4StopButAlive if the kinetic energy becomes below zero while AlongStep loop.
Aug.27, 2004 M.Asai (tracking-V06-02-03)
- G4SteppingManager now looks at "preStepPoint" for the sensitivety of the
volume instead of the logical volume through G4Track.
Jul.08, 2004 K. Amako (tracking-V06-02-02)
- Modified G4SteppingVerbose.cc so that PostStep information is printed out
even when PostStep process is triggered by AlongStep process.
Jul.06, 2004 M.Asai (tracking-V06-02-01)
- Remove the modification along tracking-V06-00-00 tag for G4SteppingManager2.cc
and let a fix on it be on top of this.
- The fix is for incorrect total number of secondaries.
Jul.05, 2004 G.Cosmo (tracking-V06-02-00)
- Moved inlined contructors/destructors for G4Vtrajectory and G4VTrajectoryPoint
to NOT inline. Created G4VtrajectoryPoint.cc file.
Corrected signature of operator==() to canonical implementation.
Jun.11, 2004 G.Cosmo (tracking-V06-01-02)
- Use global flag G4TRACKING_ALLOC_EXPORT to export extern symbols for DLLs.
Modified GNUmakefile and rearranged usage of extern symbols in classes.
@@ -22,7 +22,7 @@
//
//
// $Id: G4SmoothTrajectory.hh,v 1.8 2004/06/11 14:30:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-02 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4SmoothTrajectoryPoint.hh,v 1.10 2004/06/11 14:30:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-02 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4SteppingManager.hh,v 1.25 2003/12/09 08:40:17 asaim Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//---------------------------------------------------------------
//
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4SteppingVerbose.hh,v 1.9 2001/07/11 10:08:40 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4TrackVector.hh,v 1.9 2003/06/16 17:13:10 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4TrackingManager.hh,v 1.14 2002/08/13 18:14:42 asaim Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4TrackingMessenger.hh,v 1.7 2001/07/11 10:08:41 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4Trajectory.hh,v 1.21 2004/06/11 14:30:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-02 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4TrajectoryPoint.hh,v 1.14 2004/06/11 14:30:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-02 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4UserSteppingAction.hh,v 1.8 2003/05/21 20:41:21 asaim Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4UserTrackingAction.hh,v 1.9 2003/05/21 20:41:21 asaim Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: G4VSteppingVerbose.hh,v 1.15 2003/06/16 17:13:13 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
+5 -6
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VTrajectory.hh,v 1.12 2003/06/16 17:13:15 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4VTrajectory.hh,v 1.13 2004/07/05 17:08:15 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -59,12 +59,11 @@ class G4VTrajectory
// Constructor/Destrcutor
G4VTrajectory() {;}
virtual ~G4VTrajectory() {;}
G4VTrajectory();
virtual ~G4VTrajectory();
// Operators
inline int operator == (const G4VTrajectory& right) const
{return (this==&right);}
G4bool operator == (const G4VTrajectory& right) const;
// Get/Set functions
virtual G4int GetTrackID() const = 0;
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VTrajectoryPoint.hh,v 1.10 2003/06/16 17:13:16 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4VTrajectoryPoint.hh,v 1.11 2004/07/05 17:08:16 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -52,12 +52,11 @@ class G4VTrajectoryPoint
public: // with description
// Constructor/Destructor
G4VTrajectoryPoint() {;}
virtual ~G4VTrajectoryPoint() {;}
G4VTrajectoryPoint();
virtual ~G4VTrajectoryPoint();
// Operators
inline int operator==(const G4VTrajectoryPoint& right) const
{ return (this==&right); };
G4bool operator==(const G4VTrajectoryPoint& right) const;
// Get/Set functions
virtual const G4ThreeVector GetPosition() const = 0;
+10 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SmoothTrajectory.cc,v 1.12 2004/06/11 14:30:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-02 $
// $Id: G4SmoothTrajectory.cc,v 1.13 2004/11/18 23:10:10 perl Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// ---------------------------------------------------------------
@@ -141,6 +141,10 @@ const std::map<G4String,G4AttDef>* G4SmoothTrajectory::GetAttDefs() const
(*store)[IMom] = G4AttDef(IMom, "Momentum of track at start of trajectory",
"Physics","","G4ThreeVector");
G4String IMag("IMag");
(*store)[IMag] = G4AttDef(IMag, "Magnitude of momentum of track at start of trajectory",
"Physics","","G4double");
G4String NTP("NTP");
(*store)[NTP] = G4AttDef(NTP,"No. of points","Physics","","G4int");
@@ -178,6 +182,10 @@ std::vector<G4AttValue>* G4SmoothTrajectory::CreateAttValues() const
s << G4BestUnit(initialMomentum,"Energy") << std::ends;
values->push_back(G4AttValue("IMom",c,""));
s.seekp(std::ios::beg);
s << initialMomentum.mag() << std::ends;
values->push_back(G4AttValue("IMag",c,""));
s.seekp(std::ios::beg);
s << GetPointEntries() << std::ends;
values->push_back(G4AttValue("NTP",c,""));
@@ -22,7 +22,7 @@
//
//
// $Id: G4SmoothTrajectoryPoint.cc,v 1.12 2004/06/11 14:30:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-02 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// ---------------------------------------------------------------
+3 -3
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingManager.cc,v 1.32 2003/11/10 08:52:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: G4SteppingManager.cc,v 1.33 2004/08/12 00:50:11 asaim Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -216,7 +216,7 @@ G4StepStatus G4SteppingManager::Stepping()
fCurrentVolume = fStep->GetPreStepPoint()->GetPhysicalVolume();
StepControlFlag = fStep->GetControlFlag();
if( fCurrentVolume != 0 && StepControlFlag != AvoidHitInvocation) {
fSensitive = fCurrentVolume->GetLogicalVolume()->
fSensitive = fStep->GetPreStepPoint()->
GetSensitiveDetector();
if( fSensitive != 0 ) {
fSensitive->Hit(fStep);
+60 -45
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingManager2.cc,v 1.13 2003/09/19 10:17:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// $Id: G4SteppingManager2.cc,v 1.23 2004/12/07 09:16:54 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
//
//
//---------------------------------------------------------------
@@ -45,7 +45,7 @@
#include "G4GPILSelection.hh"
#include "G4SteppingControl.hh"
#include "G4TransportationManager.hh"
#include "G4UserLimits.hh"
//#include "G4UserLimits.hh"
#include "G4SteppingManager.hh"
#include "G4LossTableManager.hh"
@@ -102,23 +102,25 @@ void G4SteppingManager::GetProcessNumber()
// Obtain the user defined maximum allowed Step in the volume
// 1997.12.13 adds argument for GetMaxAllowedStep by K.Kurashige
G4UserLimits* ul= fCurrentVolume->GetLogicalVolume()->GetUserLimits();
if (ul) {
physIntLength = ul->GetMaxAllowedStep(*fTrack);
#ifdef G4VERBOSE
// !!!!! Verbose
if(verboseLevel>0) fVerbose->DPSLUserLimit();
#endif
}
if(physIntLength < PhysicalStep ){
PhysicalStep = physIntLength;
fStepStatus = fUserDefinedLimit;
fStep->GetPostStepPoint()
->SetProcessDefinedStep(NULL);
// Take note that the process pointer is 'NULL' if the Step
// is defined by the user defined limit.
}
// 2004.01.20 This block will be removed by Geant4 7.0
// G4UserLimits* ul= fCurrentVolume->GetLogicalVolume()->GetUserLimits();
// if (ul) {
// physIntLength = ul->GetMaxAllowedStep(*fTrack);
//#ifdef G4VERBOSE
// // !!!!! Verbose
// if(verboseLevel>0) fVerbose->DPSLUserLimit();
//#endif
// }
//
// if(physIntLength < PhysicalStep ){
// PhysicalStep = physIntLength;
// fStepStatus = fUserDefinedLimit;
// fStep->GetPostStepPoint()
// ->SetProcessDefinedStep(NULL);
// // Take note that the process pointer is 'NULL' if the Step
// // is defined by the user defined limit.
// }
// 2004.01.20 This block will be removed by Geant4 7.0
// GPIL for PostStep
fPostStepDoItProcTriggered = MAXofPostStepLoops;
@@ -231,7 +233,6 @@ void G4SteppingManager::InvokeAtRestDoItProcs()
G4double lifeTime, shortestLifeTime;
fAtRestDoItProcTriggered = 0;
fN2ndariesAtRestDoIt = 0;
shortestLifeTime = DBL_MAX;
unsigned int NofInactiveProc=0;
@@ -262,11 +263,12 @@ void G4SteppingManager::InvokeAtRestDoItProcs()
// at least one process is necessary to destory the particle
// exit with warning
if(NofInactiveProc==MAXofAtRestLoops){
G4Exception("G4SteppingManager::InvokeAtRestDoItProcs: No AtRestDoIt process is active. " );
// G4Exception("G4SteppingManager::InvokeAtRestDoItProcs: No AtRestDoIt process is active. " );
G4cerr << "G4SteppingManager::InvokeAtRestDoItProcs: No AtRestDoIt process is active. " << G4endl;
} else {
(*fSelectedAtRestDoItVector)[fAtRestDoItProcTriggered] = NotForced;
}
(*fSelectedAtRestDoItVector)[fAtRestDoItProcTriggered] = NotForced;
fStep->SetStepLength( 0. ); //the particle has stopped
fTrack->SetStepLength( 0. );
@@ -291,11 +293,13 @@ void G4SteppingManager::InvokeAtRestDoItProcs()
fParticleChange->UpdateStepForAtRest(fStep);
// Now Store the secondaries from ParticleChange to SecondaryList
G4Track* tempSecondaryTrack;
G4Track* tempSecondaryTrack;
G4int num2ndaries;
fN2ndariesAtRestDoIt = fParticleChange->GetNumberOfSecondaries();
num2ndaries = fParticleChange->GetNumberOfSecondaries();
fN2ndariesAtRestDoIt += num2ndaries;
for(G4int DSecLoop=0 ; DSecLoop< fN2ndariesAtRestDoIt; DSecLoop++){
for(G4int DSecLoop=0 ; DSecLoop< num2ndaries; DSecLoop++){
tempSecondaryTrack = fParticleChange->GetSecondary(DSecLoop);
if(tempSecondaryTrack->GetDefinition()->GetApplyCutsFlag())
@@ -309,7 +313,7 @@ void G4SteppingManager::InvokeAtRestDoItProcs()
// If this 2ndry particle has 'zero' kinetic energy, make sure
// it invokes a rest process at the beginning of the tracking
if(tempSecondaryTrack->GetKineticEnergy() <= 0.){
if(tempSecondaryTrack->GetKineticEnergy() <= DBL_MIN){
G4ProcessManager* pm = tempSecondaryTrack->GetDefinition()->GetProcessManager();
if (pm->GetAtRestProcessVector()->entries()>0){
tempSecondaryTrack->SetTrackStatus( fStopButAlive );
@@ -347,8 +351,6 @@ void G4SteppingManager::InvokeAlongStepDoItProcs()
}
// Invoke the all active continuous processes
fN2ndariesAlongStepDoIt = 0;
for( size_t ci=0 ; ci<MAXofAlongStepLoops ; ci++ ){
fCurrentProcess = (*fAlongStepDoItVector)[ci];
if (fCurrentProcess== NULL) continue;
@@ -366,10 +368,12 @@ void G4SteppingManager::InvokeAlongStepDoItProcs()
// Now Store the secondaries from ParticleChange to SecondaryList
G4Track* tempSecondaryTrack;
G4int num2ndaries;
fN2ndariesAlongStepDoIt = fParticleChange->GetNumberOfSecondaries();
num2ndaries = fParticleChange->GetNumberOfSecondaries();
fN2ndariesAlongStepDoIt += num2ndaries;
for(G4int DSecLoop=0 ; DSecLoop< fN2ndariesAlongStepDoIt; DSecLoop++){
for(G4int DSecLoop=0 ; DSecLoop< num2ndaries; DSecLoop++){
tempSecondaryTrack = fParticleChange->GetSecondary(DSecLoop);
if(tempSecondaryTrack->GetDefinition()->GetApplyCutsFlag())
@@ -383,7 +387,7 @@ void G4SteppingManager::InvokeAlongStepDoItProcs()
// If this 2ndry particle has 'zero' kinetic energy, make sure
// it invokes a rest process at the beginning of the tracking
if(tempSecondaryTrack->GetKineticEnergy() <= 0.){
if(tempSecondaryTrack->GetKineticEnergy() <= DBL_MIN){
G4ProcessManager* pm = tempSecondaryTrack->GetDefinition()->GetProcessManager();
if (pm->GetAtRestProcessVector()->entries()>0){
tempSecondaryTrack->SetTrackStatus( fStopButAlive );
@@ -397,11 +401,22 @@ void G4SteppingManager::InvokeAlongStepDoItProcs()
} //end of loop on secondary
// Set the track status according to what the process defined
fTrack->SetTrackStatus( fParticleChange->GetStatusChange() );
// if kinetic energy >0, otherwise set fStopButAlive
// fTrack->SetTrackStatus( fParticleChange->GetTrackStatus() );
// clear ParticleChange
fParticleChange->Clear();
}
fStep->UpdateTrack();
G4TrackStatus fNewStatus = fTrack->GetTrackStatus();
if ( fNewStatus == fAlive && fTrack->GetKineticEnergy() <= DBL_MIN ) {
if(MAXofAtRestLoops>0) fNewStatus = fStopButAlive;
else fNewStatus = fStopAndKill;
fTrack->SetTrackStatus( fNewStatus );
}
}
////////////////////////////////////////////////////////
@@ -410,8 +425,6 @@ void G4SteppingManager::InvokePostStepDoItProcs()
{
// Invoke the specified discrete processes
fN2ndariesPostStepDoIt = 0;
for(size_t np=0; np < MAXofPostStepLoops; np++){
//
// Note: DoItVector has inverse order against GetPhysIntVector
@@ -466,14 +479,16 @@ void G4SteppingManager::InvokePSDIP(size_t np)
// Now Store the secondaries from ParticleChange to SecondaryList
G4Track* tempSecondaryTrack;
G4int num2ndaries;
fN2ndariesPostStepDoIt = fParticleChange->GetNumberOfSecondaries();
num2ndaries = fParticleChange->GetNumberOfSecondaries();
fN2ndariesPostStepDoIt += num2ndaries;
for(G4int DSecLoop=0 ; DSecLoop< fN2ndariesPostStepDoIt; DSecLoop++){
for(G4int DSecLoop=0 ; DSecLoop< num2ndaries; DSecLoop++){
tempSecondaryTrack = fParticleChange->GetSecondary(DSecLoop);
if(tempSecondaryTrack->GetDefinition()->GetApplyCutsFlag())
{ ApplyProductionCut(tempSecondaryTrack); }
if(tempSecondaryTrack->GetDefinition()->GetApplyCutsFlag())
{ ApplyProductionCut(tempSecondaryTrack); }
// Set parentID
tempSecondaryTrack->SetParentID( fTrack->GetTrackID() );
@@ -483,7 +498,7 @@ void G4SteppingManager::InvokePSDIP(size_t np)
// If this 2ndry particle has 'zero' kinetic energy, make sure
// it invokes a rest process at the beginning of the tracking
if(tempSecondaryTrack->GetKineticEnergy() <= 0.){
if(tempSecondaryTrack->GetKineticEnergy() <= DBL_MIN){
G4ProcessManager* pm = tempSecondaryTrack->GetDefinition()->GetProcessManager();
if (pm->GetAtRestProcessVector()->entries()>0){
tempSecondaryTrack->SetTrackStatus( fStopButAlive );
@@ -497,7 +512,7 @@ void G4SteppingManager::InvokePSDIP(size_t np)
} //end of loop on secondary
// Set the track status according to what the process defined
fTrack->SetTrackStatus( fParticleChange->GetStatusChange() );
fTrack->SetTrackStatus( fParticleChange->GetTrackStatus() );
// clear ParticleChange
fParticleChange->Clear();
@@ -521,7 +536,7 @@ void G4SteppingManager::ApplyProductionCut(G4Track* aSecondary)
if( aSecondary->GetKineticEnergy()<tProdThreshold )
{
tBelowCutEnergyAndSafety = true;
if(aSecondary->GetDynamicParticle()->GetCharge() !=0.0)
if(std::abs(aSecondary->GetDynamicParticle()->GetCharge()) > DBL_MIN)
{
G4double currentRange
= G4LossTableManager::Instance()->GetRange(aSecondary->GetDefinition(),
+51 -48
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingVerbose.cc,v 1.14 2003/06/16 17:13:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4SteppingVerbose.cc,v 1.16 2004/07/08 03:46:43 amako Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -182,54 +182,59 @@ void G4SteppingVerbose::PostStepDoItAllDone()
CopyState();
if(fStepStatus != fPostStepDoItProc) return;
if( (fStepStatus == fPostStepDoItProc) |
(fCondition == Forced) |
(fCondition == Conditionally) |
(fCondition == ExclusivelyForced) |
(fCondition == StronglyForced) ){
if(verboseLevel >= 3){
G4int npt=0;
G4cout << G4endl;
G4cout << " **PostStepDoIt (after all invocations):" << G4endl;
G4cout << " ++List of invoked processes " << G4endl;
if(verboseLevel >= 3){
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++;
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 "
<< "(x,y,z,kE,t,PID):"
<< " No. of secodaries = "
<< (*fSecondary).size() << G4endl;
G4cout << " [Note]Secondaries from AlongStepDoIt included." << G4endl;
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;
if((*fSecondary).size()>0){
for(size_t lp1=0; lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length") << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , "Length") << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z() , "Length") << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , "Energy") << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime() , "Time") << " "
<< std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << G4endl;
}
}
if((*fSecondary).size()>0){
for(size_t lp1=0; lp1<(*fSecondary).size(); lp1++){
G4cout << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x() , "Length") << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , "Length") << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z() , "Length") << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , "Energy") << " "
<< std::setw( 9)
<< G4BestUnit((*fSecondary)[lp1]->GetGlobalTime() , "Time") << " "
<< std::setw(18)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << G4endl;
}
}
}
}
}
@@ -238,7 +243,7 @@ void G4SteppingVerbose::StepInfo()
/////////////////////////////////////////
{
CopyState();
G4cout.precision(16);
G4int prec = G4cout.precision(3);
if( verboseLevel >= 1 ){
@@ -491,8 +496,6 @@ void G4SteppingVerbose::PostStepDoItOneByOne()
{
CopyState();
if(fStepStatus != fPostStepDoItProc) return;
if(verboseLevel >= 4){
G4cout << G4endl;
G4cout << " >>PostStepDoIt (process by process): "
@@ -713,7 +716,7 @@ void G4SteppingVerbose::ShowStep() const
// Show header
G4cout << G4endl;
G4cout << " ++G4Step Information " << G4endl;
G4cout.precision(3);
G4cout.precision(16);
// Show G4Step specific information
G4cout << " Address of G4Track : " << fStep->GetTrack() << G4endl;
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4TrackingManager.cc,v 1.15 2003/11/18 18:39:39 asaim Exp $
// GEANT4 tag $Name: geant4-06-00-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4TrackingMessenger.cc,v 1.9 2003/06/16 17:13:23 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
+10 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Trajectory.cc,v 1.24 2004/06/11 14:30:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-02 $
// $Id: G4Trajectory.cc,v 1.25 2004/11/18 23:10:10 perl Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// ---------------------------------------------------------------
@@ -137,6 +137,10 @@ const std::map<G4String,G4AttDef>* G4Trajectory::GetAttDefs() const
(*store)[IMom] = G4AttDef(IMom, "Momentum of track at start of trajectory",
"Physics","","G4ThreeVector");
G4String IMag("IMag");
(*store)[IMag] = G4AttDef(IMag, "Magnitude of momentum of track at start of trajectory",
"Physics","","G4double");
G4String NTP("NTP");
(*store)[NTP] = G4AttDef(NTP,"No. of points","Physics","","G4int");
@@ -173,6 +177,10 @@ std::vector<G4AttValue>* G4Trajectory::CreateAttValues() const
s << G4BestUnit(initialMomentum,"Energy") << std::ends;
values->push_back(G4AttValue("IMom",c,""));
s.seekp(std::ios::beg);
s << initialMomentum.mag() << std::ends;
values->push_back(G4AttValue("IMag",c,""));
s.seekp(std::ios::beg);
s << GetPointEntries() << std::ends;
values->push_back(G4AttValue("NTP",c,""));
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4TrajectoryPoint.cc,v 1.14 2004/06/11 14:30:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-06-02 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// ---------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4UserSteppingAction.cc,v 1.6 2001/07/11 10:08:43 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// ---------------------------------------------------------------
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: G4UserTrackingAction.cc,v 1.6 2001/07/11 10:08:43 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
// ---------------------------------------------------------------
+5 -3
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VSteppingVerbose.cc,v 1.9 2002/12/04 23:00:51 tsasaki Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4VSteppingVerbose.cc,v 1.10 2004/11/10 11:23:27 tsasaki Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
@@ -44,7 +44,9 @@
#include "G4SteppingManager.hh"
G4VSteppingVerbose* G4VSteppingVerbose::fInstance = 0;
G4VSteppingVerbose::G4VSteppingVerbose() :verboseLevel(0){;}
G4VSteppingVerbose::G4VSteppingVerbose() :verboseLevel(0){
if(fInstance!= NULL) G4Exception("G4SteppingVerbose is the singleton. Only one SteppingVerbose class can be instantiated.");
}
G4VSteppingVerbose::~G4VSteppingVerbose(){;}
void G4VSteppingVerbose::SetInstance(G4VSteppingVerbose* Instance)
{
+12 -4
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VTrajectory.cc,v 1.4 2003/06/16 17:13:26 gunter Exp $
// GEANT4 tag $Name: geant4-05-02-patch-01 $
// $Id: G4VTrajectory.cc,v 1.6 2004/12/07 09:16:54 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
//
//
// ---------------------------------------------------------------
@@ -48,6 +48,14 @@
#include "G4Polymarker.hh"
#include "G4Colour.hh"
G4VTrajectory::G4VTrajectory() {;}
G4VTrajectory::~G4VTrajectory() {;}
G4bool G4VTrajectory::operator == (const G4VTrajectory& right) const
{
return (this==&right);
}
void G4VTrajectory::ShowTrajectory(std::ostream& os) const
{
// Makes use of attribute values implemented in the concrete class.
@@ -137,13 +145,13 @@ void G4VTrajectory::DrawTrajectory(G4int i_mode) const
// positive, red for negative, green for neutral) and, if i_mode!=0,
// adds markers - yellow circles for step points and magenta squares
// for auxiliary points, if any - whose screen size in pixels is
// given by abs(i_mode)/1000. E.g: i_mode = 5000 gives easily
// given by std::abs(i_mode)/1000. E.g: i_mode = 5000 gives easily
// visible markers.
G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
if (!pVVisManager) return;
const G4double markerSize = abs(i_mode)/1000;
const G4double markerSize = std::abs(i_mode)/1000;
G4bool lineRequired (i_mode >= 0);
G4bool markersRequired (markerSize > 0.);
+42
View File
@@ -0,0 +1,42 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4VTrajectoryPoint.cc,v 1.1 2004/07/05 17:08:16 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
//
//
//---------------------------------------------------------------
//
// G4VTrajectoryPoint.cc
//
// ---------------------------------------------------------------
#include "G4VTrajectoryPoint.hh"
G4VTrajectoryPoint::G4VTrajectoryPoint() {;}
G4VTrajectoryPoint::~G4VTrajectoryPoint() {;}
G4bool G4VTrajectoryPoint::operator==(const G4VTrajectoryPoint& right) const
{
return (this==&right);
}