1 | |
---|
2 | Geant4 1.0 Release Notes |
---|
3 | ------------------------ |
---|
4 | |
---|
5 | 7th December 1999 |
---|
6 | |
---|
7 | These are the main new features/fixes included in this release (for the |
---|
8 | detailed list of fixes/additions, please refer to the related History files): |
---|
9 | |
---|
10 | o Electromagnetic Processes: |
---|
11 | - Multiple scattering: fine tuning and fixes for low energy e-; |
---|
12 | inclusion of nuclear size effect for high energy (e+,e- > 100 MeV, |
---|
13 | hadrons > 1 GeV); |
---|
14 | - IonisationPlus: improved code and testing, for electrons and hadrons. |
---|
15 | - LowEnergy: implemented hadron and ion ionisation; minor fixes in |
---|
16 | photo electric process. |
---|
17 | - Xrays: fixes in Cerenkov process. |
---|
18 | - Created new examples in examples/extended/electromagnetic. |
---|
19 | |
---|
20 | o Geometry: |
---|
21 | - Field: minor fixes, more access to user parameters and clearer warnings; |
---|
22 | - CSG/Booleans: fixes and more detailed unit tests; |
---|
23 | - BREPS/STEP: fix to the NIST STEP reader for complex surfaces; |
---|
24 | - Volumes: first implementation for visualization of voxels; |
---|
25 | - Transportation: added protection for zero step in field. |
---|
26 | |
---|
27 | o Globals: |
---|
28 | - STLInterface: |
---|
29 | major modifications for removing all references to Rogue Wave classes; |
---|
30 | removed wrappers for hash dictionaries; reorganised classes/files. |
---|
31 | - management: |
---|
32 | introduced 'g4std' wrappers and keywords for migration to the ISO/ANSI |
---|
33 | C++ standard and usage of the std namespace; fixed minor bug in |
---|
34 | G4PhysicsVector. |
---|
35 | |
---|
36 | o Hadronic Processes: |
---|
37 | - new isotope-production models for neutron induced production and |
---|
38 | corresponding design updates in hadronic/management; |
---|
39 | - additional string model for proton induced reactions; |
---|
40 | - design iteration on multi-fragmentation; |
---|
41 | - memory usage optimization in the neutron transport. |
---|
42 | NOTE: an updated set of neutron data files is now required. |
---|
43 | |
---|
44 | o Particles: |
---|
45 | - introduced dynamical electric charge in G4DynamicParticle to allow |
---|
46 | change of charge for ions; |
---|
47 | - introduced new G4IsotopeTable to manage excitation energy, lifetime, |
---|
48 | and decay modes for isotopes; |
---|
49 | - corrected identifier for isotopes Promethium and Prasceodym; |
---|
50 | - corrected spelling for file-names and keyword "barion" to "baryon". |
---|
51 | |
---|
52 | o Persistency: |
---|
53 | - added association of HitsCollection and PrimaryVertex to G4PEvent; |
---|
54 | added persistency of Boolean solid types; fixes for ODMG compliance; |
---|
55 | added G4PPRimaryParticle; |
---|
56 | - added new examples in examples/extended/persistency. |
---|
57 | |
---|
58 | o Visualization: |
---|
59 | - introduced visualization of *components* of a boolean solid. |
---|
60 | Visualisation of the *result* of the boolean operation will be |
---|
61 | available in a future release; |
---|
62 | - introduced new commands (use help <command name> for more information): |
---|
63 | /vis/scene/add/logicalVolume |
---|
64 | /vis/viewer/update |
---|
65 | - improvements to FukuiRenderer (DAWN): |
---|
66 | made destination directory of g4.prim and g4.eps customizable |
---|
67 | with the environmental variable G4DAWNFILE_DEST_DIR; auto |
---|
68 | incrementation of output file names is now supported; |
---|
69 | - removed ray tracing, pending re-implementation. |
---|
70 | |
---|
71 | Notes: |
---|
72 | |
---|
73 | o Geant4 1.0 is based on STL. All direct references to Rogue Wave have |
---|
74 | been removed from the code. See notes below. |
---|
75 | |
---|
76 | o The code released in Geant4 1.0 is not ISO/ANSI C++ compliant. |
---|
77 | A future minor release or patch will be provided that |
---|
78 | will include the ability to choose between using namespaces in |
---|
79 | ISO/ANSI mode or using traditional style "includes". |
---|
80 | |
---|
81 | This code and some binary libraries are available through our "Source |
---|
82 | Code" Web page: |
---|
83 | - see our Geant4 Home Page (http://cern.ch/geant4). |
---|
84 | |
---|
85 | Please refer to the Geant4 User Documentation |
---|
86 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html) |
---|
87 | for further information about using Geant4. |
---|
88 | Updates to the documentation for Geant4 1.0 are still in preparation and are |
---|
89 | expected to be published within three weeks. |
---|
90 | |
---|
91 | |
---|
92 | Contents |
---|
93 | -------- |
---|
94 | |
---|
95 | 1. Supported and Tested Platforms |
---|
96 | 2. CLHEP 1.4 |
---|
97 | 3. The Standard Template Library (STL) |
---|
98 | 4. Persistency |
---|
99 | 5. Compiler Specific Problems |
---|
100 | 6. Known Run-Time Problems |
---|
101 | 7. Compilation Warnings |
---|
102 | 8. Known Run-Time Warnings |
---|
103 | |
---|
104 | |
---|
105 | 1. Supported and Tested Platforms |
---|
106 | --------------------------------- |
---|
107 | |
---|
108 | o SUN Solaris 5.6, C++ 4.2 patch 104631-04. |
---|
109 | o HP 10.20, aCC C++ B3910B A.01.18 or A.01.21 |
---|
110 | o Linux 2.0.35, gcc C++ egcs-2.91.66 (egcs 1.1.2). |
---|
111 | This configuration was tested in the RedHat 5.1 distribution, but |
---|
112 | versions of Geant4 have also been compiled successfully on RedHat 6.1, |
---|
113 | Debian and Suse distributions. |
---|
114 | |
---|
115 | Platforms also tested but giving rise to some problems - see below: |
---|
116 | |
---|
117 | o DEC V4.0, cxx C++ V6.1-027. |
---|
118 | o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: |
---|
119 | Visual C++ 6.0 Service Pack 2 |
---|
120 | |
---|
121 | Platforms configured but not tested and not supported: |
---|
122 | o SGI V6.5.5, CC 7.2.1 with ObjectSpace |
---|
123 | o AIX 4.3.2, xlC compiler with ObjectSpace |
---|
124 | |
---|
125 | 2. CLHEP 1.4 |
---|
126 | ------------ |
---|
127 | |
---|
128 | Geant4 1.0 requires the installation of CLHEP 1.4. |
---|
129 | |
---|
130 | See CLHEP 1.4 (http://cern.ch/clhep/INSTALLATION/clhep.html). |
---|
131 | |
---|
132 | The following platform specific instructions apply: |
---|
133 | |
---|
134 | DEC: Do *not* use the compiler option "-std strict_ansi". |
---|
135 | |
---|
136 | NT: After configure, edit the file config/CLHEP-x86-cygnus-win32 |
---|
137 | and comment out "#define HEP-USE-STD 1". |
---|
138 | |
---|
139 | |
---|
140 | |
---|
141 | 3. The Standard Template Library |
---|
142 | -------------------------------- |
---|
143 | |
---|
144 | The following versions of STL have been tested: |
---|
145 | |
---|
146 | ObjectSpace STL on |
---|
147 | DEC, HP, NT and SUN. |
---|
148 | |
---|
149 | See ObjectSpace (http://www.objectspace.com). |
---|
150 | |
---|
151 | "Native" STL on: Linux, HP. |
---|
152 | |
---|
153 | This is selected at installation/compile time by the environment variable |
---|
154 | G4USE_OSPACE in the case of the former - see documentation. |
---|
155 | |
---|
156 | NOTES: |
---|
157 | - Be aware that by default, the installation scripts will expect to use |
---|
158 | the native STL implementation. You must set the G4USE_OSPACE variable |
---|
159 | in the environment in order to select the ObjectSpace implementation. |
---|
160 | |
---|
161 | - Platform specific setup: |
---|
162 | o DEC: ObjectSpace is required. |
---|
163 | o HP: either ObjectSpace or native STL can be used. In order to use |
---|
164 | native STL you must also set the environment variable |
---|
165 | G4NO_STD_NAMESPACE. |
---|
166 | o SUN: ObjectSpace is required. |
---|
167 | o Linux: native STL is required. |
---|
168 | o NT: ObjectSpace is required. |
---|
169 | Support for native STL and ISO/ANSI installation will be added |
---|
170 | soon (future patch or minor release). |
---|
171 | |
---|
172 | - A future minor release or patch will allow ISO/ANSI compliant installations. |
---|
173 | Their characteristics will be: |
---|
174 | o DEC: Native STL will be used |
---|
175 | o HP: The setup for native STL will trigger by default the ISO/ANSI |
---|
176 | installation (set G4NO_STD_NAMESPACE in the environment to avoid it.) |
---|
177 | o SUN: Support for CC 5.0 compiler and native STL (ISO/ANSI installation) |
---|
178 | o NT: Support for native STL and ISO/ANSI installation |
---|
179 | The modifications to support these installations will be tested soon. |
---|
180 | They will be made available in a patch or minor release. |
---|
181 | |
---|
182 | Geant4 1.0 is the first release requiring the Standard Template Library. |
---|
183 | In the interest of stability, a significant part of the code still makes use |
---|
184 | of the "STL Interface" wrapper classes. For these the emphasis has remained |
---|
185 | on correct behaviour, rather than performance. The size of libraries and |
---|
186 | executables can appear considerably larger than the previous Rogue-Wave based |
---|
187 | versions. |
---|
188 | |
---|
189 | 4. Persistency |
---|
190 | -------------- |
---|
191 | |
---|
192 | - Platforms |
---|
193 | |
---|
194 | Persistency in Geant4 1.0 release has been tested on the following |
---|
195 | platforms/software versions: |
---|
196 | |
---|
197 | G4SYSTEM OS C++ compiler HepODBMS Objectivity |
---|
198 | --------- ----------- ------------ --------- ----------- |
---|
199 | SUN-CC SunOS 5.6 CC 4.2 0.3.1.0 5.2 |
---|
200 | HP-aCC HP-UX 10.20 aCC A.01.18 0.3.0.1 5.1.2 |
---|
201 | Linux-g++ Linux RH5.1 egcs 1.1.2 0.3.0.1 5.1.2 |
---|
202 | |
---|
203 | A patch to run persistency examples on DEC-cxx will be released |
---|
204 | later, pending a fix to HepODBMS library. |
---|
205 | |
---|
206 | - Known Problems |
---|
207 | |
---|
208 | 1) The following warning messages appear on some platforms during the |
---|
209 | installation of the libraries and the compilation of the example |
---|
210 | files. The message comes from the parser of the Objectivity |
---|
211 | preprocessor. It can be ignored. |
---|
212 | |
---|
213 | ------------------------------------------------------------------------- |
---|
214 | "/opt/SUNWspro/SC4.2/include/CC/generic.h", line 29: warning: omission of |
---|
215 | explicit type is nonstandard ("int" assumed) |
---|
216 | extern genericerror(int, char*); |
---|
217 | ^ |
---|
218 | "/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 781: warning: integer |
---|
219 | conversion resulted in a change of sign |
---|
220 | unsafe_istream& wignore(int=1, wchar_t=WEOF); |
---|
221 | ^ |
---|
222 | "/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 962: warning: integer |
---|
223 | conversion resulted in a change of sign |
---|
224 | istream& wignore(int=1, wchar_t=WEOF); |
---|
225 | ------------------------------------------------------------------------- |
---|
226 | |
---|
227 | 2) The following warning messages appear during the installation of the |
---|
228 | library. This is due to a design choice of the persitent object |
---|
229 | and it can be safely ignored. |
---|
230 | |
---|
231 | ------------------------------------------------------------------------- |
---|
232 | warning: persistent-capable class member type is a problem |
---|
233 | The type of base class vector<G4VPhysicalVolume * > is a problem |
---|
234 | The type of member vector<G4VPhysicalVolume * >::start_ is pointer |
---|
235 | The type of member vector<G4VPhysicalVolume * >::finish_ is pointer |
---|
236 | The type of member vector<G4VPhysicalVolume * >::end_of_storage_ |
---|
237 | is pointer |
---|
238 | The type of member vector<G4VPhysicalVolume * >::alloc_ is a |
---|
239 | problem |
---|
240 | The type of member allocator<G4VPhysicalVolume * >::impl_ is |
---|
241 | pointer |
---|
242 | G4VPhysVolRefVArray transPhysVolPtrs; |
---|
243 | ^ |
---|
244 | ------------------------------------------------------------------------- |
---|
245 | |
---|
246 | 3) The following warning messages appears during the installation of the |
---|
247 | libraries and the compilation of the example files. Dependency |
---|
248 | file is used to solve the GNUmake dependencies inside the Geant4 |
---|
249 | categories and it can be safely ignored. |
---|
250 | |
---|
251 | ------------------------------------------------------------------------- |
---|
252 | In file included from /afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.3.1.0/ |
---|
253 | include/HepODBMS/odbms/HepODBMS.h:75, |
---|
254 | from include/G4PersistentTypes.hh:21, |
---|
255 | from include/G4VPersistentSubMan.hh:34, |
---|
256 | from src/G4VPersistentSubMan.cc:16: |
---|
257 | /afs/cern.ch/sw/lhcxx/specific/sun/Objectivity/5.2/include/oo.h:57: |
---|
258 | warning: No include path in which to find generic.h |
---|
259 | ------------------------------------------------------------------------- |
---|
260 | |
---|
261 | 4) The following error messages appear at the end of the library |
---|
262 | installation, and it can be safely ignored. |
---|
263 | |
---|
264 | ------------------------------------------------------------------------- |
---|
265 | installing schema header files ... |
---|
266 | cp: cannot access /afs/cern.ch/sw/geant4/stt/ref+/AIX-xlC/debug/persistency/ |
---|
267 | STL/tmp/SUN-CC/G4pglobal/*.hh |
---|
268 | schema header file does not exist, so ignore the error message... |
---|
269 | ------------------------------------------------------------------------- |
---|
270 | |
---|
271 | 5) The following warning message appears at the runtime of the persistency |
---|
272 | examples, which is generated by HepDbApplication in HepODBMS. |
---|
273 | It can be ignored. |
---|
274 | |
---|
275 | ------------------------------------------------------------------------- |
---|
276 | Opening federated database OO_FD_BOOT. |
---|
277 | WARNING: g4example: Could not find naming root directory: |
---|
278 | Naming will be disabled. |
---|
279 | ------------------------------------------------------------------------- |
---|
280 | |
---|
281 | |
---|
282 | 5. Compiler Specific Problems |
---|
283 | ----------------------------- |
---|
284 | |
---|
285 | o DEC V4.0, cxx C++ V6.1-027. |
---|
286 | |
---|
287 | We have found cases of mis-compilation of min and max templates |
---|
288 | on DEC. We have traced those which cause serious malfunction |
---|
289 | but there is no guarantee that there are no other cases. |
---|
290 | Detailed inspection of assembler output suggests that this |
---|
291 | problem might not be confined to min and max. This has been |
---|
292 | reported to DEC/Compaq. We understand a new version 6.2 of the |
---|
293 | compiler is now available. However we cannot guarantee correct |
---|
294 | execution of Geant4 on DEC with the current version of the |
---|
295 | compiler. |
---|
296 | |
---|
297 | o NT |
---|
298 | |
---|
299 | - Due to limitations of the VC++ optimiser, testing was done using |
---|
300 | the debuggable version only. |
---|
301 | - g3tog4 has not been ported to NT. |
---|
302 | - During the making of dependency files during compilation there |
---|
303 | are repeated warnings ("Strstrea.h not found") - this is an |
---|
304 | artifact of using g++ for this purpose. |
---|
305 | - Ignore linker warnings: "conflicts with use of other libs". |
---|
306 | - Ignore linker errors: "unresolved external symbol |
---|
307 | __imp__MessageBoxA@16". |
---|
308 | |
---|
309 | |
---|
310 | 6. Known Run-Time Problems |
---|
311 | -------------------------- |
---|
312 | |
---|
313 | o Reading STEP files on DEC with optimised libraries causes a Memory |
---|
314 | fault - but see notes on DEC above. |
---|
315 | o In rare cases heavy ions appear not to be properly stopped and killed |
---|
316 | in tracking, therefore Geant4 sticks making many small steps. This |
---|
317 | behaviour has been observed on SUN and is under investigation. |
---|
318 | o On WindowsNT, a problem can occur reading the data files associated with |
---|
319 | the environment variable G4LEVELGAMMADATA. (Usually the value |
---|
320 | for this variable is $G4INSTALL/geant4/data/PhotonEvaporation .) |
---|
321 | A correction that resolves this anomalous behaviour will be issued |
---|
322 | soon, in a patch. |
---|
323 | |
---|
324 | |
---|
325 | 7. Compilation Warnings |
---|
326 | ----------------------- |
---|
327 | |
---|
328 | There are compilation warnings on some platforms. We do not believe |
---|
329 | that any will lead to incorrect run-time behaviour, but we are working |
---|
330 | on reducing them. |
---|
331 | |
---|
332 | |
---|
333 | 8. Known Run-Time Warnings |
---|
334 | -------------------------- |
---|
335 | |
---|
336 | The following messages can be written to error output while tracking. We |
---|
337 | believe none give rise to incorrect behaviour. |
---|
338 | |
---|
339 | o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration |
---|
340 | inaccuracy requires an adjustment in the step's endpoint Two |
---|
341 | mid-points are further apart than their curve length difference: |
---|
342 | Dist = xxx curve length = yyy |
---|
343 | o Warning in G4Navigator::ComputeStep: The Step's starting point has |
---|
344 | moved... |
---|
345 | o G4PropagateInField: Warning: Particle is looping |
---|
346 | - tracking in field will be stopped. |
---|
347 | It has performed 10000 steps in Field while a maximum of 10000 |
---|
348 | are allowed. |
---|
349 | |
---|
350 | For very high energy muons (ex. 1 TeV) warnings of this kind might be |
---|
351 | generated: |
---|
352 | |
---|
353 | o G4ParticleChange::CheckIt : the Momentum Change is not unit vector !! |
---|
354 | Difference: 1e-09 |
---|
355 | G4ParticleChange::CheckIt |
---|