1 | |
---|
2 | Geant4 4.0 Release Notes |
---|
3 | ------------------------ |
---|
4 | |
---|
5 | 14th December 2001 |
---|
6 | |
---|
7 | These are the main new features/fixes included in this release since the |
---|
8 | last public release (for the detailed list of fixes/additions, please refer |
---|
9 | to the related History files): |
---|
10 | |
---|
11 | o Analysis: |
---|
12 | -------- |
---|
13 | - Removed analysis module. AIDA 2.2 or higher should now be adopted. |
---|
14 | |
---|
15 | o Configuration: |
---|
16 | ------------- |
---|
17 | - New version of the 'Configure' script for installation. |
---|
18 | - architecture.gmk: |
---|
19 | o made Linux-g++ architecture the default G4SYSTEM. |
---|
20 | o removed references to STLInterface. |
---|
21 | - Added Linux-egcs for old Linux architectures based on egcs-1.1.2 compiler. |
---|
22 | - Made Linux-g++ specific to gcc-2.95.2 compiler or higher. |
---|
23 | - Made SUN-CC specific to CC-5.2 compiler, the default compiler on SUN |
---|
24 | systems. CC-4.2 is no longer supported. |
---|
25 | - Introduced environment variable G4VIS_NONE that, if set, no visualization |
---|
26 | drivers are built and no vis libraries are built. |
---|
27 | - Introduced environment variable G4UI_NONE that, if set, no UI |
---|
28 | sessions nor any UI libraries are built. |
---|
29 | - Re-engineered G4VIS variables: removed the need to specify environment |
---|
30 | variables for visualization drivers which do not need external packages |
---|
31 | or libraries, namely : |
---|
32 | G4VIS_BUILD_DAWNFILE_DRIVER |
---|
33 | G4VIS_BUILD_RAYTRACER_DRIVER |
---|
34 | G4VIS_BUILD_VRMLFILE_DRIVER |
---|
35 | G4VIS_BUILD_ASCIITREE_DRIVER |
---|
36 | G4VIS_BUILD_GAGTREE_DRIVER |
---|
37 | with associated G4VIS_USE environment variables: |
---|
38 | G4VIS_USE_DAWNFILE |
---|
39 | G4VIS_USE_RAYTRACER |
---|
40 | G4VIS_USE_VRMLFILE |
---|
41 | G4VIS_USE_ASCIITREE |
---|
42 | G4VIS_USE_GAGTREE |
---|
43 | - Re-engineered G4UI variables: removed the need to specify environment |
---|
44 | variables for UI sessions which do not need external packages or |
---|
45 | libraries, namely : |
---|
46 | G4UI_BUILD_GAG_SESSION, G4UI_BUILD_TERMINAL_SESSION |
---|
47 | with associated G4UI_USE environment variables: |
---|
48 | G4UI_USE_GAG, G4UI_USE_TCSH, G4UI_USE_TERMINAL |
---|
49 | - Removed references to STLInterface module in architecture.gmk |
---|
50 | and architecture setups. |
---|
51 | - analysis.gmk: added flags to use an AIDA 2.2 compliant analysis system. |
---|
52 | |
---|
53 | o Event: |
---|
54 | ----- |
---|
55 | - Added a new feature for the user to increase the number of waiting stacks. |
---|
56 | - Added Beam option for generating accelerator beams. |
---|
57 | - Added check whether the primary vertex is inside of the world volume. |
---|
58 | - G4PrimaryParticle now stores the proper trackID. |
---|
59 | - G4PrimaryTransformer: now considering case where a primary is |
---|
60 | placed on the boundary of the world volume. |
---|
61 | - G4GeneralParticleSource (GPS): implemented co-ordinates rotation for |
---|
62 | angular distribution. |
---|
63 | - Bug fix in G4EventManager in case G4_STORETRAJECTORY is off. |
---|
64 | - Moved set method of position and time from G4ParticleGun to |
---|
65 | G4VPrimaryGenerator so that G4HEPEvtInterface can accept the primary |
---|
66 | vertex position |
---|
67 | - Cleared compilation warnings on gcc-2.95.2. |
---|
68 | - Fixes to comply with removal of STLInterface. |
---|
69 | |
---|
70 | o Electromagnetic Processes (Low-energy): |
---|
71 | -------------------------------------- |
---|
72 | - Major revision of G4LowEnergyCompton, G4LowEnergyRayleigh and |
---|
73 | G4LowEnergyGammaConversion: re-implementation according to the design |
---|
74 | iteration in the data domain. |
---|
75 | - New version of data G4EMLOW0.5 required. |
---|
76 | - New classes for shell cross sections for proton-induced fluorescence. |
---|
77 | - First implementation of fluorescence process. |
---|
78 | - Introduced PIXE in G4hLowEnergyIonisation. |
---|
79 | - Significant physics an performance improvement in electron processes. |
---|
80 | - Added method to deactivate fluorescence in ionisation if needed. |
---|
81 | - Added protection in G4LowEnergyPhotoElectric to avoid generation of |
---|
82 | photons causing negative energy balance. |
---|
83 | - Fixed a problem of continuity of ion effective charge. |
---|
84 | - Fixed energy conservation problems for small range cuts in |
---|
85 | G4LowEnergyIonisation. |
---|
86 | - Introduced changes to allow multiple cuts per material (temporary). |
---|
87 | - Removed static inline methods to non inline. |
---|
88 | - Cleared compilation warnings on gcc-2.95.2. |
---|
89 | - Fixes to comply with removal of STLInterface. |
---|
90 | |
---|
91 | o Electromagnetic Processes (Standard): |
---|
92 | ------------------------------------ |
---|
93 | - Implemented mechanism for storing and retrieving Physics Tables. |
---|
94 | - Implemented new function ComputeRestrictedMeandEdx() for ionisation |
---|
95 | processes. |
---|
96 | - Implemented subcutoff delta-rays mechanism in G4VMuEnergyLoss. |
---|
97 | - Suppression of the production threshold in phot, compt, conv, annih |
---|
98 | processes. |
---|
99 | - Removed obsolete "integral" module. |
---|
100 | - Fixed old outstanding bug in G4EnergyLossTables, responsible for |
---|
101 | causing negative energy deposit in some occasions. |
---|
102 | - Introduced changes for reference-counted touchables. |
---|
103 | - Introduced changes to allow multiple cuts per material (temporary). |
---|
104 | - Removed static inline methods to non inline. |
---|
105 | - Cleared compilation warnings on gcc-2.95.2. |
---|
106 | - Fixes to comply with removal of STLInterface. |
---|
107 | |
---|
108 | o General Processes, Parameterisation, Decay, Optical: |
---|
109 | --------------------------------------------------- |
---|
110 | - management: |
---|
111 | o Added Set/GetProcessManager() to G4VProcess and modified |
---|
112 | G4ProcessManager::AddProcess() to invoke SetProcessManager(). |
---|
113 | o Fixed bug in copy constructor of G4ProcessManager. |
---|
114 | - parameterisation(s): |
---|
115 | o Added new classes describing X-ray transition radiation generation |
---|
116 | inside radiators (i.e. just along incident particle track): |
---|
117 | G4FoamXTRdEdx, G4GamDistrXTRdEdx, G4IrregularXTRdEdx, |
---|
118 | G4PlateIrrGasXTRdEdx, G4RegularXTRdEdx, G4VXTRdEdx, G4VXrayTRadModel. |
---|
119 | o Introduced changes in G4VClusterModel for reference-counted |
---|
120 | touchables. |
---|
121 | - optical: |
---|
122 | o Changed process name for G4OpRayleigh, G4OpBoundary and G4OpAbsorption. |
---|
123 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
124 | - Fixes to comply with removal of STLInterface. |
---|
125 | |
---|
126 | o Geometry: |
---|
127 | -------- |
---|
128 | - Introduced geometry/verification module for checking geometry for |
---|
129 | volumes overlaps. |
---|
130 | - Magnetic field: |
---|
131 | o Handling Electric Field and time-dependent fields. |
---|
132 | o Introduced ability to set field per volume. |
---|
133 | o New extended examples for field in examples/extended. |
---|
134 | o Added method in G4ChordFinder to erase/reset the state of the |
---|
135 | StepEstimate. This is unwanted internal state that was carried |
---|
136 | between tracks and events as a side effect. |
---|
137 | Calling this at the start of each track, it is now possible to |
---|
138 | eliminate a reported problem of non-repeatability. |
---|
139 | o Reduced maximum number of steps in G4MagIntegratorDriver. |
---|
140 | o Protected verbose warnings with G4DEBUG_FIELD flag in G4ChordFinder |
---|
141 | and G4MagIntegratorDriver. |
---|
142 | o G4FieldManager: added fFieldChangesEnergy data member and get/set |
---|
143 | methods. |
---|
144 | o Fixed interface to virtual functions in the inheritance chain of |
---|
145 | G4Field and subclasses. |
---|
146 | - Management: |
---|
147 | o Added definition of G4TouchableHandle. |
---|
148 | o Added class G4SmartVoxelStat for statistics on geometry optimisation |
---|
149 | of volumes through voxelisation. |
---|
150 | o Modified G4GeometryManager to make use of G4SmartVoxelStat when run |
---|
151 | in verbose mode: |
---|
152 | - added argument to CloseGeometry() method for verbosity |
---|
153 | - added ReportVoxelStats() method for reporting optimisation statistics. |
---|
154 | o Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case |
---|
155 | computed nodes for smartless happen to be zero. |
---|
156 | - Volumes: |
---|
157 | o Introduced G4GeometryMessenger associated to G4TransportationManager |
---|
158 | with following commands defined: |
---|
159 | - geometry/test/run - to start verification of geometry for overlapping |
---|
160 | regions based on standard grid setup. |
---|
161 | - geometry/test/line_test - to activate test along a specified |
---|
162 | direction and position user defined. |
---|
163 | - geometry/test/position - to specify position for the line_test. |
---|
164 | - geometry/test/direction - to specify direction for the line_test. |
---|
165 | - geometry/test/tolerance - to customise test precision. |
---|
166 | - geometry/navigator/reset - for resetting navigation history |
---|
167 | and position. |
---|
168 | o Added handles for reference counting: G4GRSSolidHandle, |
---|
169 | G4GRSVolumeHandle, G4TouchableHistoryHandle. |
---|
170 | o Modified G4Navigator for reference counted touchables. |
---|
171 | Introduced new methods CreateTouchableHistoryHandle() and |
---|
172 | LocateGlobalPointAndUpdateTouchableHandle(...). |
---|
173 | o G4PropagatorInField: |
---|
174 | - Added thresholds for number of steps with get/Set methods. |
---|
175 | - Modified choice of subsequent step size in case of zero steps. |
---|
176 | - Added GetCurrentFieldManager() method. |
---|
177 | - Added 'maximum' epsilon value. |
---|
178 | o G4Navigator: |
---|
179 | - Fixed mirroring of the input argument for global direction into |
---|
180 | local variable in LocateGlobalPointAndSetup(). |
---|
181 | - Added ResetState() method (that only reset state - not stack). |
---|
182 | - Added optional argument for direction to LocateGlobalPointAndSetup(). |
---|
183 | - State is now resetted when touchable history is used to |
---|
184 | re-initialise it. |
---|
185 | - Direction in LocateGlobalPointAndSetup() methods is now used. |
---|
186 | - solids/Boolean: |
---|
187 | o Introduced first implementation of classes G4ReflectedSolid and |
---|
188 | G4ReflectionFactory for reflections of positioned volumes based |
---|
189 | on simple CSG solids. |
---|
190 | o Introduced G4BOOLDEBUG flag and relaxed G4Exception calls with |
---|
191 | warnings to G4cerr for rare occurences of anomalous conditions. |
---|
192 | - solids/BREPS: |
---|
193 | o Fix in G4BSplineCurve::Init() for initialisation of point vector. |
---|
194 | o G4BREPSolidPolyhedra.cc: fixed situation when phi1 = 0 dphi1 = 2*pi |
---|
195 | and all RMINs = 0.0. In this case the inner planes are not created. |
---|
196 | - solids/CSG: |
---|
197 | o G4Sphere: bug fix in SurfaceNormal() for the case kNETheta. |
---|
198 | - solids/STEP & STEPinterface: |
---|
199 | o SdaiCONFIG_CONTROL_DESIGN.cc: cleaned up warnings issued on SUN-CC. |
---|
200 | o dirobj.cc: restored usage of strdup() and forced non-ANSI setup. |
---|
201 | o Fixes for compilation on gcc-2.96.98 and gcc-3.0.2 compilers. |
---|
202 | o G4Axis2Placement3dCreator::CreateG4Geometry(): added check to |
---|
203 | attribute validity for 'direction'. |
---|
204 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
205 | - Fixes to comply with removal of STLInterface. |
---|
206 | |
---|
207 | o Global: |
---|
208 | ------ |
---|
209 | - Introduced G4ReferenceCountedHandle templated class. |
---|
210 | - Modified G4Exception behavior, now setting G4StateManager to |
---|
211 | "abort" state instead of aborting the application. |
---|
212 | - Removed STLinterface module: |
---|
213 | o renamed cstring[.h.icc] to G4String[.hh.icc]. |
---|
214 | o renamed ctoken.h to G4Tokenizer.hh. |
---|
215 | |
---|
216 | o Graphics Representations: |
---|
217 | ------------------------ |
---|
218 | - Added G4Scale class. |
---|
219 | - Added G4Polyline::transform. |
---|
220 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
221 | |
---|
222 | o Hadronic Processes: |
---|
223 | ------------------ |
---|
224 | - Doppler broadening of low energy neutron cross-sections on the fly, |
---|
225 | enabling to simulate setups with mixed temperatures from 0K data files. |
---|
226 | - First release of chiral invariant phase-cpace decay. |
---|
227 | Usable now for electron and gamma nuclear reactions, and for pi- |
---|
228 | and anti-proton absorption. Also a cascade back-end replacement for |
---|
229 | string models. |
---|
230 | - First release of specialized models for neutron and proton scattering |
---|
231 | off Hydrogene, with particular focus on recoils. |
---|
232 | - First release of the evaporation and utilities parts of the HETC |
---|
233 | re-write. |
---|
234 | - Optimized memory usage of the neutron_hp transport code (gained an |
---|
235 | integer factor) |
---|
236 | - Maximized robustness: system tests now at O(5000) LHC event of hadronic |
---|
237 | energy flow; large-N tests with about a factor 100 more statistics. |
---|
238 | - Addition of gamma nuclar and electro nuclear reaction cross-sections. |
---|
239 | - Checking for tracking consistancy. |
---|
240 | - Added possibility to activate models for single elements/materials in |
---|
241 | one call |
---|
242 | - Now calling ResetNumberOfInteractionLengthLeft() rather than |
---|
243 | ClearNumberOfInteractionLengthLeft(). |
---|
244 | - Enabled logging in various places. |
---|
245 | - Fix for final state rotation from z; this can be done in general in |
---|
246 | the hadronic process framework layer. |
---|
247 | - Added G4PhotoNuclearProcess, G4PositronNuclearProcess, and |
---|
248 | G4ElectronNuclearProcess. |
---|
249 | - Optimised sampling of gaussian distributions. |
---|
250 | - Fixed a missing initialization of strangeness in the high energy |
---|
251 | models. |
---|
252 | - Fixed the particle production for low energy light ion reactions. |
---|
253 | - Bug fix for beta+ decay in radioactive decay (corrected Q-value). |
---|
254 | - Bug-fix in neutron induced isotope production code to allow for mixtures. |
---|
255 | - Bug-fix in the vector hash to allow for re-use of the hash tables. |
---|
256 | - Getting rid of the strstream portability problem between SUN and Linux. |
---|
257 | - Some conservative programming in the sampling vector, to allow for |
---|
258 | binary re-use of the hash. |
---|
259 | - Minor bug fix on gamma distributions in very special cases (yields and |
---|
260 | integral energy was correct, but distribution had a slight bias before). |
---|
261 | - Fix on elastic scattering final states: getting rid of a bias that was |
---|
262 | there for a particular data representation. Affects Xenon. |
---|
263 | - Fix for inelastic n->b+m*gamma channel; for the case of 4 gammas in the |
---|
264 | final state, the mass of the recoil was of by one under certain condition. |
---|
265 | (Mildly relevant for activation when simulating earth.) |
---|
266 | - Fix in Names finding for scattering off Hydrogen. |
---|
267 | - New calculation for compound radius in coulomb barrier calculation. |
---|
268 | - Reduced default vector size. |
---|
269 | - Added delete structs to the vectors. |
---|
270 | - Getting rid of the E-11ev gamma problem, and a few memory leaks |
---|
271 | introduced in the STL transition. |
---|
272 | - Templated qgs models with the type of participants to enable heavy ion |
---|
273 | collision simulation; heavy ion participants still to be fixed for |
---|
274 | impact of fermi momentum. |
---|
275 | - qgs model now also for kaons. |
---|
276 | - Enabled 'meson' splitting for incident gammas in quark gluon string |
---|
277 | model. |
---|
278 | - First tuning of pomeron trajectory and vertex parameters for incident |
---|
279 | gammas, assuming vector meson dominance; based on total reaction |
---|
280 | cross-section only; further improvement scheduled. |
---|
281 | - Fixed minimum mass constraint on string fragmentation in the |
---|
282 | presence of zeitgleiche multiple and multi pomoron exchange, and |
---|
283 | diffractive collisions. |
---|
284 | - Design iteration on string fragmentation. |
---|
285 | - Traced an elusing charge non-conservation to isotopic composition of |
---|
286 | Hydrogene, which is taken care of internally. |
---|
287 | - Bug-fix for splitting Omega- into partons. |
---|
288 | - Added transformation in pre-equilibrium decay. |
---|
289 | - Enabled tracing of colour, spin and iso-spin in the parton. |
---|
290 | - Some improvement on folding two resonance collision cross-section. |
---|
291 | - Cleared most compilation warnings and minor fixes for gcc-2.95.2 compiler. |
---|
292 | - Fixes to comply with removal of STLInterface. |
---|
293 | |
---|
294 | o Materials: |
---|
295 | --------- |
---|
296 | - G4Isotope, G4Element, G4Material: IndexInTable is now obtained |
---|
297 | dynamically via GetIndex(). |
---|
298 | - Added new function G4Materials::SetChemicalFormula(). |
---|
299 | - Fixed problems erasing when deleting Isotope, Element or Material objects. |
---|
300 | - Fixed memory leak in G4SandiaTable::ComputeMatSandiaMatrix(), |
---|
301 | for deletion of temporary vectors Z, tmp1, tmp2. |
---|
302 | - Moved definitions of G4IsotopeVector and G4ElementVector |
---|
303 | G4ElementTable and G4MaterialTable to the appropriate headers. |
---|
304 | - Removed static inline methods to non-inline. |
---|
305 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
306 | - Fixes to comply with removal of STLInterface. |
---|
307 | |
---|
308 | o Particles: |
---|
309 | --------- |
---|
310 | - Introduced G4NeutronBetaDecayChannel and added to G4Neutron. |
---|
311 | - Allow MassDifference in case of nucleon decay. |
---|
312 | - Fixed bug in copy constructor of G4DecayProduct. |
---|
313 | - Introduced changes to allow multiple cuts per material (temporary). |
---|
314 | - Removed static inline methods to non-inlined. |
---|
315 | - Cleared compilation warnings and minor fixed for gcc-2.95.2 compiler. |
---|
316 | - Fixes to comply with removal of STLInterface. |
---|
317 | |
---|
318 | o Persistency: |
---|
319 | ----------- |
---|
320 | - Fixes to comply with removal of STLInterface. |
---|
321 | - Fixed porting problems on gcc-2.95.2. |
---|
322 | |
---|
323 | o Run, Intercoms and Interfaces |
---|
324 | ----------------------------- |
---|
325 | - run: |
---|
326 | o Added new feature allowing to increase the number of waiting stacks. |
---|
327 | o Added Set/GetApplyCuts methods in G4VUserPhysicsList. |
---|
328 | o Added /run/particle/applyCuts command in G4UserPhysicsListMessenger. |
---|
329 | o Added GetVersionString() method to G4RunManager. |
---|
330 | o Added rndmSaveThisRun() and rndmSaveThisEvent() methods to G4RunManager. |
---|
331 | o Added /random/ commands to G4RunMessenger. |
---|
332 | o Fixed bugs in G4VUserPhysicsList. |
---|
333 | - intercoms: |
---|
334 | o Introduced feature for suppressing the program abortion due to |
---|
335 | G4Exception. |
---|
336 | o Introduced "Shell variables" for UI command handling. Added |
---|
337 | class G4UIaliasList. |
---|
338 | o Introduced loop execution of a macro file, recursive expansion of |
---|
339 | aliased variables, and some other new features in G4UImanager and |
---|
340 | related classes. |
---|
341 | New commands: /control/shell, /control/foreach, /control/loop, |
---|
342 | /control/createHTML. |
---|
343 | o Added G4VGraphicsScene::AddPrimitive(const G4Scale&). |
---|
344 | o Added G4VisManager::Draw(const G4Scale&,...). |
---|
345 | o Modified G4UIbatch to display (G4cerr) the error message. |
---|
346 | Comment lines are now displayed only for verbose level=2. |
---|
347 | o Included correction for string parameter starting with a space. |
---|
348 | o Fixed parsing of quoted (") tokens. |
---|
349 | o Fixed a problem for commands with doubled slash. |
---|
350 | - interfaces: |
---|
351 | o Re-engineered G4UI variables: |
---|
352 | changed GNUmakefile so that GAG, TERMINAL and TCSH built by default. |
---|
353 | Nothing built if G4UI_NONE is set. |
---|
354 | o G4VInteractorManager::RemoveDispatcher : change the remove logic in |
---|
355 | order to fix a disfunctionning with vis/OpenInventor driver. |
---|
356 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
357 | - Fixes to comply with removal of STLInterface. |
---|
358 | |
---|
359 | o Tracking & Track: |
---|
360 | ---------------- |
---|
361 | - track: |
---|
362 | o Fixed bug for velocity in method G4Step::UpdateTrack(). |
---|
363 | o Implemented assignment operator for G4ParticleChangeForRadDecay. |
---|
364 | o Fixed bug in assignment operator of G4Track. |
---|
365 | o Removed static inline methods to non inline. |
---|
366 | - tracking: |
---|
367 | o Added protection for tracks placed outside the world volume |
---|
368 | at the initial point. |
---|
369 | o Correction to the use the touchable Handle for secondary tracks, |
---|
370 | when it is available. Now the direction is used in locating a particle |
---|
371 | (primary or secondary) in SetInitialStep(). This is in order to assist |
---|
372 | in starting particles that are on/near-to boundaries in the correct |
---|
373 | volume. |
---|
374 | - Introduced changes for reference-counted touchables mechanism. |
---|
375 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
376 | - Fixes to comply with removal of STLInterface. |
---|
377 | |
---|
378 | o Transportation: |
---|
379 | -------------- |
---|
380 | - Motivated by the use case of an Electric Field, in order to achieve |
---|
381 | reasonable accuracy in time integration, and to enable fields that |
---|
382 | vary with the global time: |
---|
383 | o G4Transportation now try obtaining the delta_time from G4FieldTrack. |
---|
384 | - Introduced changes to G4Transportation for reference-counted touchables. |
---|
385 | Added methods GetFreeTouchable() and SetTheOtherTouchableFree(). |
---|
386 | - Added protection in G4Transportation::AlongStepGPIL for messaging |
---|
387 | "ResestStepEstimate" of G4ChordFinder for the case there is no global |
---|
388 | field. |
---|
389 | |
---|
390 | o Visualization: |
---|
391 | ------------- |
---|
392 | - Introduced new HepRep graphics driver. |
---|
393 | - Removed the need to specify environment variables for visualization |
---|
394 | drivers which do not need external packages or libraries. |
---|
395 | - Removed old-style commands. |
---|
396 | - Added commands: |
---|
397 | o /vis/scene/add/scale |
---|
398 | o /vis/viewer/flush = refresh + update. |
---|
399 | o /vis/viewer/set/upThetaPhi and upVector. |
---|
400 | o refresh|flush option to /vis/scene/notifyHandlers. |
---|
401 | - Moved /vis/viewer/lights and viewpoint to /vis/viewer/set. |
---|
402 | - Added G4ScaleModel. |
---|
403 | - Added G4VModel::SetExtent(const G4VisExtent&). |
---|
404 | - Added G4VisManager::Draw(const G4Scale&,...). |
---|
405 | - Added template graphics system XXX. |
---|
406 | - Re-implemented verbosity control. Output statements wherever possible |
---|
407 | are controlled by the verbosity in a simple graded message scheme. |
---|
408 | - Improved auto-refreshing. |
---|
409 | - Force rebuild of graphics "stores" (graphical databases) and, |
---|
410 | if auto-refresh is true, refresh of all views |
---|
411 | (/vis/scene/notifyHandlers) after an addition to scene. |
---|
412 | - Eliminated view parameters from G4VisManager. |
---|
413 | Paramenters can be copied from one view to another with: |
---|
414 | /vis/viewer/set/all |
---|
415 | - Updated G4RTJpegMaker for porting Windows systems. |
---|
416 | - OpenInventor : move HEPVis/SoWindow under vis/OpenInventor/G4SoWindow |
---|
417 | to prepare HEPVis/6.0. (HEPVis/SoWindow will disappear from HEPVis/6.0). |
---|
418 | - Fixed crash in optimised mode: added Initialise() to viewers so |
---|
419 | that windows are opened after viewers are fully constructed. |
---|
420 | - Corrected mistake which could cause crash if user specified a |
---|
421 | non-existent scene handler in /vis/sceneHandler/remove. |
---|
422 | - Fix for replica rotation matrix. It Fixes observed crashes in replica |
---|
423 | tracking with visualisation. |
---|
424 | - Fixed bug in G4VSceneHandler::AddPrimitive(const G4Scale&). |
---|
425 | - Fixed bug in G4VisManager::EndOfEvent. |
---|
426 | - Added README.quick, a quick installation guide. |
---|
427 | - Improved verbosity guidance and READMEs. |
---|
428 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
429 | - Fixes to comply with removal of STLInterface. |
---|
430 | |
---|
431 | o G4toG4 Tool: |
---|
432 | ----------- |
---|
433 | - Implemented reflection of CSG solids through G4ReflectionFactory |
---|
434 | class and G4ReflectedSolid. Added G3G4_NO_REFLECTION flag to exclude |
---|
435 | it if needed for cases not yet covered. |
---|
436 | - Added limited support for MANY volumes through adoption of boolean solids. |
---|
437 | - Changed G3Division::CreatePVReplica() to return a G4PhysicalVolumesPair. |
---|
438 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
439 | - Fixes to comply with removal of STLInterface. |
---|
440 | |
---|
441 | o Examples: |
---|
442 | -------- |
---|
443 | - Novice: |
---|
444 | o updated visualization macros. |
---|
445 | o updated vis-managers. |
---|
446 | - Extended: |
---|
447 | o new electromagnetic example "TestEm10" for exercising |
---|
448 | specific parameterisation models. |
---|
449 | o new examples for electro-magnetic field: field01, field02, field03. |
---|
450 | o updated vis-managers. |
---|
451 | - Advanced: |
---|
452 | o underground_physics: new example for simulation of an underground |
---|
453 | dark matter experiment. |
---|
454 | o xray_fluorescence: new simulation setup for the study the elemental |
---|
455 | composition of a planet through the measurement of the X-rays emitted. |
---|
456 | o new improved versions of existing advanced applications. |
---|
457 | - Cleared most compilation warnings on gcc-2.95.2 compiler. |
---|
458 | - Fixes to comply with removal of STLInterface. |
---|
459 | - Updated reference outputs. |
---|
460 | |
---|
461 | ---------------------------------------------------------------------------- |
---|
462 | |
---|
463 | Technical Notes |
---|
464 | --------------- |
---|
465 | |
---|
466 | o Geant4 4.0 is based on STL and can be installed with strict |
---|
467 | ISO/ANSI C++ compliant setup or not. See notes below. |
---|
468 | |
---|
469 | The code and some binary libraries are available through our "Source Code" |
---|
470 | Web page: |
---|
471 | - see our Geant4 Home Page (http://cern.ch/geant4). |
---|
472 | |
---|
473 | Please refer to the Geant4 User Documentation |
---|
474 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html) |
---|
475 | for further information about using Geant4. |
---|
476 | |
---|
477 | |
---|
478 | Contents |
---|
479 | -------- |
---|
480 | |
---|
481 | 1. Supported and Tested Platforms |
---|
482 | 2. ANAPHE and CLHEP |
---|
483 | 3. The Standard Template Library (STL) |
---|
484 | 4. Persistency |
---|
485 | 5. Compiler Specific Problems |
---|
486 | 6. Known Run-Time Problems |
---|
487 | 7. Compilation Warnings |
---|
488 | 8. Known Run-Time Warnings |
---|
489 | |
---|
490 | |
---|
491 | 1. Supported and Tested Platforms |
---|
492 | --------------------------------- |
---|
493 | |
---|
494 | o SUN Solaris 5.7, C++ 5.2 Patch 109508-03. |
---|
495 | o Linux, gcc 2.95.2, egcs-2.91.66 (egcs 1.1.2). |
---|
496 | This configuration was tested with the RedHat 6.1 distribution, but |
---|
497 | versions of Geant4 have also been compiled successfully on more recent |
---|
498 | RedHat, Debian and Suse distributions. |
---|
499 | o NT 4.0 (Service Pack 4) or Windows-2000 and Cygnus Tools b20 with: |
---|
500 | Visual C++ 6.0 Service Pack 5 |
---|
501 | |
---|
502 | Platforms also tested but giving rise to some problems - see below: |
---|
503 | |
---|
504 | o DEC V4.0, cxx C++ V6.1-027. |
---|
505 | |
---|
506 | Platforms configured but not tested and not supported: |
---|
507 | o HP 10.20, aCC C++ B3910B A.01.23 |
---|
508 | o SGI V6.5.5, CC 7.2.1 with ObjectSpace |
---|
509 | o AIX 4.3.2, xlC compiler with ObjectSpace |
---|
510 | |
---|
511 | |
---|
512 | 2. ANAPHE and CLHEP |
---|
513 | ------------------- |
---|
514 | |
---|
515 | Geant4 4.0 requires the installation of CLHEP. |
---|
516 | |
---|
517 | See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html). |
---|
518 | Tests have been performed with CLHEP 1.7.0.0. |
---|
519 | |
---|
520 | By default, the CLHEP installation scripts will activate ISO/ANSI C++ features |
---|
521 | if the compiler is capable. You need to explicitly disable CLHEP settings in |
---|
522 | case you wish non-ISO/ANSI setup on specific compilers. |
---|
523 | |
---|
524 | Geant4 4.0 coworks with ANAPHE 3.6.5 and components included therein: |
---|
525 | Objectivity 6.1.3 |
---|
526 | HepODBMS 0.3.3.1 |
---|
527 | CLHEP 1.7.0.0 |
---|
528 | |
---|
529 | For more information about ANAPHE, see: http://cern.ch/anaphe |
---|
530 | |
---|
531 | |
---|
532 | 3. The Standard Template Library |
---|
533 | -------------------------------- |
---|
534 | |
---|
535 | Native versions of STL have been tested on the following platforms: |
---|
536 | |
---|
537 | Windows/2000, Linux, DEC and SUN. |
---|
538 | |
---|
539 | NOTES: |
---|
540 | |
---|
541 | - Platform specific setup: |
---|
542 | o DEC: Native STL is required for ISO/ANSI setup. |
---|
543 | o SUN: Native STL is required for ISO/ANSI setup (CC 5.2 only). |
---|
544 | o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only). |
---|
545 | o W2000: Native STL and ISO/ANSI setup required (VC++ 6.0). |
---|
546 | |
---|
547 | |
---|
548 | 4. Persistency |
---|
549 | -------------- |
---|
550 | |
---|
551 | Platform |
---|
552 | -------- |
---|
553 | |
---|
554 | Persistency in Geant4 4.0 release is tested on the following |
---|
555 | platforms: |
---|
556 | |
---|
557 | G4SYSTEM OS C++ compiler HepODBMS Objectivity |
---|
558 | --------- ----------- ------------ --------- ----------- |
---|
559 | SUN-CC SunOS 5.7 CC 5.2 0.3.3.1 6.1.3 (*) |
---|
560 | Linux-g++ RedHat 6.1 gcc-2.95.2 0.3.3.1 6.1.3 (#) |
---|
561 | |
---|
562 | (*) HepODBMS header files must be prepared with "ooddlx -noline" |
---|
563 | option. See below. |
---|
564 | (#) See g4odbms_setup[.sh.csh] in example PersistentEx01 in |
---|
565 | 'geant4/examples/extended/persistency' for example setup scripts. |
---|
566 | |
---|
567 | Known Problems |
---|
568 | -------------- |
---|
569 | |
---|
570 | - There are several warning messages on some platforms during the |
---|
571 | installation of the libraries and the compilation of the examples. |
---|
572 | Most of them can be safely ignored. It is annoying but hard to get |
---|
573 | rid of them due to various reasons. |
---|
574 | |
---|
575 | - If you are using Solaris7 CC compiler 5.2 (SUN-CC) with the original |
---|
576 | release version, persistent header files has to be generated by |
---|
577 | ooddlx with "-noline" option due to a bug in C++ compiler. |
---|
578 | This workaround applies not only to Geant4 Persistency category but |
---|
579 | also to HepODBMS, and the user defined ddl files as well. |
---|
580 | This is the default for SUN-CC configuration for Geant4 GNUmakefiles. |
---|
581 | When this option is turned on, it removes the "#line" directive of |
---|
582 | the file name and the line number of the original .ddl file. As a |
---|
583 | consequences, C++ compiler no longer "tells" the correct file name |
---|
584 | and the line number of the .ddl file if compiler error occurs. When |
---|
585 | you design a persistent object with Geant4 GNUmakefiles and get the |
---|
586 | compiler errors, try to identify the problem by first looking into |
---|
587 | the header file generated by ooddlx, and then locate the source of |
---|
588 | the problem by looking into the .ddl file. |
---|
589 | A patch to the compiler is released from SUN, and you may remove this |
---|
590 | option by commenting out the line: |
---|
591 | |
---|
592 | G4DDLX_FLAGS += -noline |
---|
593 | |
---|
594 | in the file $G4INSTALL/config/sys/SUN-CC.gmk. |
---|
595 | |
---|
596 | You can check the SUN-CC patch by the following command: |
---|
597 | |
---|
598 | % what `which CC` | grep RELEASE |
---|
599 | |
---|
600 | |
---|
601 | 5. Compiler Specific Problems |
---|
602 | ----------------------------- |
---|
603 | |
---|
604 | o DEC V4.0, cxx C++ V6.1-027. |
---|
605 | |
---|
606 | - We have found cases of mis-compilation of min and max templates |
---|
607 | on DEC. We have traced those which cause serious malfunction |
---|
608 | but there is no guarantee that there are no other cases. |
---|
609 | Detailed inspection of assembler output suggests that this |
---|
610 | problem might not be confined to min and max. This has been |
---|
611 | reported to DEC/Compaq. We understand a new version 6.2 of the |
---|
612 | compiler is now available. However we cannot guarantee correct |
---|
613 | execution of Geant4 on DEC with the current version of the |
---|
614 | compiler. |
---|
615 | - A bug in cin.getline() system function causes an anomalous |
---|
616 | behavior when running in interactive-mode on DEC-cxx 6.1 in |
---|
617 | ISO/ANSI mode. We tested the bug has been fixed in more recent |
---|
618 | versions of the compiler. |
---|
619 | |
---|
620 | |
---|
621 | 6. Known Run-Time Problems and Limitations |
---|
622 | ------------------------------------------ |
---|
623 | |
---|
624 | For a complete list of outstanding run-time problems and to submit any |
---|
625 | problem you may find running this version of Geant4, please refer to the |
---|
626 | Geant4 Problem Reporting System, available on the Web at this address: |
---|
627 | |
---|
628 | http://cern.ch/geant4/problemreport |
---|
629 | |
---|
630 | |
---|
631 | 7. Compilation Warnings |
---|
632 | ----------------------- |
---|
633 | |
---|
634 | There are compilation warnings on some platforms. We do not believe |
---|
635 | that any will lead to incorrect run-time behaviour, but we are working |
---|
636 | on reducing them. |
---|
637 | |
---|
638 | |
---|
639 | 8. Known Run-Time Warnings |
---|
640 | -------------------------- |
---|
641 | |
---|
642 | The following messages can be written to error output while tracking. We |
---|
643 | believe none give rise to incorrect behaviour. |
---|
644 | |
---|
645 | o G4PropagateInField: Warning: Particle is looping |
---|
646 | - tracking in field will be stopped. |
---|
647 | It has performed 10000 steps in Field while a maximum of 10000 |
---|
648 | are allowed. |
---|