Skip to content

Commit d8c010a

Browse files
committed
Import Geant4 9.3.1 source tree
1 parent 74cad5e commit d8c010a

File tree

254 files changed

+8657
-6250
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

254 files changed

+8657
-6250
lines changed

Configure

Lines changed: 78 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
# you may fetch it yourself from your nearest archive site.)
1919
#
2020

21-
# $Id: Configure,v 1.126 2009/11/26 10:40:56 bmorgan Exp $
21+
# $Id: Configure,v 1.126.2.1 2010/03/18 09:59:14 gcosmo Exp $
2222
#
23-
# Generated on Thu Nov 26 10:39:51 GMT 2009 [metaconfig 3.0 PL70]
23+
# Generated on Thu Mar 11 15:55:53 GMT 2010 [metaconfig 3.0 PL70]
2424

2525
cat >/tmp/c1$$ <<EOF
2626
WARNING!!!!!
@@ -2259,17 +2259,20 @@ if test "x\$g4_qt_is_configured" = "x" ; then
22592259
22602260
#
22612261
# User may supply a value for 'QTDIR' and in that case we ASSUME a
2262-
# Trolltech style installation or a Mac Framework
2262+
# Trolltech style installation or a Mac Framework. The latter has a
2263+
# higher priority in the list of search paths because otherwise we may
2264+
# miss the presence of a Framework (see Bug #1095)
22632265
#
22642266
if test "x\$with_qt_dir" != "x" ; then
22652267
g4_qt_dir="\$with_qt_dir"
2266-
g4_qt_possible_qt_include_dirs="\$with_qt_dir/include/QtCore
2268+
g4_qt_possible_qt_include_dirs="\$with_qt_dir/QtCore.framework/Headers
2269+
\$with_qt_dir/lib*/QtCore.framework/Headers
2270+
\$with_qt_dir/include/QtCore
22672271
\$with_qt_dir/include/Qt
22682272
\`ls -dr \$with_qt_dir/include/qt*/QtCore 2>/dev/null\`
22692273
\`ls -dr \$with_qt_dir/include/qt*/Qt 2>/dev/null\`
22702274
\`ls -dr \$with_qt_dir/include/qt* 2>/dev/null\`
2271-
\$with_qt_dir/include
2272-
\$with_qt_dir/QtCore.framework/Headers"
2275+
\$with_qt_dir/include"
22732276
22742277
# Check for qglobal.h
22752278
g4_qglobal_loc=\`./loc qglobal.h no \$g4_qt_possible_qt_include_dirs\`
@@ -2285,17 +2288,29 @@ if test "x\$g4_qt_is_configured" = "x" ; then
22852288
fi
22862289
22872290
else
2288-
# We use standard search paths...
2291+
# We use standard search paths, again preferencing Frameworks so that
2292+
# these are not missed
22892293
qt_direct_test_header="qglobal.h"
22902294
22912295
g4_qt_include_path_list="
22922296
\`ls -dr /Library/Frameworks/QtCore.framework/Headers 2>/dev/null\`
22932297
\`ls -dr /System/Library/Frameworks/QtCore.framework/Headers 2>/dev/null\`
2298+
\`ls -dr /usr/local/Qt*/QtCore.framework/Headers 2>/dev/null\`
2299+
\`ls -dr /usr/local/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\`
2300+
\`ls -dr /usr/local/lib*/Qt*/QtCore.framework/Headers 2>/dev/null\`
2301+
\`ls -dr /opt/local/Qt*/QtCore.framework/Headers 2>/dev/null\`
2302+
\`ls -dr /opt/local/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\`
2303+
\`ls -dr /opt/local/lib/Qt*/QtCore.framework/Headers 2>/dev/null\`
2304+
\`ls -dr /opt/local/lib*/QtCore.framework/Headers 2>/dev/null\`
2305+
\`ls -dr /opt/Qt*/QtCore.framework/Headers 2>/dev/null\`
2306+
\`ls -dr /opt/Qt*/lib*/QtCore.framework/Headers 2>/dev/null\`
2307+
\`ls -dr /usr/lib/QtCore.framework/Headers 2>/dev/null\`
2308+
\`ls -dr /usr/lib/Qt*/QtCore.framework/Headers 2>/dev/null\`
22942309
/usr/include/QtCore
22952310
\`ls -dr /usr/include/qt*/QtCore 2>/dev/null\`
2296-
\`ls -dr /usr/local/include/QtCore 2>/dev/null\`
2311+
\`ls -dr /usr/local/include/QtCore 2>/dev/null\`
22972312
\`ls -dr /usr/local/include/qt*/QtCore 2>/dev/null\`
2298-
\`ls -dr /usr/local/qt*/include/QtCore 2>/dev/null\`
2313+
\`ls -dr /usr/local/qt*/include/QtCore 2>/dev/null\`
22992314
\`ls -dr /opt/qt*/include/QtCore 2>/dev/null\`
23002315
\`ls -dr /usr/qt*/include/QtCore 2>/dev/null\`
23012316
\`ls -dr /usr/qt/*/include/QtCore 2>/dev/null\`
@@ -2306,7 +2321,7 @@ if test "x\$g4_qt_is_configured" = "x" ; then
23062321
/usr/include
23072322
\`ls -dr /usr/include/qt* 2>/dev/null\`
23082323
\`ls -dr /usr/local/include 2>/dev/null\`
2309-
\`ls -dr /usr/local/include/qt* 2>/dev/null\`
2324+
\`ls -dr /usr/local/include/qt* 2>/dev/null\`
23102325
\`ls -dr /usr/local/qt*/include 2>/dev/null\`
23112326
\`ls -dr /opt/qt*/include 2>/dev/null\`
23122327
\`ls -dr /usr/qt*/include 2>/dev/null\`
@@ -2349,9 +2364,10 @@ if test "x\$g4_qt_is_configured" = "x" ; then
23492364
if test "x\$g4_qt_include_dir" = "x" ; then
23502365
g4_qt_include_dir=no
23512366
g4_havegoodqt=no
2367+
echo "checking for qglobal.h... no"
2368+
else
2369+
echo "checking for qglobal.h... \$g4_qt_include_dir/qglobal.h"
23522370
fi
2353-
2354-
echo "checking for qglobal.h... \$g4_qt_include_dir/qglobal.h"
23552371
fi # END TEST with_qt_dir is set
23562372
23572373
#
@@ -2362,24 +2378,54 @@ if test "x\$g4_qt_is_configured" = "x" ; then
23622378
23632379
# Immediate and obvious Darwin check...
23642380
if test "x\`basename \$g4_qt_include_dir\`" = "xHeaders" ; then
2365-
#check for moc
2366-
if test -x "/usr/bin/moc" ; then
2367-
g4_qt_moc="/usr/bin/moc"
2368-
echo "checking for moc... \$g4_qt_moc"
2369-
2370-
g4_qt_dir=\`dirname \$g4_qt_include_dir\`
2371-
g4_qt_dir=\`dirname \$g4_qt_dir\`
2372-
2373-
g4_qt_version="4"
2374-
g4_qt_cxxflags="-I\$g4_qt_dir/QtCore.framework/Headers -I\$g4_qt_dir/QtGui.framework/Headers"
2375-
g4_qt_gl_cxxflags="-I\$g4_qt_dir/QtOpenGl.framework/Headers"
2376-
g4_qt_libs="-F\$g4_qt_dir -framework QtCore -framework QtGui"
2377-
g4_qt_gl_libs="-framework QtOpenGL"
2378-
else
2379-
echo "checking for moc... no"
2380-
g4_havegoodqt=no
2381+
#check for moc - we have a framework so we first need to check for
2382+
#a bin directory below g4_qt_include_dir. Depending on how the
2383+
#Framework was installed, this may be below the level that
2384+
#QtCore.framework is at.
2385+
2386+
# Find base framework directory
2387+
g4_qt_fmwk_base_dir=\`dirname \$g4_qt_include_dir\`
2388+
g4_qt_fmwk_base_dir=\`dirname \$g4_qt_fmwk_base_dir\`
2389+
2390+
if test "x\`basename \$g4_qt_fmwk_base_dir\`" = "xlib" ; then
2391+
#This is probably an independent install
2392+
echo "checking Mac Framework location... trolltech/custom"
2393+
g4_qt_dir=\`dirname \$g4_qt_fmwk_base_dir\`
2394+
2395+
#Check for moc
2396+
if test -x "\$g4_qt_dir/bin/moc" ; then
2397+
g4_qt_moc="\$g4_qt_dir/bin/moc"
2398+
echo "checking for moc... \$g4_qt_moc"
2399+
2400+
g4_qt_version="4"
2401+
g4_qt_cxxflags="-I\$g4_qt_dir/lib/QtCore.framework/Headers -I\$g4_qt_dir/lib/QtGui.framework/Headers"
2402+
g4_qt_gl_cxxflags="-I\$g4_qt_dir/lib/QtOpenGl.framework/Headers"
2403+
g4_qt_libs="-F\$g4_qt_dir/lib -framework QtCore -framework QtGui"
2404+
g4_qt_gl_libs="-framework QtOpenGL"
2405+
else
2406+
echo "checking for moc... no"
2407+
g4_havegoodqt=no
2408+
fi
2409+
elif test "x\`basename \$g4_qt_fmwk_base_dir\`" = "xFrameworks" ; then
2410+
#This looks like a system install
2411+
echo "Checking Mac Framework location... Frameworks"
2412+
if test -x "/usr/bin/moc" ; then
2413+
g4_qt_moc="/usr/bin/moc"
2414+
echo "checking for moc... \$g4_qt_moc"
2415+
2416+
g4_qt_dir=\$g4_qt_fmwk_base_dir
2417+
2418+
g4_qt_version="4"
2419+
g4_qt_cxxflags="-I\$g4_qt_dir/QtCore.framework/Headers -I\$g4_qt_dir/QtGui.framework/Headers"
2420+
g4_qt_gl_cxxflags="-I\$g4_qt_dir/QtOpenGl.framework/Headers"
2421+
g4_qt_libs="-F\$g4_qt_dir -framework QtCore -framework QtGui"
2422+
g4_qt_gl_libs="-framework QtOpenGL"
2423+
else
2424+
echo "checking for moc... no"
2425+
g4_havegoodqt=no
2426+
fi
23812427
fi
2382-
else
2428+
elif test "x\$g4_qt_include_dir" != "x" ; then
23832429
# Probably have Unix-style installation, in which case estimated
23842430
# 'QTDIR' equivalent is $with_qt_dir if supplied, or directory
23852431
# one level below the 'include' directory in \$g4_qt_include_dir
@@ -2670,6 +2716,9 @@ EOM\`
26702716
else
26712717
g4_qt_is_configured=''
26722718
fi
2719+
else
2720+
#We couldn't find qglobal...
2721+
g4_havegoodqt="no"
26732722
fi #END TEST for Darwin Framework
26742723
26752724
else

ReleaseNotes/Patch4.9.2-3.txt

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
2+
Geant4 9.2 - patch-03 Release Notes
3+
-----------------------------------
4+
5+
29 January 2010
6+
7+
List of fixes included in this public patch since the public release 9.2.p02:
8+
9+
o Configuration:
10+
-------------
11+
+ binmake.gmk: removed extra space characters in definition of TARGOBJEXT,
12+
fixing issue with target for main() not being rebuilt according to
13+
dependencies change. Addressing problem report #1098.
14+
+ Darwin-g++.gmk: added paths to $QTHOME/include and $QTHOME/lib to
15+
setup for Qt4 configuration.
16+
+ Added G4OPTDEBUG option for hybrid optimized-debug build also to
17+
Darwin-g++ and WIN32-g++ configurations.
18+
19+
o Digits_Hits:
20+
-----------
21+
+ Corrected counting of flux and current passing through curved surfaces
22+
(affecting cylinder and sphere surface scorers).
23+
+ Added missing virtual keyword for qualification of CheckROVolume()
24+
and FindROTouchable() methods in G4VReadOutGeometry.
25+
26+
o Error_propagation:
27+
-----------------
28+
+ Corrected usage of G4ThreeVector constructor in class
29+
G4ErrorMagFieldLimitProces.
30+
31+
o Event:
32+
-----
33+
+ Minor changes to G4GeneralParticleSourceMessenger to now use full range
34+
of predefined units for length, energy and angle.
35+
+ Fixed gcc-4.4.0 compilation warning message for non-initialised variable
36+
in G4SPSEneDistribution.
37+
38+
o Geometry:
39+
--------
40+
+ magnetic_field:
41+
o Bug fix in G4EqEMFieldWithSpin, following report on Hypernews EM-field
42+
forum #161. Courtesy of Hiromi Iinuma (KEK).
43+
+ management:
44+
o Fixed implementation of G4LogicalVolume::TotalVolumeEntities() to
45+
become invariant to call sequence.
46+
o Clear possible excess capacity in node vectors in G4SmartVoxelHeader
47+
BuildNodes() method. May reduce excess memory allocated in optimisation
48+
in large detector setups, with slight time increase in initialisation
49+
for geometry voxelisation.
50+
o G4VTouchable: moved inline vitual methods, constructor and destructor
51+
to source, to avoid problem of memory alignment in allocation of
52+
derived objects.
53+
+ navigation:
54+
o Refinements in G4PropagatorInField:
55+
+ Improved handling of repeated small steps at boundaries which are
56+
due to geometry imprecision, navigation optimisation, or the details
57+
of the algorithm used for tracking in field.
58+
Added new member 'fZeroStepThreshold', to enable tuning of this
59+
existing threshold for identifying tiny or zero steps.
60+
A new value for this threshold 'fZeroStepThreshold' is a large
61+
multiple (10^4) of 'kCarTolerance'. Addresses a problem of tracks
62+
stuck at boundaries of volumes reported by ATLAS.
63+
The condition for identifying a tiny step is changed in order to
64+
avoid misidentifying small proposed physical steps as problem tiny
65+
steps.
66+
+ Changed parameters which determine the size of the next trial step.
67+
This is used only when trying to recover from consecutive tiny/zero
68+
steps. The default decrease factor is now 0.25 (from 0.1); when the
69+
step size is comparable to the value of 'fZeroStepThreshold' a
70+
different decrease factor is used. The value given to the decrease
71+
factor was changed to 0.35 (from 0.25).
72+
+ Added new method RefreshIntersectionLocator() to update the state
73+
of helper class.
74+
+ Improved printing of diagnostics.
75+
o G4VIntersectionLocator: fixed problem in ReEstimateEndPoint() for very
76+
small steps. Corrected constructor to ensure that it initialises all
77+
data members. Labelled methods in header to make noticable those that
78+
must change attributes at every step.
79+
+ solids/CSG:
80+
o G4Cons: fix to DistanceToIn(p,v), added a check on the direction in
81+
case of point on surface. Fixes a problem of stuck tracks observed in
82+
CMS, due to wrong reply from the solid for points on the inner radius
83+
surface base with direction along the imaginary extension of the cone.
84+
o G4Torus: fix in SolveNumericJT() in order to take in account the
85+
difference in the value of theta for different intervals, [0:pi] or
86+
[-pi:0], and for SPhi in [0:twopi] or [-twopi:0]. Addresses problem
87+
report #1086.
88+
o G4Orb: moved debug warning in DistanceToIn(p,v) within G4CSGDEBUG flag.
89+
+ solids/specific:
90+
o G4Ellipsoid: refined fix in DistanceToIn(p,v) for points located on the
91+
curved surface, and correct treatment of geometrical tolerance.
92+
Addresses problem report #1076.
93+
o Avoid redundant assignment of value to 3-vector in G4PolyconeSide and
94+
in G4TwistTubsSide.
95+
+ volumes:
96+
o Fix in G4PVParameterised::CheckOverlaps() to not modify daughter volume
97+
transformation matrix for application to points in the daughter's frame.
98+
Adopt Inverse() instead of Invert() in call to G4AffineTransform.
99+
Addresses problem report #1078.
100+
o Added missing implementation for composing G4AssemblyVolume constructor.
101+
o Use G4Allocator for dynamic allocation of G4TouchableHistory objects.
102+
Should reduce the number of direct calls to malloc and memory
103+
fragmentation. Measured an average improvement of ~5% in CPU speed
104+
with same memory footprint. Moved inline constructors to source to
105+
avoid problems of memory alignment in allocation.
106+
107+
o Global:
108+
------
109+
+ Changed date for patch-03 to release 9.2.
110+
111+
o Standard Electromagnetic Processes:
112+
----------------------------------
113+
+ Utils:
114+
o G4ionEffectiveCharge: added protection to minimal kinetic energy.
115+
o G4EmCorrections: fixed computation of correction to ion stopping powers.
116+
o G4VEnergyLossProcess, G4VEmProcess: added protection against negative
117+
cross section; fixed problem in retrieving physics tables from file.
118+
119+
o Hadronic Processes:
120+
------------------
121+
+ cross_sections:
122+
o G4CrossSectionDataSetRegistry: more accurate deletion of cross-sections.
123+
o G4TripathiLightCrossSection: re-enabled low energy check code.
124+
+ management:
125+
o G4HadronicProcessStore: added protection to Clean() method.
126+
+ models/abrasion:
127+
o Fixed problems of negative sqrt() and made code more robust to
128+
potential loop problems.
129+
+ models/CHIPS:
130+
o Fix in G4QElasticCrossSection for memory corruption caused by wrong
131+
setting of limit for the tabular initialization in method GetPTables().
132+
Courtesy of Z.Marshall (ATLAS).
133+
+ models/coherent_elastic:
134+
o G4HadronElastic: use static pointer to G4VQCrossSection in order to
135+
guarantee unique version of CHIPS cross-section class. Removed printout
136+
in destructor.
137+
+ models/management:
138+
o G4HadronicInteractionRegistry: more accurate deletion of models.
139+
+ stopping:
140+
o G4PiMinusAbsorptionAtRest and G4KaonMinusAbsorptionAtRest: fixed
141+
usage of 3vector constructor.
142+
143+
o Generic Processes:
144+
-----------------
145+
+ Cuts:
146+
o G4VRangeToEnergyConverter: modified implementation of method
147+
ConvertCutToKineticEnergy() to improve performance.
148+
Measured a factor 2 to 3 improvement in initialisation speed when
149+
building physics tables.
150+
Modified BuildRangeVector() where integration is perfomed in this
151+
method; extended for e+/e-. Changed 'TotBin' to be constant (i.e. same
152+
for all converters) and set to 100 (200 for previous versions).
153+
Added 'MaxEnergyCut' (10 GeV set in default). Added 'fRangeVectorStore'
154+
to ensure that range-vector is created only once for each material.
155+
Do not apply converter for neutron, anti-proton, and anti-neutron.
156+
o A new method ResetConverters() has been added to G4ProductionCutTable.
157+
This method allows to reduce the memory footprint by clearing temporary
158+
loss tables and range vectors used at initialization, if invoked when
159+
starting the first run of a session.
160+
161+
o Persistency:
162+
-----------
163+
+ gdml:
164+
o Corrected handling of 'quantity' tag; added missing caching of
165+
evaluation.
166+
167+
o Examples:
168+
--------
169+
+ extended/radioactivedecay/exrdm:
170+
o Fixed trivial compilation warning when compiled without G4ANALYSIS_USE.
171+
172+
----------------------------------------------------------------------------
173+
174+
Technical Notes
175+
---------------
176+
177+
o This is a cumulative patch and can be applied on top of release 9.2,
178+
9.2.p01 or 9.2.p02.
179+
o Technical notes distributed for release 9.2 are also applicable and
180+
valid for this patch.
181+
182+
The code and rebuilt binary libraries for release 9.2 are available
183+
through our "Download" Web page:
184+
http://cern.ch/geant4/support/download.shtml
185+
186+
Please refer to the Geant4 User Documentation:
187+
http://cern.ch/geant4/support/userdocuments.shtml
188+
for further information about using Geant4.

0 commit comments

Comments
 (0)