Import Geant4 9.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:25:56 +02:00
parent 74cad5e589
commit 89a9605df1
4440 changed files with 379508 additions and 189225 deletions
+20
View File
@@ -0,0 +1,20 @@
#------------------------------------------------------------------------------
# CMakeLists.txt
# Module : G4tracking
# Package: Geant4.src.G4tracking
#
# CMakeLists.txt for single level library that may be build global or granular
#
# Generated on : 24/9/2010
#
# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:11:07 bmorgan Exp $
#
#------------------------------------------------------------------------------
include(Geant4MacroLibraryTargets)
if(GEANT4_BUILD_GRANULAR_LIBS)
GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake)
else()
GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake)
endif()
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.5 2004/06/11 14:30:16 gcosmo Exp $
# $Id: GNUmakefile,v 1.7 2010/10/27 07:57:21 gcosmo Exp $
# ----------------------------------------------------------
# GNUmakefile for tracking library. Katsuya Amako, 5/9/95.
# ----------------------------------------------------------
+59 -2
View File
@@ -1,5 +1,5 @@
$Id: History,v 1.137 2009/11/24 10:04:14 perl Exp $
$Name: geant4-09-03 $
$Id: History,v 1.147 2010/11/18 17:24:22 allison Exp $
$Name: geant4-09-04 $
-------------------------------------------------------------------
=========================================================
@@ -18,6 +18,63 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
18 November 2010 John Allison (tracking-V09-03-09)
- G4Trajectory, G4SmoothTrajectory:
o Reverted to original interface: DrawTrajectory(G4int i_mode = 0).
See 16 June 2010. It seems G4Trajectory, G4SmoothTrajectory were
not done.
27 October 2010 Gabriele Cosmo (tracking-V09-03-08)
- Restored DLL setup as originally. Withdrawn changes in last tag.
19 October 2010 Gabriele Cosmo (tracking-V09-03-07)
- Replaced G4TRACKING_ALLOC_EXPORT flag with G4ALLOC_EXPORT for DLL exported
symbols.
6 October 2010 Hisaya Kurashige (tracking-V09-03-06)
- Modified G4SteppingManager::GetSecondary() to give const G4TrackVector*
(co-work with track-V09-03-05)
19 July 2010 Gabriele Cosmo (tracking-V09-03-05)
- Added dummy initialisation to members in constructors in classes:
G4AdjointSteppingAction, G4UserSteppingAction, G4UserTrackingAction
and G4VSteppingVerbose.
- G4SteppingManager: and use canonical form for G4Exception.
Added protection for possible negative index in method ApplyProductionCut()
and some printout formatting.
- Added redundant return statement after exception in G4SteppingManager2.
- Fixed restoring of output settings in G4SteppingVerbose.
- Use 0 instead of NULL where applicable.
16 June 2010 John Allison (tracking-V09-03-04)
- G4VTrajectory, G4Trajectory, G4SmoothTrajectory:
o Reverted to original interface: DrawTrajectory(G4int i_mode = 0).
This to prevent compiler warnings about hiding. We will
re-instate DrawTrajectory() at a future major release.
o Deprecation message is printed via G4Exception only once, and only
if a user invokes with a non-zero value of i_mode.
29 May 2010 John Allison (tracking-V09-03-03)
- G4VTrajectory:
o Added virtual void DrawTrajectory() in preparation for i_mode migration.
- G4Trajectory and G4SmoothTrajectory: followed the above.
o (G4RichTrajectory inherits G4Trajectory so no need to change.)
28 May 2010 John Allison (tracking-V09-03-02)
- G4VTrajectory.cc: Added explicit once-only i_mode deprecation warning.
13 May 2010 John Allison (tracking-V09-03-01 - needs greps-V09-03-00)
- G4VTrajectory.cc: Added a statement to set IsDefaultDrawTrajectory,
to assist deprecation of i-mode trajectory drawing parameter. After
10.0, it can be removed.
22 Feb 2010 John Allison (tracking-V09-03-00)
- G4RichTrajectory: Fixed bug in MergeTrajectory (should not invoke
G4Trajectory::MergeTrajectory).
- G4RichTrajectory and G4RichTrajectoryPoint:
o Eliminated spaces in G4AttValue values.
o G4AttValue values are "None" for attributes derived from zero pointers.
24 Nov 2009 Joseph Perl (tracking-V09-02-07)
- G4RichTrajectory: add additional attributes
- G4RichTrajectoryPoint: add additional attributes
+2 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4RichTrajectory.hh,v 1.6 2009/11/24 10:04:14 perl Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4RichTrajectory.hh,v 1.8 2010/10/27 07:57:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4RichTrajectoryPoint.hh,v 1.7 2009/11/24 10:04:14 perl Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4RichTrajectoryPoint.hh,v 1.9 2010/10/27 07:57:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SmoothTrajectory.hh,v 1.12 2009/11/12 09:09:56 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4SmoothTrajectory.hh,v 1.17 2010/11/18 17:24:22 allison Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -101,7 +101,8 @@ public: // with description
// Other member functions
virtual void ShowTrajectory(std::ostream& os=G4cout) const;
virtual void DrawTrajectory(G4int i_mode=0) const;
//virtual void DrawTrajectory() const;
virtual void DrawTrajectory(G4int i_mode = 0) const;
virtual void AppendStep(const G4Step* aStep);
virtual int GetPointEntries() const { return positionRecord->size(); }
virtual G4VTrajectoryPoint* GetPoint(G4int i) const
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SmoothTrajectoryPoint.hh,v 1.13 2006/06/29 21:15:29 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4SmoothTrajectoryPoint.hh,v 1.15 2010/10/27 07:57:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
+4 -4
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingManager.hh,v 1.31 2007/10/09 03:51:06 tsasaki Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4SteppingManager.hh,v 1.32 2010/10/06 13:17:15 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -112,7 +112,7 @@ public: //without description
// Get/Set functions
G4TrackVector* GetSecondary() const;
const G4TrackVector* GetSecondary() const;
void SetUserAction(G4UserSteppingAction* apAction);
G4Track* GetTrack() const;
void SetVerboseLevel(G4int vLevel);
@@ -458,7 +458,7 @@ public: //without description
return fGPILSelection;
}
inline G4TrackVector* G4SteppingManager::GetSecondary() const {
inline const G4TrackVector* G4SteppingManager::GetSecondary() const {
return fStep->GetSecondary();
}
+5 -5
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4TrackingManager.hh,v 1.21 2006/11/14 10:58:47 tsasaki Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrackingManager.hh,v 1.23 2010/10/06 13:17:15 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -180,19 +180,19 @@ public: // without description
}
inline G4TrackVector* G4TrackingManager::GimmeSecondaries() const {
return fpSteppingManager->GetSecondary();
return fpSteppingManager->GetfSecondary();
}
inline void G4TrackingManager::SetUserAction(G4UserTrackingAction* apAction){
fpUserTrackingAction = apAction;
if(apAction != NULL){
if(apAction != 0){
apAction->SetTrackingManagerPointer(this);
}
}
inline void G4TrackingManager::SetUserAction(G4UserSteppingAction* apAction){
fpSteppingManager->SetUserAction(apAction);
if(apAction != NULL){
if(apAction != 0){
apAction->SetSteppingManagerPointer(fpSteppingManager);
}
}
+4 -3
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Trajectory.hh,v 1.25 2009/11/12 09:09:56 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4Trajectory.hh,v 1.30 2010/11/18 17:24:22 allison Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -107,7 +107,8 @@ public: // with description
// Other member functions
virtual void ShowTrajectory(std::ostream& os=G4cout) const;
virtual void DrawTrajectory(G4int i_mode=0) const;
//virtual void DrawTrajectory() const;
virtual void DrawTrajectory(G4int i_mode = 0) const;
virtual void AppendStep(const G4Step* aStep);
virtual int GetPointEntries() const { return positionRecord->size(); }
virtual G4VTrajectoryPoint* GetPoint(G4int i) const
+2 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4TrajectoryPoint.hh,v 1.17 2006/06/29 21:15:43 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrajectoryPoint.hh,v 1.19 2010/10/27 07:57:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
+5 -3
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VTrajectory.hh,v 1.17 2006/06/29 21:15:51 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VTrajectory.hh,v 1.19 2010/06/16 20:03:00 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//---------------------------------------------------------------
//
@@ -89,7 +89,9 @@ class G4VTrajectory
// may be used or may be overridden in the concrete class. Note:
// the user needs to follow with new-line or end-of-string,
// depending on the nature of os.
virtual void DrawTrajectory(G4int i_mode=0) const;
virtual void DrawTrajectory(G4int i_mode =0) const;
//virtual void DrawTrajectory() const;
//virtual void DrawTrajectory(G4int i_mode) const;
// Draw the trajectory. A default implementation in this base
// class may be used or may be overridden in the concrete class.
virtual const std::map<G4String,G4AttDef>* GetAttDefs() const
+112
View File
@@ -0,0 +1,112 @@
#------------------------------------------------------------------------------
# sources.cmake
# Module : G4tracking
# Package: Geant4.src.G4tracking
#
# Sources description for a library.
# Lists the sources and headers of the code explicitely.
# Lists include paths needed.
# Lists the internal granular and global dependencies of the library.
# Source specific properties should be added at the end.
#
# Generated on : 24/9/2010
#
# $Id: sources.cmake,v 1.1 2010/09/29 19:11:16 bmorgan Exp $
#
#------------------------------------------------------------------------------
# List external includes needed.
include_directories(${CLHEP_INCLUDE_DIRS})
# List internal includes needed.
include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/detector/include)
include_directories(${CMAKE_SOURCE_DIR}/source/digits_hits/hits/include)
include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/geometry/navigation/include)
include_directories(${CMAKE_SOURCE_DIR}/source/geometry/solids/CSG/include)
include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include)
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include)
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include)
include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/graphics_reps/include)
include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include)
include_directories(${CMAKE_SOURCE_DIR}/source/materials/include)
include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/processes/cuts/include)
include_directories(${CMAKE_SOURCE_DIR}/source/processes/electromagnetic/utils/include)
include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/track/include)
#
# Define the Geant4 Module.
#
include(Geant4MacroDefineModule)
GEANT4_DEFINE_MODULE(NAME G4tracking
HEADERS
G4AdjointCrossSurfChecker.hh
G4AdjointSteppingAction.hh
G4RichTrajectory.hh
G4RichTrajectoryPoint.hh
G4SmoothTrajectory.hh
G4SmoothTrajectoryPoint.hh
G4SteppingManager.hh
G4SteppingVerbose.hh
G4TrackingManager.hh
G4TrackingMessenger.hh
G4Trajectory.hh
G4TrajectoryPoint.hh
G4UserSteppingAction.hh
G4UserTrackingAction.hh
G4VSteppingVerbose.hh
G4VTrajectory.hh
G4VTrajectoryPoint.hh
SOURCES
G4AdjointCrossSurfChecker.cc
G4AdjointSteppingAction.cc
G4RichTrajectory.cc
G4RichTrajectoryPoint.cc
G4SmoothTrajectory.cc
G4SmoothTrajectoryPoint.cc
G4SteppingManager.cc
G4SteppingManager2.cc
G4SteppingVerbose.cc
G4TrackingManager.cc
G4TrackingMessenger.cc
G4Trajectory.cc
G4TrajectoryPoint.cc
G4UserSteppingAction.cc
G4UserTrackingAction.cc
G4VSteppingVerbose.cc
G4VTrajectory.cc
G4VTrajectoryPoint.cc
GRANULAR_DEPENDENCIES
G4csg
G4cuts
G4detector
G4emutils
G4geometrymng
G4globman
G4graphics_reps
G4hits
G4intercoms
G4materials
G4navigation
G4partman
G4procman
G4track
G4volumes
GLOBAL_DEPENDENCIES
G4digits_hits
G4geometry
G4global
G4graphics_reps
G4intercoms
G4materials
G4particles
G4processes
G4track
LINK_LIBRARIES
)
# List any source specific properties here
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4AdjointSteppingAction.cc,v 1.3 2009/11/20 14:24:34 ldesorgh Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4AdjointSteppingAction.cc,v 1.4 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
/////////////////////////////////////////////////////////////////////////////
// Class Name: G4AdjointSteppingAction
@@ -42,10 +42,11 @@
////////////////////////////////////////////////////////////////////////////////////////////////
//
G4AdjointSteppingAction::G4AdjointSteppingAction()
: ext_sourceEMax(0.), start_event(false),
did_adj_part_reach_ext_source(false), last_ekin(0.), last_weight(0.),
prim_weight(0.), last_part_def(0), theUserAdjointSteppingAction(0)
{
theG4AdjointCrossSurfChecker = G4AdjointCrossSurfChecker::GetInstance();
did_adj_part_reach_ext_source =false;
theUserAdjointSteppingAction =0;
}
////////////////////////////////////////////////////////////////////////////////////////////////
//
+6 -8
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4RichTrajectory.cc,v 1.8 2009/11/24 10:04:14 perl Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4RichTrajectory.cc,v 1.9 2010/02/22 21:26:56 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// ---------------------------------------------------------------
//
@@ -144,8 +144,6 @@ void G4RichTrajectory::MergeTrajectory(G4VTrajectory* secondTrajectory)
{
if(!secondTrajectory) return;
G4Trajectory::MergeTrajectory(secondTrajectory);
G4RichTrajectory* seco = (G4RichTrajectory*)secondTrajectory;
G4int ent = seco->GetPointEntries();
for(G4int i=1;i<ent;i++) {
@@ -244,8 +242,8 @@ std::vector<G4AttValue>* G4RichTrajectory::CreateAttValues() const
G4ProcessType type = fpCreatorProcess->GetProcessType();
values->push_back(G4AttValue("CPTN",G4VProcess::GetProcessTypeName(type),""));
} else {
values->push_back(G4AttValue("CPN","User Defined",""));
values->push_back(G4AttValue("CPTN","User",""));
values->push_back(G4AttValue("CPN","None",""));
values->push_back(G4AttValue("CPTN","None",""));
}
if (fpFinalVolume && fpFinalVolume->GetVolume()) {
@@ -265,8 +263,8 @@ std::vector<G4AttValue>* G4RichTrajectory::CreateAttValues() const
G4ProcessType type = fpEndingProcess->GetProcessType();
values->push_back(G4AttValue("EPTN",G4VProcess::GetProcessTypeName(type),""));
} else {
values->push_back(G4AttValue("EPN","User Defined",""));
values->push_back(G4AttValue("EPTN","User",""));
values->push_back(G4AttValue("EPN","None",""));
values->push_back(G4AttValue("EPTN","None",""));
}
values->push_back
+4 -5
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4RichTrajectoryPoint.cc,v 1.5 2009/11/24 10:04:14 perl Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4RichTrajectoryPoint.cc,v 1.6 2010/02/22 21:26:56 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
// ---------------------------------------------------------------
@@ -235,9 +235,8 @@ std::vector<G4AttValue>* G4RichTrajectoryPoint::CreateAttValues() const
("PTDS",G4VProcess::GetProcessTypeName(fpProcess->GetProcessType()),
""));
} else {
values->push_back
(G4AttValue("PDS","User Defined Limit in Current Volume",""));
values->push_back(G4AttValue("PTDS","User",""));
values->push_back(G4AttValue("PDS","None",""));
values->push_back(G4AttValue("PTDS","None",""));
}
values->push_back
+12 -3
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SmoothTrajectory.cc,v 1.19 2009/11/12 09:09:56 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4SmoothTrajectory.cc,v 1.22 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
// ---------------------------------------------------------------
@@ -78,7 +78,7 @@ G4SmoothTrajectory::G4SmoothTrajectory(const G4Track* aTrack)
// The first point has no auxiliary points, so set the auxiliary
// points vector to NULL (jacek 31/10/2002)
positionRecord->push_back(new G4SmoothTrajectoryPoint(aTrack->GetPosition(), NULL));
positionRecord->push_back(new G4SmoothTrajectoryPoint(aTrack->GetPosition(), 0));
}
G4SmoothTrajectory::G4SmoothTrajectory(G4SmoothTrajectory & right):G4VTrajectory()
@@ -119,6 +119,15 @@ void G4SmoothTrajectory::ShowTrajectory(std::ostream& os) const
// ... or override with your own code here.
}
/***
void G4SmoothTrajectory::DrawTrajectory() const
{
// Invoke the default implementation in G4VTrajectory...
G4VTrajectory::DrawTrajectory();
// ... or override with your own code here.
}
***/
void G4SmoothTrajectory::DrawTrajectory(G4int i_mode) const
{
// Invoke the default implementation in G4VTrajectory...
+14 -12
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingManager.cc,v 1.50 2009/02/27 08:09:50 tsasaki Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4SteppingManager.cc,v 1.51 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -56,7 +56,7 @@
//////////////////////////////////////
G4SteppingManager::G4SteppingManager()
//////////////////////////////////////
: fUserSteppingAction(NULL), verboseLevel(0)
: fUserSteppingAction(0), verboseLevel(0)
{
// Construct simple 'has-a' related objects
@@ -240,7 +240,7 @@ G4StepStatus G4SteppingManager::Stepping()
}
// User intervention process.
if( fUserSteppingAction != NULL ) {
if( fUserSteppingAction != 0 ) {
fUserSteppingAction->UserSteppingAction(fStep);
}
G4UserSteppingAction* regionalAction
@@ -261,7 +261,7 @@ void G4SteppingManager::SetInitialStep(G4Track* valueTrack)
// Set up several local variables.
PreStepPointIsGeom = false;
FirstStep = true;
fParticleChange = NULL;
fParticleChange = 0;
fPreviousStepSize = 0.;
fStepStatus = fUndefined;
@@ -334,15 +334,17 @@ void G4SteppingManager::SetInitialStep(G4Track* valueTrack)
// If the track is a primary, stop processing
if(fTrack->GetParentID()==0)
{
G4cerr << "Primary particle starting at "
<< fTrack->GetPosition()
<< " is outside of the world volume." << G4endl;
G4Exception("G4SteppingManager::Primary vertex outside of the world");
G4cerr << "ERROR - G4SteppingManager::SetInitialStep()" << G4endl
<< " Primary particle starting at - "
<< fTrack->GetPosition()
<< " - is outside of the world volume." << G4endl;
G4Exception("G4SteppingManager::SetInitialStep()", "Tracking0010",
FatalException, "Primary vertex outside of the world!");
}
fTrack->SetTrackStatus( fStopAndKill );
G4cerr << "G4SteppingManager::SetInitialStep(): warning: "
<< "initial track position is outside world! "
G4cout << "WARNING - G4SteppingManager::SetInitialStep()" << G4endl
<< " Initial track position is outside world! - "
<< fTrack->GetPosition() << G4endl;
}
else {
@@ -351,7 +353,7 @@ void G4SteppingManager::SetInitialStep(G4Track* valueTrack)
}
#ifdef G4VERBOSE
// !!!!! Verbose
if(verboseLevel>0) fVerbose->TrackingStarted();
if(verboseLevel>0) fVerbose->TrackingStarted();
#endif
}
+45 -35
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingManager2.cc,v 1.37 2009/09/25 00:23:41 gum Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4SteppingManager2.cc,v 1.38 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -49,7 +49,6 @@
#include "G4GPILSelection.hh"
#include "G4SteppingControl.hh"
#include "G4TransportationManager.hh"
//#include "G4UserLimits.hh"
#include "G4SteppingManager.hh"
#include "G4LossTableManager.hh"
@@ -58,16 +57,20 @@ void G4SteppingManager::GetProcessNumber()
/////////////////////////////////////////////////
{
#ifdef debug
G4cout<<"G4SteppingManager::GetProcessNumber: is called track="<<fTrack<<G4endl;
G4cout<<"G4SteppingManager::GetProcessNumber: is called track="
<<fTrack<<G4endl;
#endif
G4ProcessManager* pm= fTrack->GetDefinition()->GetProcessManager();
if(!pm)
if(!pm)
{
G4cout<<"G4SteppingManager::GetProcessNumber: ProcessManager=0 for particle="
<<fTrack->GetDefinition()->GetParticleName()<<", PDG_code="
<<fTrack->GetDefinition()->GetPDGEncoding()<<G4endl;
G4Exception("G4SteppingManager::GetProcessNumber: Process Manager is not found.");
G4cerr << "ERROR - G4SteppingManager::GetProcessNumber()" << G4endl
<< " ProcessManager is NULL for particle = "
<< fTrack->GetDefinition()->GetParticleName() << ", PDG_code = "
<< fTrack->GetDefinition()->GetPDGEncoding() << G4endl;
G4Exception("G4SteppingManager::GetProcessNumber()", "Tracking0011",
FatalException, "Process Manager is not found.");
return;
}
// AtRestDoits
@@ -75,7 +78,8 @@ void G4SteppingManager::GetProcessNumber()
fAtRestDoItVector = pm->GetAtRestProcessVector(typeDoIt);
fAtRestGetPhysIntVector = pm->GetAtRestProcessVector(typeGPIL);
#ifdef debug
G4cout<<"G4SteppingManager::GetProcessNumber: #ofAtRest="<<MAXofAtRestLoops<<G4endl;
G4cout << "G4SteppingManager::GetProcessNumber: #ofAtRest="
<< MAXofAtRestLoops << G4endl;
#endif
// AlongStepDoits
@@ -83,7 +87,8 @@ void G4SteppingManager::GetProcessNumber()
fAlongStepDoItVector = pm->GetAlongStepProcessVector(typeDoIt);
fAlongStepGetPhysIntVector = pm->GetAlongStepProcessVector(typeGPIL);
#ifdef debug
G4cout<<"G4SteppingManager::GetProcessNumber:#ofAlongStp="<<MAXofAlongStepLoops<<G4endl;
G4cout << "G4SteppingManager::GetProcessNumber:#ofAlongStp="
<< MAXofAlongStepLoops << G4endl;
#endif
// PostStepDoits
@@ -91,18 +96,23 @@ void G4SteppingManager::GetProcessNumber()
fPostStepDoItVector = pm->GetPostStepProcessVector(typeDoIt);
fPostStepGetPhysIntVector = pm->GetPostStepProcessVector(typeGPIL);
#ifdef debug
G4cout<<"G4SteppingManager::GetProcessNumber: #ofPostStep="<<MAXofPostStepLoops<<G4endl;
G4cout << "G4SteppingManager::GetProcessNumber: #ofPostStep="
<< MAXofPostStepLoops << G4endl;
#endif
if (SizeOfSelectedDoItVector<MAXofAtRestLoops ||
SizeOfSelectedDoItVector<MAXofAlongStepLoops ||
SizeOfSelectedDoItVector<MAXofPostStepLoops )
{
G4cout<<"G4SteppingManager::GetProcessNumber: SizeOfSelectedDoItVector="
<<SizeOfSelectedDoItVector<<" is smaller then one of MAXofAtRestLoops="
<<MAXofAtRestLoops<<" or MAXofAlongStepLoops="<<MAXofAlongStepLoops
<<" or MAXofPostStepLoops="<<MAXofPostStepLoops<<G4endl;
G4Exception("G4SteppingManager::GetProcessNumber: The array size is smaller than the actutal number of processes. Chnage G4SteppingManager.hh and recompile is needed.");
{
G4cerr << "ERROR - G4SteppingManager::GetProcessNumber()" << G4endl
<< " SizeOfSelectedDoItVector= " << SizeOfSelectedDoItVector
<< " ; is smaller then one of MAXofAtRestLoops= "
<< MAXofAtRestLoops << G4endl
<< " or MAXofAlongStepLoops= " << MAXofAlongStepLoops
<< " or MAXofPostStepLoops= " << MAXofPostStepLoops << G4endl;
G4Exception("G4SteppingManager::GetProcessNumber()",
"Tracking0012", FatalException,
"The array size is smaller than the actual No of processes.");
}
}
@@ -143,7 +153,7 @@ void G4SteppingManager::GetProcessNumber()
// PhysicalStep = physIntLength;
// fStepStatus = fUserDefinedLimit;
// fStep->GetPostStepPoint()
// ->SetProcessDefinedStep(NULL);
// ->SetProcessDefinedStep(0);
// // Take note that the process pointer is 'NULL' if the Step
// // is defined by the user defined limit.
// }
@@ -154,7 +164,7 @@ void G4SteppingManager::GetProcessNumber()
for(size_t np=0; np < MAXofPostStepLoops; np++){
fCurrentProcess = (*fPostStepGetPhysIntVector)(np);
if (fCurrentProcess== NULL) {
if (fCurrentProcess== 0) {
(*fSelectedPostStepDoItVector)[np] = InActivated;
continue;
} // NULL means the process is inactivated by a user on fly.
@@ -224,15 +234,14 @@ void G4SteppingManager::GetProcessNumber()
for(size_t kp=0; kp < MAXofAlongStepLoops; kp++){
fCurrentProcess = (*fAlongStepGetPhysIntVector)[kp];
if (fCurrentProcess== NULL) continue;
if (fCurrentProcess== 0) continue;
// NULL means the process is inactivated by a user on fly.
physIntLength = fCurrentProcess->
AlongStepGPIL( *fTrack,
fPreviousStepSize,
PhysicalStep,
safetyProposedToAndByProcess,
&fGPILSelection );
AlongStepGPIL( *fTrack, fPreviousStepSize,
PhysicalStep,
safetyProposedToAndByProcess,
&fGPILSelection );
#ifdef G4VERBOSE
// !!!!! Verbose
if(verboseLevel>0) fVerbose->DPSLAlongStep();
@@ -286,16 +295,14 @@ void G4SteppingManager::InvokeAtRestDoItProcs()
unsigned int NofInactiveProc=0;
for( size_t ri=0 ; ri < MAXofAtRestLoops ; ri++ ){
fCurrentProcess = (*fAtRestGetPhysIntVector)[ri];
if (fCurrentProcess== NULL) {
if (fCurrentProcess== 0) {
(*fSelectedAtRestDoItVector)[ri] = InActivated;
NofInactiveProc++;
continue;
} // NULL means the process is inactivated by a user on fly.
lifeTime =
fCurrentProcess->AtRestGPIL(
*fTrack,
&fCondition );
fCurrentProcess->AtRestGPIL( *fTrack, &fCondition );
if(fCondition==Forced && fCurrentProcess){
(*fSelectedAtRestDoItVector)[ri] = Forced;
@@ -304,17 +311,19 @@ void G4SteppingManager::InvokeAtRestDoItProcs()
(*fSelectedAtRestDoItVector)[ri] = InActivated;
if(lifeTime < shortestLifeTime ){
shortestLifeTime = lifeTime;
fAtRestDoItProcTriggered = G4int(int(ri));
fAtRestDoItProcTriggered = G4int(ri);
(*fSelectedAtRestDoItVector)[fAtRestDoItProcTriggered] = NotForced;
}
}
}
// at least one process is necessary to destory the particle
// at least one process is necessary to destroy the particle
// exit with warning
if(NofInactiveProc==MAXofAtRestLoops){
// G4Exception("G4SteppingManager::InvokeAtRestDoItProcs: No AtRestDoIt process is active. " );
G4cerr << "G4SteppingManager::InvokeAtRestDoItProcs: No AtRestDoIt process is active. " << G4endl;
G4cerr << "ERROR - G4SteppingManager::InvokeAtRestDoItProcs()" << G4endl
<< " No AtRestDoIt process is active!" << G4endl;
// G4Exception("G4SteppingManager::InvokeAtRestDoItProcs", "Tracking0013",
// FatalException, "No AtRestDoIt process is active." );
}
fStep->SetStepLength( 0. ); //the particle has stopped
@@ -400,7 +409,7 @@ void G4SteppingManager::InvokeAlongStepDoItProcs()
// Invoke the all active continuous processes
for( size_t ci=0 ; ci<MAXofAlongStepLoops ; ci++ ){
fCurrentProcess = (*fAlongStepDoItVector)[ci];
if (fCurrentProcess== NULL) continue;
if (fCurrentProcess== 0) continue;
// NULL means the process is inactivated by a user on fly.
fParticleChange
@@ -576,6 +585,7 @@ void G4SteppingManager::ApplyProductionCut(G4Track* aSecondary)
G4bool tBelowCutEnergyAndSafety = false;
G4int tPtclIdx
= G4ProductionCuts::GetIndex(aSecondary->GetDefinition());
if (tPtclIdx<0) { return; }
G4ProductionCutsTable* tCutsTbl
= G4ProductionCutsTable::GetProductionCutsTable();
G4int tCoupleIdx
+10 -8
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SteppingVerbose.cc,v 1.23 2006/07/14 14:13:57 tsasaki Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4SteppingVerbose.cc,v 1.24 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -148,7 +148,7 @@ void G4SteppingVerbose::AlongStepDoItAllDone()
for(size_t ci=0; ci<MAXofAlongStepLoops; ci++){
ptProcManager = (*fAlongStepDoItVector)(ci);
G4cout << " " << ci+1 << ") ";
if(ptProcManager != NULL){
if(ptProcManager != 0){
G4cout << ptProcManager->GetProcessName() << G4endl;
}
}
@@ -291,7 +291,7 @@ void G4SteppingVerbose::StepInfo()
} else {
G4cout << std::setw(11) << "OutOfWorld" << " ";
}
if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){
if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0){
G4cout << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
} else {
G4cout << "User Limit";
@@ -709,7 +709,7 @@ void G4SteppingVerbose::VerboseTrack()
G4cout << " Creator Process : "
<< std::setw(20);
if( fTrack->GetCreatorProcess() == NULL){
if( fTrack->GetCreatorProcess() == 0){
G4cout << " Event Generator" << G4endl;
} else {
G4cout << fTrack->GetCreatorProcess()->GetProcessName() << G4endl;
@@ -738,11 +738,12 @@ void G4SteppingVerbose::ShowStep() const
{
if(Silent==1){ return; }
G4String volName;
G4int oldprc;
// Show header
G4cout << G4endl;
G4cout << " ++G4Step Information " << G4endl;
G4cout.precision(16);
oldprc = G4cout.precision(16);
// Show G4Step specific information
G4cout << " Address of G4Track : " << fStep->GetTrack() << G4endl;
@@ -856,16 +857,17 @@ void G4SteppingVerbose::ShowStep() const
G4cout << G4endl;
G4cout << " Process defined Step: " ;
if( fStep->GetPreStepPoint()->GetProcessDefinedStep() == NULL ){
if( fStep->GetPreStepPoint()->GetProcessDefinedStep() == 0 ){
G4cout << std::setw(20) << "Undefined";
} else {
G4cout << std::setw(20) << fStep->GetPreStepPoint()->GetProcessDefinedStep()->GetProcessName();
}
if( fStep->GetPostStepPoint()->GetProcessDefinedStep() == NULL){
if( fStep->GetPostStepPoint()->GetProcessDefinedStep() == 0){
G4cout << std::setw(20) << "Undefined";
} else {
G4cout << std::setw(20) << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
}
G4cout.precision(oldprc);
G4cout << G4endl;
G4cout << " -------------------------------------------------------"
+8 -6
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4TrackingManager.cc,v 1.22 2006/11/14 10:58:47 tsasaki Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TrackingManager.cc,v 1.23 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -48,7 +48,7 @@ class G4VSteppingVerbose;
//////////////////////////////////////
G4TrackingManager::G4TrackingManager()
//////////////////////////////////////
: fpUserTrackingAction(NULL), fpTrajectory(NULL),
: fpUserTrackingAction(0), fpTrajectory(0),
StoreTrajectory(0), verboseLevel(0), EventIsAborted(false)
{
fpSteppingManager = new G4SteppingManager();
@@ -91,7 +91,7 @@ void G4TrackingManager::ProcessOneTrack(G4Track* apValueG4Track)
// Pre tracking user intervention process.
fpTrajectory = 0;
if( fpUserTrackingAction != NULL ) {
if( fpUserTrackingAction != 0 ) {
fpUserTrackingAction->PreUserTrackingAction(fpTrack);
}
#ifdef G4_STORE_TRAJECTORY
@@ -136,7 +136,7 @@ void G4TrackingManager::ProcessOneTrack(G4Track* apValueG4Track)
fpTrack->GetDefinition()->GetProcessManager()->EndTracking();
// Post tracking user intervention process.
if( fpUserTrackingAction != NULL ) {
if( fpUserTrackingAction != 0 ) {
fpUserTrackingAction->PostUserTrackingAction(fpTrack);
}
@@ -153,7 +153,9 @@ void G4TrackingManager::ProcessOneTrack(G4Track* apValueG4Track)
void G4TrackingManager::SetTrajectory(G4VTrajectory* aTrajectory)
{
#ifndef G4_STORE_TRAJECTORY
G4Exception("G4TrackingManager::SetTrajectory is invoked without G4_STORE_TRAJECTORY compilor option");
G4Exception("G4TrackingManager::SetTrajectory()",
"Tracking0015", FatalException,
"Invoked without G4_STORE_TRAJECTORY option set!");
#endif
fpTrajectory = aTrajectory;
}
+11 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Trajectory.cc,v 1.33 2009/11/12 09:09:56 allison Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4Trajectory.cc,v 1.35 2010/06/16 20:03:00 allison Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
// ---------------------------------------------------------------
//
@@ -114,6 +114,15 @@ void G4Trajectory::ShowTrajectory(std::ostream& os) const
// ... or override with your own code here.
}
/***
void G4Trajectory::DrawTrajectory() const
{
// Invoke the default implementation in G4VTrajectory...
G4VTrajectory::DrawTrajectory();
// ... or override with your own code here.
}
***/
void G4Trajectory::DrawTrajectory(G4int i_mode) const
{
// Invoke the default implementation in G4VTrajectory...
+5 -8
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4UserSteppingAction.cc,v 1.10 2006/06/29 21:16:17 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4UserSteppingAction.cc,v 1.11 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
// ---------------------------------------------------------------
//
@@ -49,18 +49,19 @@
/////////////////////////////////////////////////////////
G4UserSteppingAction::G4UserSteppingAction()
/////////////////////////////////////////////////////////
: fpSteppingManager(0)
{
if(!(G4ParticleTable::GetParticleTable()->GetReadiness()))
{
G4String msg;
msg = " You are instantiating G4UserSteppingAction BEFORE your\n";
msg += "G4VUserPhysicsList is instantiated and assigned to G4RunManager.\n";
msg += " Such an instantiation is prohibited by Geant4 version 8.0. To fix this problem,\n";
msg += " Such an instantiation is prohibited since Geant4 version 8.0. To fix this problem,\n";
msg += "please make sure that your main() instantiates G4VUserPhysicsList AND\n";
msg += "set it to G4RunManager before instantiating other user action classes\n";
msg += "such as G4UserSteppingAction.";
G4Exception("G4UserSteppingAction::G4UserSteppingAction()",
"Tracking0002",FatalException,msg);
"Tracking0002", FatalException, msg);
}
}
@@ -76,7 +77,3 @@ void G4UserSteppingAction::
{
fpSteppingManager = pValue;
}
+5 -13
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4UserTrackingAction.cc,v 1.10 2006/06/29 21:16:19 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4UserTrackingAction.cc,v 1.11 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
// ---------------------------------------------------------------
//
@@ -45,18 +45,19 @@
/////////////////////////////////////////////////////////
G4UserTrackingAction::G4UserTrackingAction()
/////////////////////////////////////////////////////////
: fpTrackingManager(0)
{
if(!(G4ParticleTable::GetParticleTable()->GetReadiness()))
{
G4String msg;
msg = " You are instantiating G4UserTrackingAction BEFORE your\n";
msg += "G4VUserPhysicsList is instantiated and assigned to G4RunManager.\n";
msg += " Such an instantiation is prohibited by Geant4 version 8.0. To fix this problem,\n";
msg += " Such an instantiation is prohibited since Geant4 version 8.0. To fix this problem,\n";
msg += "please make sure that your main() instantiates G4VUserPhysicsList AND\n";
msg += "set it to G4RunManager before instantiating other user action classes\n";
msg += "such as G4UserTrackingAction.";
G4Exception("G4UserTrackingAction::G4UserTrackingAction()",
"Tracking0001",FatalException,msg);
"Tracking0001", FatalException, msg);
}
}
@@ -72,12 +73,3 @@ void G4UserTrackingAction::
{
fpTrackingManager = pValue;
}
+28 -6
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VSteppingVerbose.cc,v 1.18 2006/11/14 10:58:47 tsasaki Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VSteppingVerbose.cc,v 1.19 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//---------------------------------------------------------------
//
@@ -50,8 +50,32 @@
G4VSteppingVerbose* G4VSteppingVerbose::fInstance = 0;
G4int G4VSteppingVerbose::Silent = 0;
G4int G4VSteppingVerbose::SilentStepInfo = 0;
G4VSteppingVerbose::G4VSteppingVerbose() :verboseLevel(0){
if(fInstance!= NULL) G4Exception("G4SteppingVerbose is the singleton. Only one SteppingVerbose class can be instantiated.");
G4VSteppingVerbose::G4VSteppingVerbose()
: fManager(0), fUserSteppingAction(0),
PhysicalStep(0.), GeometricalStep(0.), CorrectedStep(0.),
PreStepPointIsGeom(false), FirstStep(false),
TempInitVelocity(0.), TempVelocity(0.), Mass(0.), sumEnergyChange(0.),
fParticleChange(0), fTrack(0), fSecondary(0), fStep(0),
fPreStepPoint(0), fPostStepPoint(0), fCurrentVolume(0),
fSensitive(0), fCurrentProcess(0), fAtRestDoItVector(0),
fAlongStepDoItVector(0), fPostStepDoItVector(0), fAtRestGetPhysIntVector(0),
fAlongStepGetPhysIntVector(0), fPostStepGetPhysIntVector(0),
MAXofAtRestLoops(0), MAXofAlongStepLoops(0), MAXofPostStepLoops(0),
currentMinimumStep(0.), numberOfInteractionLengthLeft(0.),
fAtRestDoItProcTriggered(0), fAlongStepDoItProcTriggered(0),
fPostStepDoItProcTriggered(0), fN2ndariesAtRestDoIt(0),
fN2ndariesAlongStepDoIt(0), fN2ndariesPostStepDoIt(0),
fNavigator(0), verboseLevel(0), fSelectedAtRestDoItVector(0),
fSelectedAlongStepDoItVector(0), fSelectedPostStepDoItVector(0),
fPreviousStepSize(0.), physIntLength(0.)
{
if(fInstance!= 0)
{
G4Exception("G4VSteppingVerbose::G4VSteppingVerbose()",
"Tracking0014", FatalException,
"Only one SteppingVerbose class can be instantiated.");
}
}
G4VSteppingVerbose::~G4VSteppingVerbose(){;}
@@ -62,8 +86,6 @@ void G4VSteppingVerbose::SetManager(G4SteppingManager* const fMan)
fManager=fMan;
}
//////////////////////////////////////////////////
void G4VSteppingVerbose::CopyState()
//////////////////////////////////////////////////
+23 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VTrajectory.cc,v 1.12 2006/10/16 13:45:01 allison Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VTrajectory.cc,v 1.17 2010/07/19 13:41:21 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
// ---------------------------------------------------------------
//
@@ -115,10 +115,31 @@ void G4VTrajectory::ShowTrajectory(std::ostream& os) const
}
}
/***
void G4VTrajectory::DrawTrajectory() const
{
G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
if (0 != pVVisManager) {
pVVisManager->DispatchToModel(*this);
}
}
***/
void G4VTrajectory::DrawTrajectory(G4int i_mode) const
{
G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
static G4bool warnedAboutIMode = false;
if (!warnedAboutIMode && i_mode != 0) {
G4Exception
("G4VTrajectory::DrawTrajectory()",
"Tracking0100", JustWarning,
"DEPRECATED! The use of i_mode argument in DrawTrajectory()"
"\n is deprecated and will be removed at the next major release.");
warnedAboutIMode = true;
}
if (0 != pVVisManager) {
pVVisManager->DispatchToModel(*this, i_mode);
}