diff --git a/ReleaseNotes/Patch4.4.0-1.txt b/ReleaseNotes/Patch4.4.0-1.txt
index 66bdfaefce2f3f8ca2a9a492e9a3cad00d6d9d3f..422c6b1245c955c43c97d09312cf0c0e7d345e82 100644
--- a/ReleaseNotes/Patch4.4.0-1.txt
+++ b/ReleaseNotes/Patch4.4.0-1.txt
@@ -94,9 +94,8 @@ List of fixes included in this public patch to release 4.0:
The code and rebuilt binary libraries for release 4.0 are available through
our "Source Code" Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
-
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+- see our Geant4 Home Page (http://cern.ch/geant4).
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
diff --git a/ReleaseNotes/Patch4.4.0-2.txt b/ReleaseNotes/Patch4.4.0-2.txt
index 5f100341643de553f209bc53638ea900b1ed1aa5..da996ee4c1abd5d508fc15db3f2d9dca96d18eec 100644
--- a/ReleaseNotes/Patch4.4.0-2.txt
+++ b/ReleaseNotes/Patch4.4.0-2.txt
@@ -149,9 +149,8 @@ top of patch-01:
The code and rebuilt binary libraries for release 4.0 are available through
our "Source Code" Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
-
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+- see our Geant4 Home Page (http://cern.ch/geant4).
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
diff --git a/ReleaseNotes/Patch4.4.1-1.txt b/ReleaseNotes/Patch4.4.1-1.txt
index 3b2e4e37b00e278b35ced3e572c377d77dbde899..589857c05b141d9c5a0d372b18cdeaa2f85d6bcc 100644
--- a/ReleaseNotes/Patch4.4.1-1.txt
+++ b/ReleaseNotes/Patch4.4.1-1.txt
@@ -105,8 +105,8 @@ List of fixes included in this public patch to release 4.1:
The code and rebuilt binary libraries for release 4.1 are available through
our "Source Code" Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
diff --git a/ReleaseNotes/Patch4.5.0-1.txt b/ReleaseNotes/Patch4.5.0-1.txt
index 2b8a57ebd305c53fe9ac0047d19e1cfc048b68b3..9264b25ce1726bc4e63fb698da2f1895b3340531 100644
--- a/ReleaseNotes/Patch4.5.0-1.txt
+++ b/ReleaseNotes/Patch4.5.0-1.txt
@@ -174,8 +174,8 @@ List of fixes included in this public patch to release 5.0:
The code and rebuilt binary libraries for release 5.0 are available through
our "Source Code" Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
diff --git a/ReleaseNotes/Patch4.5.1-1.txt b/ReleaseNotes/Patch4.5.1-1.txt
new file mode 100644
index 0000000000000000000000000000000000000000..82a2f26d6b09b8f8695790a54d7fad34bf5e58c2
--- /dev/null
+++ b/ReleaseNotes/Patch4.5.1-1.txt
@@ -0,0 +1,64 @@
+
+ Geant4 5.1 - patch-01 Release Notes
+ -----------------------------------
+
+ 19 May 2003
+
+List of fixes included in this public patch to release 5.1:
+
+ o Electromagnetic processes (standard):
+ ------------------------------------
+ + muons:
+ - Commented out debug printout in G4MuPairProduction.
+
+ o Geometry:
+ --------
+ + solids/Boolean:
+ - Added set/get methods for scale precision in G4ReflectionFactory.
+ + volumes:
+ - G4PropagatorInField.cc: fix in ComputeStep() to avoid step computation
+ if proposed step length is too small. Fixes problem noticed in release
+ 5.1 and occasionally appearing as "Invalid Enum in [solid-type]", also
+ registered as problem report #485.
+
+ o Hadronic processes:
+ ------------------
+ + models/generator/kinetic_model
+ o G4BinaryCascade: fix to cure infinite loop observed in inelastic
+ scattering of hydrogen.
+
+ o Run:
+ ---
+ - G4RunManager: fixed behavior of function DefineWorldVolume()
+ to properly reset navigation history and optimisation in case the
+ topology of the geometry has changed between runs. Now only a single
+ call to DefineWorldVolume() is necessary when changing the geometry.
+ Fixes also problem report #481.
+ o Added new boolean argument (default set to TRUE) to specify if
+ topology has changed.
+ o Forced open/close geometry in method ResetNavigator() to properly
+ reset G4Navigator status and remove old optimisations.
+
+ o Examples:
+ --------
+ - novice/N04
+ o Corrected printout.
+ - extended/electromagnetic - TestEm1, TestEm2, TestEm3
+ o Simplified mechanism for updating geometries between runs,
+ according to changes in G4RunManager::DefineWorldVolume().
+
+ ----------------------------------------------------------------------------
+
+ Technical Notes
+ ---------------
+
+ o This patch should be applied on top of release 5.1.
+ o Technical notes distributed for release 5.1 are also applicable and
+ valid for this patch.
+
+The code and rebuilt binary libraries for release 5.1 are available through
+our "Source Code" Web page: http://cern.ch/geant4
+
+Please refer to the Geant4 User Documentation:
+ http://cern.ch/geant4/G4UsersDocuments/Overview/html
+for further information about using Geant4.
diff --git a/ReleaseNotes/ReleaseNotes4.0.1.txt b/ReleaseNotes/ReleaseNotes4.0.1.txt
index 0b944faea4866ca95090753898729fd304c54884..e3c29c1fb8ffaf6219abace103680f49abbff341 100644
--- a/ReleaseNotes/ReleaseNotes4.0.1.txt
+++ b/ReleaseNotes/ReleaseNotes4.0.1.txt
@@ -21,13 +21,11 @@ Note that the next release, Geant4.1.0, will be offered only in the
STL version.
This code and some binary libraries are available through our "Source
-Code" Web page - see our <A
-Href="http://wwwinfo.cern.ch/asd/geant4/geant4.html">Geant4 Home
-Page</A>.
+Code" Web page - see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-Href="http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Updates to the documentation for Geant4.0.1 are still in preparation
and are expected to be published within three weeks.
@@ -68,9 +66,9 @@ Platforms also tested but giving rise to some problems - see below:
2. CLHEP 1.4
------------
-Geant4.0.1 requires the installation of <A
-href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">CLHEP
-1.4</A>. The following platform specific instructions apply:
+Geant4.0.1 requires the installation of CLHEP 1.4
+(http://cern.ch/clhep/INSTALLATION/clhep.html).
+The following platform specific instructions apply:
DEC: Do *not* use the compiler option "-std strict_ansi".
@@ -84,10 +82,10 @@ href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">CLHEP
The following versions of STL have been tested:
- <A href="http://www.objectspace.com/">ObjectSpace</A> STL on: AIX,
+ ObjectSpace STL (http://www.objectspace.com) on: AIX,
DEC, HP, NT and SUN.
- <A href="http://www.stlport.org/">STLPORT</A> STL on: NT
+ STLPORT STL (http://www.stlport.org) on: NT
"Native" STL on: Linux.
diff --git a/ReleaseNotes/ReleaseNotes4.1.0.txt b/ReleaseNotes/ReleaseNotes4.1.0.txt
index e3bfbcd761e58cb5dd0b75e56921c7b61cb1570f..9e445c5cfabd1e45c14b3fb3529fe361e064bc3b 100644
--- a/ReleaseNotes/ReleaseNotes4.1.0.txt
+++ b/ReleaseNotes/ReleaseNotes4.1.0.txt
@@ -80,12 +80,11 @@ Notes:
This code and some binary libraries are available through our "Source
Code" Web page:
-- see our <A href="http://wwwinfo.cern.ch/asd/geant4/geant4.html">Geant4
- Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Updates to the documentation for Geant4 1.0 are still in preparation and are
expected to be published within three weeks.
@@ -128,8 +127,7 @@ Platforms configured but not tested and not supported:
Geant4 1.0 requires the installation of CLHEP 1.4.
-See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
-CLHEP 1.4</A>.
+See CLHEP 1.4 (http://cern.ch/clhep/INSTALLATION/clhep.html).
The following platform specific instructions apply:
@@ -148,7 +146,7 @@ The following versions of STL have been tested:
ObjectSpace STL on
DEC, HP, NT and SUN.
- See <A href="http://www.objectspace.com/">ObjectSpace</A>.
+ See ObjectSpace (http://www.objectspace.com).
"Native" STL on: Linux, HP.
diff --git a/ReleaseNotes/ReleaseNotes4.1.1.txt b/ReleaseNotes/ReleaseNotes4.1.1.txt
index cb89859fe542f52cce38c69632cd320e3418d18c..bb01093c60219a80112f665ef4d57bc47417dfff 100644
--- a/ReleaseNotes/ReleaseNotes4.1.1.txt
+++ b/ReleaseNotes/ReleaseNotes4.1.1.txt
@@ -83,12 +83,11 @@ Notes:
The source code and some binary libraries are available through our "Source
Code" Web page:
-- see our <A href="http://wwwinfo.cern.ch/asd/geant4/geant4.html">Geant4
- Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Contents
@@ -130,8 +129,7 @@ Platforms configured but not tested and not supported:
Geant4 1.0 requires the installation of CLHEP 1.4.
-See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
-CLHEP 1.4</A>.
+See CLHEP 1.4 (http://cern.ch/clhep/INSTALLATION/clhep.html).
Be aware, for the platforms listed below, the standard CLHEP installation
will use ISO-ANSI setup:
@@ -156,7 +154,7 @@ The following versions of STL have been tested:
ObjectSpace STL on
DEC, HP, NT and SUN.
- See <A href="http://www.objectspace.com/">ObjectSpace</A>.
+ See ObjectSpace (http://www.objectspace.com).
This is selected at installation/compile time by the environment variable
G4USE_OSPACE in the case of the latter - see documentation.
diff --git a/ReleaseNotes/ReleaseNotes4.2.0.txt b/ReleaseNotes/ReleaseNotes4.2.0.txt
index 141d9a67183e563269d361caa9f0747902fb56ee..c7a701ce9f81e4baa5eae6d3681e64a05c5d9f6b 100644
--- a/ReleaseNotes/ReleaseNotes4.2.0.txt
+++ b/ReleaseNotes/ReleaseNotes4.2.0.txt
@@ -201,11 +201,11 @@ Notes:
The code and some binary libraries are available through our "Source
Code" Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Updates to the documentation for Geant4 2.0 are expected to be published as
usual within three weeks from the release date.
@@ -253,8 +253,7 @@ Platforms configured but not tested and not supported:
Geant4 2.0 requires the installation of CLHEP 1.5.
-See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
-CLHEP 1.5</A>.
+See CLHEP 1.5 (http://cern.ch/clhep/INSTALLATION/clhep.html).
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
if the compiler is capable. You need to explicitly disable CLHEP settings in
@@ -269,9 +268,6 @@ Geant4 2.0 coworks with LHC++ 2.0.0 and components included therein:
ObjectSpace 2.1
HepODBMS 0.3.1.3
CLHEP 1.5.0.0
-
-For more information about LHC++ 2.0.0, see:
- <A href="http://wwwinfo.cern.ch/asd/lhc++/may2000.html">LHC++ 2.0.0</A>
3. The Standard Template Library
--------------------------------
@@ -281,7 +277,7 @@ The following versions of STL have been tested:
ObjectSpace STL on
DEC, HP and SUN.
- See <A href="http://www.objectspace.com/">ObjectSpace</A>.
+ See ObjectSpace (http://www.objectspace.com).
"Native" STL on: Linux, HP, DEC and SUN.
diff --git a/ReleaseNotes/ReleaseNotes4.3.0.txt b/ReleaseNotes/ReleaseNotes4.3.0.txt
index abbea305b75368d2353848e4b06f1311fc299f80..4f08e1def08c046733507ff422c7a3f98579b98b 100644
--- a/ReleaseNotes/ReleaseNotes4.3.0.txt
+++ b/ReleaseNotes/ReleaseNotes4.3.0.txt
@@ -337,11 +337,11 @@ Notes:
The code and some binary libraries are available through our "Source
Code" Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Updates to the documentation for Geant4 3.0 are expected to be published as
usual within three weeks from the release date.
@@ -385,8 +385,8 @@ Platforms configured but not tested and not supported:
Geant4 3.0 requires the installation of CLHEP.
-See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
-CLHEP</A>. Tests have been performed with CLHEP 1.6.0.0.
+See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
+Tests have been performed with CLHEP 1.6.0.0.
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
if the compiler is capable. You need to explicitly disable CLHEP settings in
@@ -398,8 +398,7 @@ Geant4 3.0 coworks with ANAPHE 3.2.0 and components included therein:
HepODBMS 0.3.1.4
CLHEP 1.6.0.0
-For more information about ANAPHE 3.2.0, see:
- <A href="http://wwwinfo.cern.ch/asd/lhc++/release/3.2.0/3.2.0.html">ANAPHE 3.2.0</A>
+For more information about ANAPHE see: http://cern.ch/anaphe
3. The Standard Template Library
@@ -410,7 +409,7 @@ The following versions of STL have been tested:
ObjectSpace STL on
DEC, HP and SUN (CC 4.2).
- See <A href="http://www.objectspace.com/">ObjectSpace</A>.
+ See ObjectSpace (http://www.objectspace.com).
"Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.1).
@@ -507,7 +506,7 @@ For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
- http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
+ http://cern.ch/geant4/problemreport
7. Compilation Warnings
diff --git a/ReleaseNotes/ReleaseNotes4.3.1.txt b/ReleaseNotes/ReleaseNotes4.3.1.txt
index 0f213e34435b2becacc121c056697edfb5b1caed..9f9da20cb20f1845703f1a98ee174bbe91e67cb2 100644
--- a/ReleaseNotes/ReleaseNotes4.3.1.txt
+++ b/ReleaseNotes/ReleaseNotes4.3.1.txt
@@ -292,11 +292,11 @@ Notes:
The code and some binary libraries are available through our "Source Code"
Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Updates to the documentation for Geant4 3.1 are expected to be published as
usual within three weeks from the release date.
@@ -340,8 +340,8 @@ Platforms configured but not tested and not supported:
Geant4 3.1 requires the installation of CLHEP.
-See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
-CLHEP</A>. Tests have been performed with CLHEP 1.6.0.0.
+See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
+Tests have been performed with CLHEP 1.6.0.0.
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
if the compiler is capable. You need to explicitly disable CLHEP settings in
@@ -353,8 +353,7 @@ Geant4 3.1 coworks with ANAPHE 3.2.0 and components included therein:
HepODBMS 0.3.1.4
CLHEP 1.6.0.0
-For more information about ANAPHE 3.2.0, see:
- <A href="http://wwwinfo.cern.ch/asd/lhc++/release/3.2.0/3.2.0.html">ANAPHE 3.2.0</A>
+For more information about ANAPHE, see: http://cern.ch/anaphe
3. The Standard Template Library
@@ -364,7 +363,7 @@ The following versions of STL have been tested:
ObjectSpace STL on SUN (CC 4.2).
- See <A href="http://www.objectspace.com/">ObjectSpace</A>.
+ See ObjectSpace (http://www.objectspace.com).
"Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.2).
@@ -423,7 +422,7 @@ For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
- http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
+ http://cern.ch/geant4/problemreport
7. Compilation Warnings
diff --git a/ReleaseNotes/ReleaseNotes4.3.2.txt b/ReleaseNotes/ReleaseNotes4.3.2.txt
index 62db2bb461f84735b70a8ab6b778dd5468b49313..7083662f6d2ef1246164ae291c619fbafd57b029 100644
--- a/ReleaseNotes/ReleaseNotes4.3.2.txt
+++ b/ReleaseNotes/ReleaseNotes4.3.2.txt
@@ -251,11 +251,11 @@ Notes:
The code and some binary libraries are available through our "Source Code"
Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Updates to the documentation for Geant4 3.2 are expected to be published as
usual within three weeks from the release date.
@@ -299,8 +299,8 @@ Platforms configured but not tested and not supported:
Geant4 3.2 requires the installation of CLHEP.
-See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
-CLHEP</A>. Tests have been performed with CLHEP 1.6.0.0.
+See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
+Tests have been performed with CLHEP 1.6.0.0.
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
if the compiler is capable. You need to explicitly disable CLHEP settings in
@@ -312,8 +312,7 @@ Geant4 3.2 coworks with ANAPHE 3.6.0 and components included therein:
HepODBMS 0.3.2.9
CLHEP 1.6.0.0
-For more information about ANAPHE 3.6.0, see:
- <A href="http://cern.ch/anaphe">ANAPHE</A>
+For more information about ANAPHE, see: http://cern.ch/anaphe
3. The Standard Template Library
@@ -323,7 +322,7 @@ The following versions of STL have been tested:
ObjectSpace STL on SUN (CC 4.2).
- See <A href="http://www.objectspace.com/">ObjectSpace</A>.
+ See ObjectSpace (http://www.objectspace.com).
"Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.2).
@@ -419,7 +418,7 @@ For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
- http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
+ http://cern.ch/geant4/problemreport
7. Compilation Warnings
diff --git a/ReleaseNotes/ReleaseNotes4.4.0.txt b/ReleaseNotes/ReleaseNotes4.4.0.txt
index cc10ffdd7475b3aa1468956d0b8c5627079053da..c22acbc3bbe5452e8e7a6230079fad6f5787ffb3 100644
--- a/ReleaseNotes/ReleaseNotes4.4.0.txt
+++ b/ReleaseNotes/ReleaseNotes4.4.0.txt
@@ -468,11 +468,11 @@ to the related History files):
The code and some binary libraries are available through our "Source Code"
Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Contents
@@ -514,8 +514,8 @@ Platforms configured but not tested and not supported:
Geant4 4.0 requires the installation of CLHEP.
-See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
-CLHEP</A>. Tests have been performed with CLHEP 1.7.0.0.
+See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
+Tests have been performed with CLHEP 1.7.0.0.
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
if the compiler is capable. You need to explicitly disable CLHEP settings in
@@ -526,8 +526,7 @@ Geant4 4.0 coworks with ANAPHE 3.6.5 and components included therein:
HepODBMS 0.3.3.1
CLHEP 1.7.0.0
-For more information about ANAPHE 3.6.5, see:
- <A href="http://cern.ch/anaphe">ANAPHE</A>
+For more information about ANAPHE, see: http://cern.ch/anaphe
3. The Standard Template Library
@@ -626,7 +625,7 @@ For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
- http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
+ http://cern.ch/geant4/problemreport
7. Compilation Warnings
diff --git a/ReleaseNotes/ReleaseNotes4.4.1.txt b/ReleaseNotes/ReleaseNotes4.4.1.txt
index c04c3beb6fc86d12aa15e480195e5c5f15d08c98..7e1919e4198ff4480c0fd1b254e8434c45c96c89 100644
--- a/ReleaseNotes/ReleaseNotes4.4.1.txt
+++ b/ReleaseNotes/ReleaseNotes4.4.1.txt
@@ -247,11 +247,11 @@ to the related History files):
The code and some binary libraries are available through our "Source Code"
Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Contents
@@ -292,8 +292,8 @@ Platforms configured but not tested and not supported:
Geant4 4.1 requires the installation of CLHEP.
-See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
-CLHEP</A>. Tests have been performed with CLHEP 1.7.5.0. However, first
+See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
+Tests have been performed with CLHEP 1.7.5.0. However, first
level porting has also been verified on CLHEP 1.8.0.0.
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
@@ -306,14 +306,13 @@ These include:
Objectivity 6.1.3
HepODBMS 0.3.3.1
CLHEP 1.7.5.0
- (see: <A href="http://cern.ch/anaphe">ANAPHE</A>)
+ (see: http://cern.ch/anaphe)
- JAS 2.2.5
- (see: <A href="http://jas.freehep.org">JAS</A>)
+ (see: http://jas.freehep.org)
- Open Scientist v8
- (see: <A href="http://www.lal.in2p3.fr/OpenScientist/v8/welcome.html">Open Scientist</A>)
+ (see: http://www.lal.in2p3.fr/OpenScientist/v8/welcome.html)
-AIDA headers can be downloaded from:
- <A href="http://aida.freehep.org">AIDA</A>
+AIDA headers can be downloaded from: http://aida.freehep.org
3. The Standard Template Library
@@ -362,7 +361,7 @@ For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
- http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
+ http://cern.ch/geant4/problemreport
7. Compilation Warnings
diff --git a/ReleaseNotes/ReleaseNotes4.5.0.txt b/ReleaseNotes/ReleaseNotes4.5.0.txt
index ccdebe9974eb7f2e616c0293248e8bc59176bb6e..694fd7a8a38b5c429b17e35a4ee66ca716584716 100644
--- a/ReleaseNotes/ReleaseNotes4.5.0.txt
+++ b/ReleaseNotes/ReleaseNotes4.5.0.txt
@@ -497,11 +497,11 @@ to the related History files):
The code and some binary libraries are available through our "Source Code"
Web page:
-- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
+- see our Geant4 Home Page (http://cern.ch/geant4).
-Please refer to <A
-href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
-User Documentation</A> for further information about using Geant4.
+Please refer to the Geant4 User Documentation
+(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
+for further information about using Geant4.
Contents
@@ -541,20 +541,19 @@ Platforms configured but not tested and not supported:
Geant4 5.0 requires the installation of CLHEP.
-See <A href="http://cern.ch/clhep/INSTALLATION/clhep.html">
-CLHEP</A>. Tests have been performed with CLHEP 1.8.0.0.
+See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
+Tests have been performed with CLHEP 1.8.0.0.
Geant4 5.0 examples with histogramming cowork with AIDA 3.0 implementations.
These include:
- ANAPHE and components included therein
- (see: <A href="http://cern.ch/anaphe">ANAPHE</A>)
+ (see: http://cern.ch/anaphe)
- JAS (Java Analysis Studio)
- (see: <A href="http://jas.freehep.org">JAS</A>)
+ (see: http://jas.freehep.org)
- Open Scientist
- (see: <A href="http://www.lal.in2p3.fr/OpenScientist">Open Scientist</A>)
+ (see: http://www.lal.in2p3.fr/OpenScientist)
-AIDA headers can be downloaded from:
- <A href="http://aida.freehep.org">AIDA</A>
+AIDA headers can be downloaded from: http://aida.freehep.org
3. The Standard Template Library
@@ -597,7 +596,7 @@ For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
- http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
+ http://cern.ch/geant4/problemreport
6. Compilation Warnings
diff --git a/ReleaseNotes/ReleaseNotes4.5.1.txt b/ReleaseNotes/ReleaseNotes4.5.1.txt
index bb4543fe5ba3c2cc52831dde480b9db349845f4a..89922e2e6015f377a684fa51ca9f6557a71cde2f 100644
--- a/ReleaseNotes/ReleaseNotes4.5.1.txt
+++ b/ReleaseNotes/ReleaseNotes4.5.1.txt
@@ -51,7 +51,7 @@ Platforms configured but not tested and not supported:
-----------------
Geant4 5.1 requires the installation of CLHEP
-(href="http://cern.ch/clhep/INSTALLATION/clhep.html).
+(http://cern.ch/clhep/INSTALLATION/clhep.html).
Tests have been performed with CLHEP 1.8.0.0.
Geant4 5.1 examples with histogramming cowork with AIDA 3.0 implementations.
@@ -107,7 +107,7 @@ For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
- http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
+ http://cern.ch/geant4/problemreport
6. Compilation Warnings
diff --git a/examples/extended/electromagnetic/TestEm1/History b/examples/extended/electromagnetic/TestEm1/History
index fe4f113aadff17151b56e60aa412bbaa63d5aa30..8a1e37b023529fc2b35a448ddd4de428f833ed61 100644
--- a/examples/extended/electromagnetic/TestEm1/History
+++ b/examples/extended/electromagnetic/TestEm1/History
@@ -1,4 +1,4 @@
-$Id: History,v 1.28 2003/03/27 11:16:16 maire Exp $
+$Id: History,v 1.29 2003/05/09 09:15:56 vnivanch Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,7 +14,10 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
-
+
+09-05-03 V.Ivant (testem1-V05-01-00)
+- change updated command
+
27-03-03 mma (testem1-V05-00-05)
- modular physics list
@@ -22,7 +25,7 @@ track of all tags.
11-03-03 V.Ivant (testem1-V05-00-03)
- Remove all old interfaces to cuts
-- Add definition of mean excitation energy for water
+- Add definition of mean excitation energy for water
06-03-03 mma (testem1-V05-00-02)
- PhysicsList::SetCuts : suppress cutForProton
diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.in b/examples/extended/electromagnetic/TestEm1/TestEm1.in
index eff706ab8cc93c0becc5c674a777fbe4a8019d49..7d6e0a202256d148d8cdc61a4fc8d9c2785482e3 100644
--- a/examples/extended/electromagnetic/TestEm1/TestEm1.in
+++ b/examples/extended/electromagnetic/TestEm1/TestEm1.in
@@ -1,4 +1,4 @@
-# $Id: TestEm1.in,v 1.9 2003/03/26 17:49:54 vnivanch Exp $
+# $Id: TestEm1.in,v 1.11 2003/04/11 14:31:15 vnivanch Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
@@ -10,10 +10,11 @@
#
/testem/phys/setGCut 2.20 mm
/testem/phys/setECut 6.05 mum
+/testem/phys/setPCut 6.05 mum
#
/run/initialize
#
-/process/eLoss/StepFunction 0.183 170 micrometer
+/process/eLoss/StepFunction 0.183 1.70 micrometer
#
/run/verbose 2
#
diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc
index 521f9085f0d4eb7d43da797c4396aafc86323d56..b7bd524e415458161d22be83bd42c7be4bca2fcd 100644
--- a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc
+++ b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc
@@ -22,8 +22,8 @@
//
//
-// $Id: Em1DetectorConstruction.cc,v 1.13 2003/03/27 11:16:20 maire Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: Em1DetectorConstruction.cc,v 1.14 2003/05/09 09:15:57 vnivanch Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -251,13 +251,7 @@ void Em1DetectorConstruction::SetMagField(G4double fieldValue)
void Em1DetectorConstruction::UpdateGeometry()
{
- G4bool first = true;
- if (pBox) first = false;
- G4VPhysicalVolume* v = ConstructVolumes();
- G4RunManager* rm = G4RunManager::GetRunManager();
- rm->GeometryHasBeenModified();
- rm->DefineWorldVolume(v);
- if (!first) rm->ResetNavigator();
+ G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc
index 7e6d4e618007fa14b4ff72175d88623653ca7cc0..8277d30b7d0e11ba44cf44dfa78d43fa4332a30d 100644
--- a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc
+++ b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: Em1SteppingAction.cc,v 1.8 2002/05/31 17:10:35 maire Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: Em1SteppingAction.cc,v 1.9 2003/05/09 09:15:57 vnivanch Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -53,18 +53,18 @@ Em1SteppingAction::~Em1SteppingAction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1SteppingAction::UserSteppingAction(const G4Step* aStep)
-{
- G4double EdepStep = aStep->GetTotalEnergyDeposit();
- if (EdepStep > 0.) eventAction->addEdep(EdepStep);
-
- const G4VProcess* process = aStep->GetPostStepPoint()->GetProcessDefinedStep();
- if (process) runAction->CountProcesses(process->GetProcessName());
-
- G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge();
- G4double steplen = aStep->GetStepLength();
-
-#ifndef G4NOHIST
- if (charge != 0.) runAction->GetHisto(2)->fill(steplen);
+{
+ G4double EdepStep = aStep->GetTotalEnergyDeposit();
+ if (EdepStep > 0.) eventAction->addEdep(EdepStep);
+
+ const G4VProcess* process = aStep->GetPostStepPoint()->GetProcessDefinedStep();
+ if (process) runAction->CountProcesses(process->GetProcessName());
+
+
+#ifndef G4NOHIST
+ G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge();
+ G4double steplen = aStep->GetStepLength();
+ if (charge != 0.) runAction->GetHisto(2)->fill(steplen);
#endif
}
diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc
index 5ec9cdcd2e1a2dfea81f6614cddc869ba82e6777..c66fd2004f6fbd73074aea937985958135628a5c 100644
--- a/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc
+++ b/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc
@@ -22,8 +22,8 @@
//
//
-// $Id: Em1TrackingAction.cc,v 1.8 2002/05/31 17:10:35 maire Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: Em1TrackingAction.cc,v 1.9 2003/05/09 09:15:57 vnivanch Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -53,14 +53,19 @@ void Em1TrackingAction::PostUserTrackingAction(const G4Track* aTrack)
//count nb of steps of this track
G4int nbSteps = aTrack->GetCurrentStepNumber();
- G4double Trleng = aTrack->GetTrackLength();
+
+ if (aTrack->GetDefinition()->GetPDGCharge() == 0.) {
+ runAction->CountTraks0(1);
+ runAction->CountSteps0(nbSteps);
- if (aTrack->GetDefinition()->GetPDGCharge() == 0.)
- {runAction->CountTraks0(1); runAction->CountSteps0(nbSteps);}
- else {runAction->CountTraks1(1); runAction->CountSteps1(nbSteps);
-#ifndef G4NOHIST
- runAction->GetHisto(0)->fill(Trleng);
- runAction->GetHisto(1)->fill((float)nbSteps);
+ } else {
+ runAction->CountTraks1(1);
+ runAction->CountSteps1(nbSteps);
+
+#ifndef G4NOHIST
+ G4double Trleng = aTrack->GetTrackLength();
+ runAction->GetHisto(0)->fill(Trleng);
+ runAction->GetHisto(1)->fill((float)nbSteps);
#endif
}
}
diff --git a/examples/extended/electromagnetic/TestEm2/History b/examples/extended/electromagnetic/TestEm2/History
index 0cab86d469728782496d4b074b875dd8cb3a4e82..2070631ea2f87561593443a4dba8901aeef529bd 100644
--- a/examples/extended/electromagnetic/TestEm2/History
+++ b/examples/extended/electromagnetic/TestEm2/History
@@ -1,4 +1,4 @@
-$Id: History,v 1.28 2003/03/26 16:23:15 maire Exp $
+$Id: History,v 1.29 2003/05/09 08:48:33 vnivanch Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,7 +14,11 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
-
+
+09-05-03 V.Ivanchenko (testem2-V05-01-00)
+- Add run05.mac - several runs with different setup
+- Change update command
+
26-03-03 mma (testem2-V05-00-03)
- G4PVPlacement and G4PVReplica in logical mother
diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh
index 77e0dbe5b21a90f29787d4a841c7ed093b61ccdb..ef08cf0db246f3cee0446cb681b26f23dcfeb8ab 100644
--- a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh
+++ b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: Em2DetectorConstruction.hh,v 1.6 2003/02/14 14:21:28 vnivanch Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: Em2DetectorConstruction.hh,v 1.7 2003/05/09 08:46:57 vnivanch Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -48,63 +48,62 @@ class Em2DetectorMessenger;
class Em2DetectorConstruction : public G4VUserDetectorConstruction
{
public:
-
+
Em2DetectorConstruction();
~Em2DetectorConstruction();
public:
-
+
void SetMaterial(const G4String&);
void SetLBining (G4ThreeVector);
- void SetRBining (G4ThreeVector);
+ void SetRBining (G4ThreeVector);
void SetMagField(G4double);
-
+
G4VPhysicalVolume* Construct();
void UpdateGeometry();
-
+
public:
-
- const
+
+ const
G4VPhysicalVolume* GetEcal() {return physiEcal;};
G4Material* GetMaterial() {return myMaterial;};
- G4int GetnLtot() {return nLtot;};
- G4int GetnRtot() {return nRtot;};
- G4double GetdLradl() {return dLradl;};
- G4double GetdRradl() {return dRradl;};
- G4double GetfullLength() {return EcalLength;};
- G4double GetfullRadius() {return EcalRadius;};
-
+ G4int GetnLtot() {return nLtot;};
+ G4int GetnRtot() {return nRtot;};
+ G4double GetdLradl() {return dLradl;};
+ G4double GetdRradl() {return dRradl;};
+ G4double GetfullLength() {return EcalLength;};
+ G4double GetfullRadius() {return EcalRadius;};
+
private:
-
+
+ void DefineMaterials();
+ G4VPhysicalVolume* ConstructVolumes();
+
G4int nLtot, nRtot; // nb of bins: longitudinal and radial
G4double dLradl, dRradl; // bin thickness (in radl unit)
-
+
G4Material* myMaterial; //pointer to the material
G4UniformMagField* magField; //pointer to the mag field
-
+
G4double EcalLength; //full length of the Calorimeter
G4double EcalRadius; //radius of the Calorimeter
-
- G4Tubs* solidEcal; //pointer to the solid calorimeter
+
+ G4Tubs* solidEcal; //pointer to the solid calorimeter
G4LogicalVolume* logicEcal; //pointer to the logical calorimeter
G4VPhysicalVolume* physiEcal; //pointer to the physical calorimeter
-
- G4Tubs* solidSlice; //pointer to the solid L-slice
+
+ G4Tubs* solidSlice; //pointer to the solid L-slice
G4LogicalVolume* logicSlice; //pointer to the logical L-slide
G4VPhysicalVolume* physiSlice; //pointer to the physical L-slide
-
- G4Tubs* solidRing; //pointer to the solid R-slice
+
+ G4Tubs* solidRing; //pointer to the solid R-slice
G4LogicalVolume* logicRing; //pointer to the logical R-slide
G4VPhysicalVolume* physiRing; //pointer to the physical R-slide
-
- Em2DetectorMessenger* detectorMessenger; //pointer to the Messenger
-
- private:
-
- void DefineMaterials();
- G4VPhysicalVolume* ConstructVolumes();
+
+ Em2DetectorMessenger* detectorMessenger; //pointer to the Messenger
+
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/examples/extended/electromagnetic/TestEm2/run05.mac b/examples/extended/electromagnetic/TestEm2/run05.mac
new file mode 100644
index 0000000000000000000000000000000000000000..49cac7bccbf946158d27883e4b6cf996c07dfc63
--- /dev/null
+++ b/examples/extended/electromagnetic/TestEm2/run05.mac
@@ -0,0 +1,38 @@
+#
+# Macro file for "TestEm2.cc"
+# (can be run in batch, without graphic)
+#
+# PbWO4 L = 20 radl R = 5 radl; electron 5 GeV
+#
+/control/verbose 2
+#
+/testem/phys/addPhysics model
+#/testem/phys/addPhysics standard
+/testem/phys/setCuts 1 mm
+#
+/run/initialize
+#
+/gun/particle e-
+/gun/energy 100 MeV
+/run/beamOn 10
+#
+/run/particle/applyCuts
+/run/beamOn 10
+/run/dumpCouples
+#
+#
+/testem/det/setMat Water
+/testem/det/setLbin 9 1.11
+/testem/det/setRbin 6 0.111
+/testem/det/update
+/run/initialize
+/run/beamOn 10
+/run/dumpCouples
+#
+/testem/det/setMat lAr
+/testem/det/update
+/run/initialize
+/run/beamOn 10
+/run/dumpCouples
+#
+
diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc
index 502eef8f68f55de9237763c9a226fa0ec998fd7b..16604a416f2c1207648db1786286362f3fdf7289 100644
--- a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc
+++ b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc
@@ -21,8 +21,6 @@
// ********************************************************************
//
//
-// $Id: Em2DetectorConstruction.cc,v 1.13 2003/03/26 16:23:17 maire Exp $
-// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -57,7 +55,7 @@ Em2DetectorConstruction::Em2DetectorConstruction()
EcalLength(0.),EcalRadius(0.) ,
solidEcal(0) ,logicEcal(0) ,physiEcal(0),
solidSlice(0),logicSlice(0),physiSlice(0),
- solidRing(0) ,logicRing(0) ,physiRing(0)
+ solidRing(0) ,logicRing(0) ,physiRing(0)
{
detectorMessenger = new Em2DetectorMessenger(this);
DefineMaterials();
@@ -79,7 +77,7 @@ G4VPhysicalVolume* Em2DetectorConstruction::Construct()
void Em2DetectorConstruction::DefineMaterials()
{
- G4String name, symbol;
+ G4String name, symbol;
G4double a, z, density;
G4int ncomponents, natoms;
G4double fractionmass;
@@ -87,40 +85,40 @@ void Em2DetectorConstruction::DefineMaterials()
//
// define few Elements
//
-
+
a = 1.01*g/mole;
G4Element* H = new G4Element(name="Hydrogen", symbol="H", z=1., a);
-
+
a = 14.01*g/mole;
G4Element* N = new G4Element(name="Nitrogen", symbol="N", z=7., a);
-
+
a = 16.00*g/mole;
G4Element* O = new G4Element(name="Oxygen" , symbol="O", z=8., a);
-
+
a = 72.59*g/mole;
G4Element* Ge = new G4Element(name="Germanium", symbol="Ge",z=32., a);
-
+
a = 183.84*g/mole;
G4Element* W = new G4Element(name="Tungsten" , symbol="W", z=74., a);
-
+
a = 207.19*g/mole;
G4Element* Pb = new G4Element(name="Lead" , symbol="Pb",z=82., a);
-
+
a = 208.98*g/mole;
G4Element* Bi = new G4Element(name="Bismuth" , symbol="Bi",z=83., a);
-
- //
+
+ //
// define materials
//
G4Material* ma = 0;
-
+
//Air
density = 1.29*mg/cm3;
G4Material* Air = new G4Material(name="Air", density, ncomponents=2);
Air->AddElement(N, fractionmass=0.7);
Air->AddElement(O, fractionmass=0.3);
-
+
//H2O
density = 1.00*g/cm3;
G4Material* H2O = new G4Material(name="Water", density, ncomponents=2);
@@ -133,41 +131,41 @@ void Em2DetectorConstruction::DefineMaterials()
a = 39.95*g/mole;
density = 1.390*g/cm3;
ma = new G4Material(name="lAr", z=18., a, density);
-
+
//Al
a = 26.98*g/mole;
density = 2.7*g/cm3;
ma = new G4Material(name="Al", z=13., a, density);
-
+
//Fe
a = 55.85*g/mole;
density = 7.87*g/cm3;
ma = new G4Material(name="Fe", z=26., a, density);
-
+
//BGO
density = 7.10*g/cm3;
G4Material* BGO = new G4Material(name="BGO", density, ncomponents=3);
BGO->AddElement(O , natoms=12);
BGO->AddElement(Ge, natoms= 3);
- BGO->AddElement(Bi, natoms= 4);
-
+ BGO->AddElement(Bi, natoms= 4);
+
//PbWO4
density = 8.28*g/cm3;
G4Material* PbWO = new G4Material(name="PbWO4", density, ncomponents=3);
PbWO->AddElement(O , natoms=4);
PbWO->AddElement(Pb, natoms=1);
PbWO->AddElement(W , natoms=1);
-
+
//Tungsten
density = 19.30*g/cm3;
G4Material* w = new G4Material(name="Tungsten", density, ncomponents=1);
w->AddElement(W, fractionmass=1.0);
-
+
//Pb
density = 11.35*g/cm3;
G4Material* pb = new G4Material(name="Lead", density, ncomponents=1);
pb->AddElement(Pb, fractionmass=1.0);
-
+
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
//choose material
@@ -175,15 +173,15 @@ void Em2DetectorConstruction::DefineMaterials()
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-
+
G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes()
{
G4double Radl = myMaterial->GetRadlen();
- G4double dL = dLradl*Radl, dR = dRradl*Radl;
+ G4double dL = dLradl*Radl, dR = dRradl*Radl;
EcalLength = nLtot*dL; EcalRadius = nRtot*dR;
-
- //
+
+ //
// Ecal
//
if(solidEcal) delete solidEcal;
@@ -193,7 +191,7 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes()
logicEcal = new G4LogicalVolume( solidEcal,myMaterial,"Ecal",0,0,0);
physiEcal = new G4PVPlacement(0,G4ThreeVector(),
logicEcal,"Ecal",0,false,0);
-
+
// Ring
//
for (G4int i=0; i<nRtot; i++)
@@ -202,7 +200,7 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes()
logicRing = new G4LogicalVolume(solidRing,myMaterial,"Ring",0,0,0);
physiRing = new G4PVPlacement(0,G4ThreeVector(),logicRing,"Ring",
logicEcal,false,i);
-
+
// Slice
solidSlice = new G4Tubs("Slice",i*dR,(i+1)*dR,0.5*dL,0.,360*deg);
logicSlice = new G4LogicalVolume(solidSlice,myMaterial,"Slice",0,0,0);
@@ -213,17 +211,17 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes()
else
physiSlice = new G4PVPlacement(0,G4ThreeVector(),logicSlice,"Slice",
logicRing,false,0);
- }
+ }
- G4cout << "Absorber is " << G4BestUnit(EcalLength,"Length")
- << " of " << myMaterial->GetName() << G4endl;
+ G4cout << "Absorber is " << G4BestUnit(EcalLength,"Length")
+ << " of " << myMaterial->GetName() << G4endl;
G4VisAttributes* VisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
VisAtt->SetVisibility(true);
logicEcal->SetVisAttributes(VisAtt);
-
+
//
//always return the physical World
//
@@ -234,27 +232,29 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes()
void Em2DetectorConstruction::SetMaterial(const G4String& materialChoice)
{
- // search the material by its name
- G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
+ // search the material by its name
+ G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
if (pttoMaterial)
{
myMaterial = pttoMaterial;
- if(logicEcal) logicEcal->SetMaterial(myMaterial);
- }
+ if(logicEcal) logicEcal->SetMaterial(myMaterial);
+ }
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2DetectorConstruction::SetLBining(G4ThreeVector Value)
{
- nLtot = (G4int)Value(0); dLradl = Value(1);
+ nLtot = (G4int)Value(0);
+ dLradl = Value(1);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em2DetectorConstruction::SetRBining(G4ThreeVector Value)
{
- nRtot = (G4int)Value(0); dRradl = Value(1);
+ nRtot = (G4int)Value(0);
+ dRradl = Value(1);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -281,13 +281,7 @@ void Em2DetectorConstruction::SetMagField(G4double fieldValue)
void Em2DetectorConstruction::UpdateGeometry()
{
- G4bool first = true;
- if (physiEcal) first = false;
- G4VPhysicalVolume* v = ConstructVolumes();
- G4RunManager* rm = G4RunManager::GetRunManager();
- rm->GeometryHasBeenModified();
- rm->DefineWorldVolume(v);
- if (!first) rm->ResetNavigator();
+ G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmModel.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmModel.cc
index 36b7dd3e906c4e9c7a0387b0f53851d87c141d39..129cdce4089dcb20de9c8a0e1cc1e21f8749d7e1 100644
--- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmModel.cc
+++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmModel.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: Em2PhysListEmModel.cc,v 1.3 2003/02/14 14:21:28 vnivanch Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: Em2PhysListEmModel.cc,v 1.4 2003/04/11 14:31:15 vnivanch Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -70,41 +70,41 @@ void Em2PhysListEmModel::ConstructProcess()
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
-
+
if (particleName == "gamma") {
- // gamma
+ // gamma
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
pmanager->AddDiscreteProcess(new G4ComptonScattering);
pmanager->AddDiscreteProcess(new G4GammaConversion);
-
+
} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScatteringSTD, -1, 1,1);
pmanager->AddProcess(new G4eIonisationSTD, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlungSTD, -1,-1,3);
-
+
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScatteringSTD, -1, 1,1);
pmanager->AddProcess(new G4eIonisationSTD, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlungSTD, -1,-1,3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
-
- } else if( particleName == "mu+" ||
+
+ } else if( particleName == "mu+" ||
particleName == "mu-" ) {
- //muon
+ //muon
pmanager->AddProcess(new G4MultipleScatteringSTD,-1, 1,1);
pmanager->AddProcess(new G4MuIonisationSTD, -1, 2,2);
pmanager->AddProcess(new G4MuBremsstrahlungSTD, -1,-1,3);
- pmanager->AddProcess(new G4MuPairProductionSTD, -1,-1,4);
-
+ pmanager->AddProcess(new G4MuPairProductionSTD, -1,-1,4);
+
} else if( particleName == "GenericIon" ) {
-
+
pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1);
pmanager->AddProcess(new G4ionIonisation, -1,2,2);
} else if ((!particle->IsShortLived()) &&
- (particle->GetPDGCharge() != 0.0) &&
+ (particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1);
diff --git a/examples/extended/electromagnetic/TestEm2/vis.mac b/examples/extended/electromagnetic/TestEm2/vis.mac
index 207882a871814007dc054ea5cc9b91a60189ca7b..94da2908f6c3416f5cb33d096f59ea36ec688baf 100644
--- a/examples/extended/electromagnetic/TestEm2/vis.mac
+++ b/examples/extended/electromagnetic/TestEm2/vis.mac
@@ -7,7 +7,6 @@
/control/verbose 2
/run/verbose 2
#
-/testem/phys/addPhysics standard
/run/initialize
#
# Create empty scene ("world" is default)
diff --git a/examples/extended/electromagnetic/TestEm3/History b/examples/extended/electromagnetic/TestEm3/History
index 3c9bf3d47e44c90e7ac8c49c97a45b6bd38de872..0ab2feaa20098da97870aa65070d3b43532b7fc1 100644
--- a/examples/extended/electromagnetic/TestEm3/History
+++ b/examples/extended/electromagnetic/TestEm3/History
@@ -1,4 +1,4 @@
-$Id: History,v 1.26 2003/03/28 15:16:13 maire Exp $
+$Id: History,v 1.28 2003/05/09 09:28:49 vnivanch Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,13 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
+
+09-05-03 V.Ivanchenko (testem3-V05-01-00)
+- Change update command
+
+10-04-03 mma (testem3-V05-00-05)
+- define material BGO
+- RunMessenger: enlarge allowed range for histos.
28-03-03 mma (testem3-V05-00-04)
- G4PVPlacement and G4PVReplica in logical mother
diff --git a/examples/extended/electromagnetic/TestEm3/run09.mac b/examples/extended/electromagnetic/TestEm3/run09.mac
new file mode 100644
index 0000000000000000000000000000000000000000..3dc0bed9e5e8b0747d2ebb10e43845a1d06d03cc
--- /dev/null
+++ b/examples/extended/electromagnetic/TestEm3/run09.mac
@@ -0,0 +1,26 @@
+# $Id: run09.mac,v 1.1 2003/04/11 14:30:33 vnivanch Exp $
+#
+# Macro file for "TestEm2.cc"
+# (can be run in batch, without graphic)
+#
+# Gold; electron 1 MeV
+#
+/control/verbose 2
+#
+/testem/phys/addPhysics model
+#/testem/phys/addPhysics standard
+/testem/phys/setCuts 0.01 mm
+/testem/det/setAbsor 1 Water 1.0 mm
+/testem/det/setAbsor 0 Gold 10.0 mm
+#
+/run/initialize
+/process/eLoss/integral false
+#
+/run/verbose 1
+/tracking/verbose 0
+#
+/gun/particle e-
+/gun/energy 1 MeV
+/run/beamOn 1000
+
+
diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc
index e45a6a1ef3b99b64168e739acdfc7ec5d4128c4e..580276fbe8d44c4674ab09003a5065f34cdb2ba5 100644
--- a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc
+++ b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: Em3DetectorConstruction.cc,v 1.12 2003/03/28 15:16:15 maire Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: Em3DetectorConstruction.cc,v 1.15 2003/05/09 09:28:01 vnivanch Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -85,7 +85,7 @@ Em3DetectorConstruction::Em3DetectorConstruction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em3DetectorConstruction::~Em3DetectorConstruction()
-{
+{
delete userLimits;
delete detectorMessenger;
}
@@ -131,12 +131,18 @@ void Em3DetectorConstruction::DefineMaterials()
a = 28.09*g/mole;
G4Element* Si = new G4Element(name="Silicon",symbol="Si" , z= 14., a);
+ a = 72.59*g/mole;
+ G4Element* Ge = new G4Element(name="Germanium", symbol="Ge",z=32., a);
+
a = 126.90*g/mole;
G4Element* I = new G4Element(name="Iodine" ,symbol="I" , z= 53., a);
a = 132.90*g/mole;
G4Element* Cs = new G4Element(name="Cesium" ,symbol="Cs" , z= 55., a);
+ a = 208.98*g/mole;
+ G4Element* Bi = new G4Element(name="Bismuth" , symbol="Bi",z=83., a);
+
//
// define an Element from isotopes, by relative abundance
//
@@ -152,41 +158,44 @@ void Em3DetectorConstruction::DefineMaterials()
// define simple materials
//
+ G4Material* ma;
density = 70.8*mg/cm3;
a = 1.008*g/mole;
- G4Material* lH2 = new G4Material(name="liquidH2", z=1., a, density);
+ ma = new G4Material(name="liquidH2", z=1., a, density);
density = 2.700*g/cm3;
a = 26.98*g/mole;
- G4Material* Al = new G4Material(name="Aluminium", z=13., a, density);
+ ma = new G4Material(name="Aluminium", z=13., a, density);
density = 1.390*g/cm3;
a = 39.95*g/mole;
- G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density);
+ ma = new G4Material(name="liquidArgon", z=18., a, density);
+ G4Material* lAr = ma;
density = 7.870*g/cm3;
a = 55.85*g/mole;
- G4Material* Fe = new G4Material(name="Iron" , z=26., a, density);
+ ma = new G4Material(name="Iron" , z=26., a, density);
density = 8.960*g/cm3;
a = 63.55*g/mole;
- G4Material* Cu = new G4Material(name="Copper" , z=29., a, density);
+ ma = new G4Material(name="Copper" , z=29., a, density);
density = 19.30*g/cm3;
a = 183.85*g/mole;
- G4Material* W = new G4Material(name="Tungsten" , z=74., a, density);
+ ma = new G4Material(name="Tungsten" , z=74., a, density);
density = 19.32*g/cm3;
a = 196.97*g/mole;
- G4Material* Au = new G4Material(name="Gold" , z=79., a, density);
+ ma = new G4Material(name="Gold" , z=79., a, density);
density = 11.35*g/cm3;
a = 207.19*g/mole;
- G4Material* Pb = new G4Material(name="Lead" , z=82., a, density);
+ ma = new G4Material(name="Lead" , z=82., a, density);
+ G4Material* Pb = ma;
density = 18.95*g/cm3;
a = 238.03*g/mole;
- G4Material* Ur = new G4Material(name="Uranium" , z=92., a, density);
+ ma = new G4Material(name="Uranium" , z=92., a, density);
//
// define a material from elements. case 1: chemical molecule
@@ -224,7 +233,13 @@ void Em3DetectorConstruction::DefineMaterials()
G4Material* CsI = new G4Material(name="CsI", density, ncomponents=2);
CsI->AddElement(Cs, natoms=1);
CsI->AddElement(I , natoms=1);
- CsI->GetIonisation()->SetMeanExcitationEnergy(415.689*eV);
+ CsI->GetIonisation()->SetMeanExcitationEnergy(553.1*eV);
+
+ density = 7.10*g/cm3;
+ G4Material* BGO = new G4Material(name="BGO", density, ncomponents=3);
+ BGO->AddElement(O , natoms=12);
+ BGO->AddElement(Ge, natoms= 3);
+ BGO->AddElement(Bi, natoms= 4);
//
// define a material from elements. case 2: mixture by fractional mass
@@ -568,13 +583,7 @@ void Em3DetectorConstruction::SetMaxStepSize(G4double val)
void Em3DetectorConstruction::UpdateGeometry()
{
- G4bool first = true;
- if (physiWorld) first = false;
- G4VPhysicalVolume* v = ConstructCalorimeter();
- G4RunManager* rm = G4RunManager::GetRunManager();
- rm->GeometryHasBeenModified();
- rm->DefineWorldVolume(v);
- if (!first) rm->ResetNavigator();
+ G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc
index c4cd2c6bcc778e6da8b6df7980625c188daa1571..16a63836ead53d52df3930324519b401de694636 100644
--- a/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc
+++ b/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: Em3EventAction.cc,v 1.13 2002/06/05 12:13:04 maire Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: Em3EventAction.cc,v 1.14 2003/05/09 09:28:01 vnivanch Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -74,30 +74,29 @@ Em3EventAction::~Em3EventAction()
void Em3EventAction::BeginOfEventAction(const G4Event* evt)
{
G4int evtNb = evt->GetEventID();
-
+
//survey printing
- if (evtNb%printModulo == 0)
+ if (evtNb%printModulo == 0)
G4cout << "\n---> Begin Of Event: " << evtNb << G4endl;
- // initialize Hits collection
+ // initialize Hits collection
if (calorimeterCollID==-1)
{
G4SDManager * SDman = G4SDManager::GetSDMpointer();
calorimeterCollID = SDman->GetCollectionID("CalCollection");
- }
+ }
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em3EventAction::EndOfEventAction(const G4Event* evt)
-{
+{
G4HCofThisEvent* HCE = evt->GetHCofThisEvent();
Em3CalorHitsCollection* CHC = NULL;
G4int NbHits=0;
G4int NbOfAbsor=Detector->GetNbOfAbsor();
- G4double Ebeam = Em3Kin->GetParticleGun()->GetParticleEnergy();
G4double totEAbs, totLAbs;
-
+
if (HCE) CHC = (Em3CalorHitsCollection*)(HCE->GetHC(calorimeterCollID));
if (CHC)
@@ -107,19 +106,20 @@ void Em3EventAction::EndOfEventAction(const G4Event* evt)
{totEAbs=totLAbs=0.;
for (G4int j=0;j<NbHits;j++)
{
- totEAbs += (*CHC)[j]->GetEdepAbs(k);
- totLAbs += (*CHC)[j]->GetTrakAbs(k);
+ totEAbs += (*CHC)[j]->GetEdepAbs(k);
+ totLAbs += (*CHC)[j]->GetTrakAbs(k);
}
Em3Run->fillPerEvent(k,totEAbs,totLAbs);
-
-#ifndef G4NOHIST
+
+#ifndef G4NOHIST
//fill histo
- //
+ //
+ G4double Ebeam = Em3Kin->GetParticleGun()->GetParticleEnergy();
Em3Run->GetHisto(k)->fill(totEAbs/Ebeam);
-#endif
+#endif
}
}
-
+
if (G4VVisManager::GetConcreteInstance())
{
G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();
diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3RunActionMessenger.cc
index c124f59edefeba276a984945e28b29237a2b73bb..13ae5eab7f4106148858f8023404c84470c7b90c 100644
--- a/examples/extended/electromagnetic/TestEm3/src/Em3RunActionMessenger.cc
+++ b/examples/extended/electromagnetic/TestEm3/src/Em3RunActionMessenger.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: Em3RunActionMessenger.cc,v 1.10 2002/12/12 11:19:39 maire Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: Em3RunActionMessenger.cc,v 1.11 2003/04/01 10:40:21 maire Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -59,12 +59,12 @@ Em3RunActionMessenger::Em3RunActionMessenger(Em3RunAction* run)
//
G4UIparameter* VminPrm = new G4UIparameter("Vmin",'d',false);
VminPrm->SetGuidance("Vmin=Emin/Ebeam");
- VminPrm->SetParameterRange("Vmin>=0.&&Vmin<=1.");
+ VminPrm->SetParameterRange("Vmin>=0.&&Vmin<=1.1");
HistoCmd->SetParameter(VminPrm);
//
G4UIparameter* VmaxPrm = new G4UIparameter("Vmax",'d',false);
VmaxPrm->SetGuidance("Vmax=Emax/Ebeam");
- VmaxPrm->SetParameterRange("Vmax>=0.&&Vmax<=1.");
+ VmaxPrm->SetParameterRange("Vmax>=0.&&Vmax<=1.1");
HistoCmd->SetParameter(VmaxPrm);
//
HistoCmd->AvailableForStates(G4State_Idle);
diff --git a/examples/extended/electromagnetic/TestEm3/vis.mac b/examples/extended/electromagnetic/TestEm3/vis.mac
index cb3d967a2c598bd5700739a5d6594893d628c0e1..fcea4d62da210172a7facc13fb1003a21a2b6eee 100644
--- a/examples/extended/electromagnetic/TestEm3/vis.mac
+++ b/examples/extended/electromagnetic/TestEm3/vis.mac
@@ -7,10 +7,6 @@
/control/verbose 2
/run/verbose 2
#
-# select EM PhysicsList
-#
-#/testem/phys/addPhysics model
-/testem/phys/addPhysics standard
/run/initialize
#
# Create empty scene ("world" is default)
diff --git a/examples/novice/N04/History b/examples/novice/N04/History
index 1dc1e15e293bbf2d10381fe76040c7c75f337da9..143e7cf707cf55f6a8b43ff2758358eaf35eccd1 100644
--- a/examples/novice/N04/History
+++ b/examples/novice/N04/History
@@ -1,4 +1,4 @@
-$Id: History,v 1.28 2003/03/28 09:35:36 gcosmo Exp $
+$Id: History,v 1.29 2003/05/09 07:37:48 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,9 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
+09-05-03 G.Cosmo (exampleN04-V05-01-00)
+- Still minor correction to text in warning printed from HadronPhysics list.
+
28-03-03 G.Cosmo (exampleN04-V05-00-02)
- Corrected text in warning printed from HadronPhysics list.
diff --git a/examples/novice/N04/src/ExN04HadronPhysics.cc b/examples/novice/N04/src/ExN04HadronPhysics.cc
index 5c3988a10fdba7b7806f5bb833c4bc1dde748207..f5dba22a91a6d68a23a0b7d3890a39fae06c13d5 100644
--- a/examples/novice/N04/src/ExN04HadronPhysics.cc
+++ b/examples/novice/N04/src/ExN04HadronPhysics.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: ExN04HadronPhysics.cc,v 1.6 2003/03/28 09:35:13 gcosmo Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: ExN04HadronPhysics.cc,v 1.7 2003/05/09 07:37:32 gcosmo Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
#include "ExN04HadronPhysics.hh"
@@ -77,7 +77,7 @@ void ExN04HadronPhysics::ConstructProcess()
G4cout << "You are using the ExN04HadronPhysics" << G4endl;
G4cout << " - Note that this hadronic physics list is not optimized for any particular usage" << G4endl;
G4cout << " - If you wish to have a starting point tailored for a particular area of work," << G4endl;
- G4cout << " please one of the available physics lists by use-case." << G4endl;
+ G4cout << " please use one of the available physics lists by use-case." << G4endl;
G4cout << "" << G4endl;
// Elastic Process
theElasticModel = new G4LElastic();
diff --git a/source/geometry/solids/Boolean/History b/source/geometry/solids/Boolean/History
index df65199831bf58e15213490159fe31a05bd3d312..8c9e5bc42dd13aaa5984828b8be9b27226d3eae0 100644
--- a/source/geometry/solids/Boolean/History
+++ b/source/geometry/solids/Boolean/History
@@ -1,5 +1,5 @@
-$Id: History,v 1.36 2003/03/25 17:02:01 gcosmo Exp $
+$Id: History,v 1.37 2003/05/12 12:35:58 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -20,6 +20,9 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
+ May 12, 2003 G.Cosmo geom-bool-V05-01-00
+ - Added set/get methods for scale precision in G4ReflectionFactory.
+
Mar 25, 2003 G.Cosmo geom-bool-V05-00-01
- Fixed trivial strict pedantic warnings in G4ReflectedSolid.cc and
G4ReflectionFactory.cc.
diff --git a/source/geometry/solids/Boolean/include/G4ReflectionFactory.hh b/source/geometry/solids/Boolean/include/G4ReflectionFactory.hh
index 50a9bc3823a543858a286eb8462d17bb13a8f1d2..c5731b07fb419605d72e15af2c9a197d8a3c5fd4 100644
--- a/source/geometry/solids/Boolean/include/G4ReflectionFactory.hh
+++ b/source/geometry/solids/Boolean/include/G4ReflectionFactory.hh
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: G4ReflectionFactory.hh,v 1.2 2003/01/27 10:43:30 gcosmo Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: G4ReflectionFactory.hh,v 1.3 2003/05/12 12:35:39 gcosmo Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
// class G4Reflection
@@ -125,7 +125,12 @@ class G4ReflectionFactory
G4String GetVolumesNameExtension() const;
// Returns the name extension for the reflected solids
// and logical volumes.
-
+
+ void SetScalePrecision(G4double scaleValue);
+ G4double GetScalePrecision() const;
+ // Sets/gets precision factor for the scale consistency check
+ // The default value is set to 10*kCarTolerance.
+
protected:
G4ReflectionFactory();
@@ -180,7 +185,7 @@ class G4ReflectionFactory
G4bool IsReflection(const G4Scale3D& scale) const;
// Returns true if the scale is negative, false otherwise.
- void CheckScale(const G4Scale3D& scale) const;
+ void CheckScale(const G4Scale3D& scale) const;
// Checks if scale correspond to fScale, if not gives exception.
void PrintConstituentLVMap();
@@ -191,7 +196,8 @@ class G4ReflectionFactory
static G4ReflectionFactory* fInstance;
static const G4String fDefaultNameExtension;
static const G4Scale3D fScale;
-
+ G4double fScalePrecision;
+
G4int fVerboseLevel;
G4String fNameExtension;
LogicalVolumesMap fConstituentLVMap;
diff --git a/source/geometry/solids/Boolean/src/G4ReflectionFactory.cc b/source/geometry/solids/Boolean/src/G4ReflectionFactory.cc
index 054fabd4a768e75893e52f5ccbb1dc07554d0a56..22093b9fd30f24d2a2e5b291e3200b52ba54d3a1 100644
--- a/source/geometry/solids/Boolean/src/G4ReflectionFactory.cc
+++ b/source/geometry/solids/Boolean/src/G4ReflectionFactory.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: G4ReflectionFactory.cc,v 1.6 2003/03/25 17:03:03 gcosmo Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: G4ReflectionFactory.cc,v 1.7 2003/05/12 12:35:39 gcosmo Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
// Author: Ivana Hrivnacova, 16.10.2001 (Ivana.Hrivnacova@cern.ch)
@@ -82,6 +82,7 @@ G4ReflectionFactory::G4ReflectionFactory()
// Protected singleton constructor.
// ---
+ fScalePrecision = 10.*kCarTolerance;
fInstance = this;
}
@@ -571,7 +572,7 @@ void G4ReflectionFactory::CheckScale(const G4Scale3D& scale) const
for (G4int j=0; j<4; j++)
diff += abs(scale(i,j) - fScale(i,j));
- if (diff > kCarTolerance*10.)
+ if (diff > fScalePrecision)
{
G4cout << "ERROR - G4ReflectionFactory::CheckScale()" << G4endl
<< " Unexpected scale. Difference: " << diff << G4endl;
diff --git a/source/geometry/volumes/History b/source/geometry/volumes/History
index 15cd26f80f0777479f34e0f64def630cb04f4c9f..5153f986d0524445f603a2c03712e4f66b08aed4 100644
--- a/source/geometry/volumes/History
+++ b/source/geometry/volumes/History
@@ -1,4 +1,4 @@
-$Id: History,v 1.97 2003/03/31 14:39:31 gcosmo Exp $
+$Id: History,v 1.98 2003/05/08 17:19:22 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,8 +17,15 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
+May 8th, 2003 G. Cosmo - geomvol-V05-01-00
+- G4PropagatorInField.cc: fix in ComputeStep() to avoid step computation
+ if proposed step length is too small (less than kCarTolerance).
+ Fixes problem report #485.
+- Does NOT include changes in "geomvol-V04-01-08".
+
Mar 31st, 2003 G. Cosmo - geomvol-V05-00-03
- Fixed trivial strict pedantic warnings.
+- Does NOT include changes in "geomvol-V04-01-08".
Mar 17th, 2003 G. Cosmo - geomvol-V05-00-02
- G4Navigator[.hh.cc]: added 'inline' specifier in declaration of
diff --git a/source/geometry/volumes/src/G4PropagatorInField.cc b/source/geometry/volumes/src/G4PropagatorInField.cc
index bd638a1b3c5edb33f5ffc2dff7eb8d8c1a033133..d1620265365037f5070365c92009ea45326cd981 100644
--- a/source/geometry/volumes/src/G4PropagatorInField.cc
+++ b/source/geometry/volumes/src/G4PropagatorInField.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: G4PropagatorInField.cc,v 1.39.4.1 2003/03/31 14:34:27 gcosmo Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: G4PropagatorInField.cc,v 1.39.4.2 2003/05/08 17:15:56 gcosmo Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
// This class implements an algorithm to track a particle in a
@@ -88,8 +88,18 @@ G4PropagatorInField::ComputeStep(
G4double& currentSafety, // IN/OUT
G4VPhysicalVolume* pPhysVol)
{
- // Introducing smooth trajectory display (jacek 01/11/2002)
- if (fpTrajectoryFilter) {
+
+ // If step length is too small for finding Chords, just forget
+ //
+ if ( CurrentProposedStepLength<kCarTolerance )
+ {
+ return DBL_MAX;
+ }
+
+ // Introducing smooth trajectory display
+ //
+ if ( fpTrajectoryFilter )
+ {
fpTrajectoryFilter->CreateNewTrajectorySegment();
}
@@ -108,7 +118,7 @@ G4PropagatorInField::ComputeStep(
// Set the field manager if the volume has one, else use the global one
//
fCurrentFieldMgr = fDetectorFieldMgr;
- if( pPhysVol)
+ if( pPhysVol )
{
G4FieldManager *newFieldMgr = 0;
newFieldMgr= pPhysVol->GetLogicalVolume()->GetFieldManager();
diff --git a/source/processes/electromagnetic/muons/History b/source/processes/electromagnetic/muons/History
index 5cce03b5e13cb6eeb6575d884d82174c41946f6c..f9e1ff64dc43f6f973744a5e1007bfd927d30fb4 100644
--- a/source/processes/electromagnetic/muons/History
+++ b/source/processes/electromagnetic/muons/History
@@ -1,4 +1,4 @@
-$Id: History,v 1.44 2003/04/29 07:24:24 vnivanch Exp $
+$Id: History,v 1.46 2003/05/12 10:02:21 vnivanch Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,12 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
+12 May 03: V.Ivant (muons-V05-01-01)
+-remove extra printout at initialisation
+
+09 May 03: V.Ivant (muons-V05-01-00)
+-remove extra printout at initialisation
+
28 Apr 03: V.Ivant (muons-V05-00-08)
-fix leak in retrieve tables
diff --git a/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc b/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc
index a60399d56e6b8980bec8531b1f34d31f53d844d7..7ff0b56a695458499968b808f3a9091c0c11ebde 100644
--- a/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc
+++ b/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: G4MuPairProduction.cc,v 1.33 2003/04/29 04:58:33 kurasige Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: G4MuPairProduction.cc,v 1.35 2003/05/12 09:05:12 vnivanch Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//--------------- G4MuPairProduction physics process ---------------------------
// by Laszlo Urban, May 1998
@@ -123,6 +123,12 @@ void G4MuPairProduction::BuildPhysicsTable(
const G4ParticleDefinition& aParticleType)
// just call BuildLossTable+BuildLambdaTable
{
+ /*
+ G4cout << "G4MuPairProduction: theLossTable= " << theLossTable
+ << " for " << aParticleType.GetParticleName()
+ << " cutsWereMod= " << CutsWhereModified()
+ << G4endl;
+ */
if( !CutsWhereModified() && theLossTable) return;
LowestKineticEnergy = GetLowerBoundEloss() ;
@@ -150,6 +156,12 @@ void G4MuPairProduction::BuildPhysicsTable(
G4VMuEnergyLoss::BuildDEDXTable(aParticleType);
if(&aParticleType==G4MuonPlus::MuonPlus()) PrintInfoDefinition();
+ /*
+ G4cout << "G4MuPairProduction: theLossTable= " << theLossTable
+ << " theLambda= " << theMeanFreePathTable
+ << " for " << aParticleType.GetParticleName()
+ << G4endl;
+ */
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -288,8 +300,13 @@ G4double G4MuPairProduction::ComputePairLoss(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void G4MuPairProduction::BuildLambdaTable(
- const G4ParticleDefinition& ParticleType)
+ const G4ParticleDefinition& aParticleType)
{
+ /*
+ G4cout << "G4MuPairProduction::BuildLambdaTable= " << theMeanFreePathTable
+ << " for " << aParticleType.GetParticleName()
+ << G4endl;
+ */
G4double LowEdgeEnergy , Value;
G4double FixedEnergy = (LowestKineticEnergy + HighestKineticEnergy)/2. ;
@@ -320,15 +337,20 @@ void G4MuPairProduction::BuildLambdaTable(
for ( G4int i = 0 ; i < NbinLambda ; i++ )
{
LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ;
- Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy, couple);
+ Value = ComputeMeanFreePath( &aParticleType, LowEdgeEnergy, couple);
ptrVector->PutValue( i , Value ) ;
}
theMeanFreePathTable->insertAt( J , ptrVector );
// Compute the PartialSumSigma table at a given fixed energy
- ComputePartialSumSigma( &ParticleType, FixedEnergy, couple) ;
+ ComputePartialSumSigma( &aParticleType, FixedEnergy, couple) ;
}
+ /*
+ G4cout << "Is done theTable= " << theMeanFreePathTable
+ << " for " << aParticleType.GetParticleName()
+ << G4endl;
+ */
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/source/processes/hadronic/models/generator/kinetic_model/src/G4BinaryCascade.cc b/source/processes/hadronic/models/generator/kinetic_model/src/G4BinaryCascade.cc
index 4486a4373078c03ab8e10af7b0427497ae3bc0e3..24b692d0d0794e8a5fba1bd27d4d40bba80c09ac 100644
--- a/source/processes/hadronic/models/generator/kinetic_model/src/G4BinaryCascade.cc
+++ b/source/processes/hadronic/models/generator/kinetic_model/src/G4BinaryCascade.cc
@@ -240,6 +240,7 @@ G4ReactionProductVector * G4BinaryCascade::Propagate(
ClearAndDestroy(&theProjectileList);
ClearAndDestroy(&theFinalState);
G4std::vector<G4KineticTrack *>::iterator iter, jter;
+ G4int trialcount(0);
if(nucleus->GetMassNumber() == 1) // 1H1 is special case
{
G4ParticleDefinition * aHTarg = G4Proton::ProtonDefinition();
@@ -252,7 +253,7 @@ G4ReactionProductVector * G4BinaryCascade::Propagate(
// G4cout << "the lovely "<< mom << " "<<aHTarg->GetPDGMass()<<G4endl;
G4KineticTrack aTarget(aHTarg, 0., pos, mom);
G4bool done(false);
- while(!done)
+ while(!done && trialcount<1000)
{
if(secs)
{
@@ -260,6 +261,7 @@ G4ReactionProductVector * G4BinaryCascade::Propagate(
delete secs;
}
secs = theScatterer->Scatter(*(*secondaries).front(), aTarget);
+ trialcount++;
for(size_t ss=0; secs && ss<secs->size(); ss++)
{
if((*secs)[ss]->GetDefinition()->IsShortLived()) done = true;
diff --git a/source/run/History b/source/run/History
index 9caaffb2545a18afdfc5dcf9dec2f9088dd218c9..7323fc849766464b6fab2764deb1298dce2d9e22 100644
--- a/source/run/History
+++ b/source/run/History
@@ -1,4 +1,4 @@
-$Id: History,v 1.90 2003/04/29 08:29:15 gcosmo Exp $
+$Id: History,v 1.92 2003/05/16 09:12:48 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,21 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
+May 16, 2003, G.Cosmo (run-V05-01-01)
+- G4RunManager.cc: changed date for 5.1-patch01.
+
+May 06, 2003, G.Cosmo (run-V05-01-00)
+- G4RunManager[hh.cc]: changed behavior of function DefineWorldVolume()
+ to properly reset navigation history and optimisation in case the
+ topology of the geometry has changed between runs.
+ It requires simplification of all examples/tests where geometry setup
+ is changed between runs.
+ o Added new boolean argument (default set to TRUE) to specify if
+ topology has changed. Call to DefineWorldVolume() at initialisation
+ will use FALSE as value for this argument.
+ o Forced open/close geometry in method ResetNavigator() to properly
+ reset G4Navigator status and remove old optimisations.
+
Apr 29, 2003, M.Asai (run-V05-00-17)
- G4UserPhysicsListMessenger.cc: changed implementation in
SetNewValue() for command 'setCutRCmd' to allow porting on
diff --git a/source/run/include/G4RunManager.hh b/source/run/include/G4RunManager.hh
index b8112af5aa7bad011ed9b0d631df57d368126f6c..4ae4d660acb45c54f826da5de59f6587e766f752 100644
--- a/source/run/include/G4RunManager.hh
+++ b/source/run/include/G4RunManager.hh
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: G4RunManager.hh,v 1.32 2003/04/23 17:54:27 asaim Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: G4RunManager.hh,v 1.33 2003/05/06 16:31:58 gcosmo Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -133,12 +133,16 @@ class G4RunManager
// If the user forget the second invokation, G4RunManager will invoke BeamOn()
// method will invoke this method. (Note that this feature is not valid for the
// first initialization.)
- virtual void DefineWorldVolume(G4VPhysicalVolume * worldVol);
- // Usually, this method is invoked from InitializeGeometry() protected method
- // of this class. But, in case all of geometry has already created and kept in
- // the ODBMS, the pointer to the world physical volume can be set by this method.
+ virtual void DefineWorldVolume(G4VPhysicalVolume * worldVol,
+ G4bool topologyIsChanged=true);
+ // This method must be invoked if the geometry setup has been changed between
+ // runs. The flag 'topologyIsChanged' will specify if the geometry topology is
+ // different from the original one used in the previous run; if not, it must be
+ // set to false, so that the original optimisation and navigation history is
+ // preserved. This method is invoked also at initialisation.
virtual void ResetNavigator() const;
- // Resets state of navigator for tracking, needed for geometry updates.
+ // Resets the state of the navigator for tracking; needed for geometry updates.
+ // It forces the optimisation and navigation history to be reset.
virtual void AbortRun(G4bool softAbort=false);
// This method safely aborts the current event loop even if an event is in progress.
// This method is available for Geant4 states of GeomClosed and EventProc. The state
diff --git a/source/run/src/G4RunManager.cc b/source/run/src/G4RunManager.cc
index 025c83466119dd456e835a12471da37496beb4d9..7e8fa432764e11eabb0a3e931f8688321f6ef7b0 100644
--- a/source/run/src/G4RunManager.cc
+++ b/source/run/src/G4RunManager.cc
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
-// $Id: G4RunManager.cc,v 1.75 2003/04/24 17:42:06 asaim Exp $
-// GEANT4 tag $Name: geant4-05-01 $
+// $Id: G4RunManager.cc,v 1.77 2003/05/16 09:12:33 gcosmo Exp $
+// GEANT4 tag $Name: geant4-05-01-patch-01 $
//
//
@@ -41,6 +41,7 @@
#include "G4VUserPrimaryGeneratorAction.hh"
#include "G4GeometryManager.hh"
#include "G4SDManager.hh"
+#include "G4Navigator.hh"
#include "G4TransportationManager.hh"
#include "G4VPhysicalVolume.hh"
#include "G4LogicalVolume.hh"
@@ -105,7 +106,7 @@ G4RunManager::G4RunManager()
G4ParticleTable::GetParticleTable()->CreateMessenger();
G4ProcessTable::GetProcessTable()->CreateMessenger();
randomNumberStatusDir = "./";
- versionString = " Geant4 version $Name: geant4-05-01 $\n (30-Apr-2003)";
+ versionString = " Geant4 version $Name: geant4-05-01-patch-01 $\n (19-May-2003)";
G4cout
<< "**********************************************" << G4endl
<< versionString << G4endl
@@ -395,7 +396,7 @@ void G4RunManager::InitializeGeometry()
}
if(verboseLevel>1) G4cout << "userDetector->Construct() start." << G4endl;
- DefineWorldVolume(userDetector->Construct());
+ DefineWorldVolume(userDetector->Construct(),false);
geometryInitialized = true;
}
@@ -485,11 +486,10 @@ void G4RunManager::AbortEvent()
}
}
-void G4RunManager::DefineWorldVolume(G4VPhysicalVolume* worldVol)
+void G4RunManager::DefineWorldVolume(G4VPhysicalVolume* worldVol,
+ G4bool topologyIsChanged)
{
- // check if this is different from previous
- //////if(currentWorld==worldVol) return;
- // The world volume MUST NOT have a region defined by the user.
+ // The world volume MUST NOT have a region defined by the user
if(worldVol->GetLogicalVolume()->GetRegion())
{
if(worldVol->GetLogicalVolume()->GetRegion()!=defaultRegion)
@@ -505,27 +505,22 @@ void G4RunManager::DefineWorldVolume(G4VPhysicalVolume* worldVol)
}
else
{
- // set the default region to the world
+ // Set the default region to the world
G4LogicalVolume* worldLog = worldVol->GetLogicalVolume();
worldLog->SetRegion(defaultRegion);
defaultRegion->AddRootLogicalVolume(worldLog);
}
+ // Set the world volume, notify the Navigator and reset its state
currentWorld = worldVol;
- //geometryNeedsToBeClosed = true;
- GeometryHasBeenModified();
-
- // set the world volume to the Navigator
- //ResetNavigator();
G4TransportationManager::GetTransportationManager()
- ->GetNavigatorForTracking()
- ->SetWorldVolume(worldVol);
- //ResetNavigator();
+ ->GetNavigatorForTracking()
+ ->SetWorldVolume(worldVol);
+ if (topologyIsChanged) ResetNavigator();
- // Let VisManager know it
+ // Notify the VisManager as well
G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
if(pVVisManager) pVVisManager->GeometryHasChanged();
-
}
void G4RunManager::ResetNavigator() const
@@ -542,12 +537,20 @@ void G4RunManager::ResetNavigator() const
return;
}
- // We have to tweak the navigator's state in case a geometry has been modified between runs
- // By the following call we ensure that navigator's state is reset properly
+ // We have to tweak the navigator's state in case a geometry has been
+ // modified between runs. By the following calls we ensure that navigator's
+ // state is reset properly. It is required the geometry to be closed
+ // and previous optimisations to be cleared.
+
+ G4GeometryManager* geomManager = G4GeometryManager::GetInstance();
+ if(verboseLevel>1) G4cout << "Start closing geometry." << G4endl;
+ geomManager->OpenGeometry();
+ geomManager->CloseGeometry(geometryToBeOptimized, verboseLevel>1);
+
G4ThreeVector center(0,0,0);
- G4TransportationManager::GetTransportationManager()
- ->GetNavigatorForTracking()
- ->LocateGlobalPointAndSetup(center,0,false);
+ G4Navigator* navigator =
+ G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking();
+ navigator->LocateGlobalPointAndSetup(center,0,false);
}
void G4RunManager::rndmSaveThisRun()
@@ -640,6 +643,3 @@ void G4RunManager::DumpRegion(G4Region* region) const
<< G4endl;
}
}
-
-
-