1 | |
---|
2 | Geant4 5.0 Release Notes |
---|
3 | ------------------------ |
---|
4 | |
---|
5 | 13th December 2002 |
---|
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 | |
---|
12 | o Configuration: |
---|
13 | ------------- |
---|
14 | - Specific setups: |
---|
15 | o Linux-g++.gmk: added assignment 'CC := gcc' for default 'cc' compiler. |
---|
16 | o SUN-CC.gmk: removed -L/usr/lib path specification from LOADLIBS |
---|
17 | definition. |
---|
18 | o AIX-xlC.gmk: updated for porting on AIX with xlC 6.0 (unsupported). |
---|
19 | o WIN32-g++.gmk: updated setup to compile with -ansi and gcc-2.95.3 |
---|
20 | for most recent versions of CygWin (unsupported). |
---|
21 | o Darwin-g++.gmk: updated setup to support MacOS 10.2 (unsupported). |
---|
22 | - liblist.c: |
---|
23 | o Enhanced script to provide the whole list of installed libraries |
---|
24 | in the correct order, without requiring parsing of dependencies. |
---|
25 | The functionality is achieved by invoking "liblist" with option '-m", |
---|
26 | i.e. - liblist -m [libpath] < libname.map |
---|
27 | where [libpath] is the path where libraries are placed |
---|
28 | (i.e. $G4LIB/$G4SYSTEM). |
---|
29 | - binmake.gmk: |
---|
30 | o Use "liblist -m [libpath]" to retrieve the list of libraries to link |
---|
31 | in case headers are installed in $G4INCLUDE, and granular libraries |
---|
32 | are used. |
---|
33 | - Adopt new dependency file algorithm to avoid leaving corrupt .d files |
---|
34 | when #include's cannot be found. |
---|
35 | - Removed ODBMS setup. Now library for persistency is built as part of the |
---|
36 | kernel and specific implementations for persistency have been moved to |
---|
37 | examples. Setup for ODBMS no more required. G4USE_HEPODBMS is no longer |
---|
38 | used. |
---|
39 | - Removed obsolete setup for ObjectSpace-STL (G4USE_OSPACE and related |
---|
40 | variables). Removed obsolete variable G4USE_STL. |
---|
41 | - Made compilation of g3tog4 module optional (only if G4USE_G3TOG4 is |
---|
42 | defined). The module is not built by default. |
---|
43 | |
---|
44 | o Digitization & Hits: |
---|
45 | ------------------- |
---|
46 | - Added classes for event scoring in module "detector": |
---|
47 | G4CellScoreComposer[.hh.cc], G4CellScoreValues.hh, |
---|
48 | G4CellStoreScorer[.hh.cc], G4TrackLogger[.hh.cc]. |
---|
49 | - Added methods to G4VHit: |
---|
50 | virtual const G4std::vector<G4AttDef>* GetAttDefs/Values() |
---|
51 | - Added GetHit() and GetSize() to G4VHitsCollection. |
---|
52 | - Fixed minor memory leak in G4SDManager. |
---|
53 | |
---|
54 | o Event: |
---|
55 | ----- |
---|
56 | - Added classes for scoring management: |
---|
57 | G4CellScorer[.hh.cc], G4CellScorerStore[.hh.cc], |
---|
58 | G4ScoreTable[.hh.cc], G4Scorer[.hh.cc]. |
---|
59 | - Introduced first implementation of HepMC interfaces (not functional |
---|
60 | yet on Windows platforms, pending HepMC support in CLHEP). |
---|
61 | - Critical bug fix in G4PrimaryParticle for initialisation of non |
---|
62 | charged particles. |
---|
63 | - G4Event: introduced 'EventAborted' flag. |
---|
64 | - Added protection against user's mis-use of destruction of |
---|
65 | G4TrajectoryContainer. |
---|
66 | - Fix memory leak caused by deleting stacked tracks. |
---|
67 | |
---|
68 | o Electromagnetic Processes (Low-energy): |
---|
69 | -------------------------------------- |
---|
70 | - Bug fix in delta-electron spectra. |
---|
71 | - Bug fix in simulation of EM processes in compounds. |
---|
72 | - Optimised loading of data in G4AugerData. |
---|
73 | - Fix in calculation of restricted energy loss of e-. |
---|
74 | - Fixed memory leak problem in G4AtomicTransition. |
---|
75 | - Bug fixes for ion ionisation, related to the interaction between |
---|
76 | energy loss and fluorescence. |
---|
77 | - Bug fix in G4BremsstrahlungParameters, to load EEDL correctly. |
---|
78 | Fixes problem report #430. |
---|
79 | - New model for angular distribution in Rayleigh. |
---|
80 | Fixes problem report #406. |
---|
81 | - Optimisation of tables in G4LowEnergyIonisation, G4eLowEnergyLoss, |
---|
82 | G4hLowEnergyLoss and G4hLowEnergyIonisation. |
---|
83 | |
---|
84 | o Electromagnetic Processes (Standard): |
---|
85 | ------------------------------------ |
---|
86 | - Introduced new prototype implementation of model-dependent processes: |
---|
87 | G4MuBremsstrahlungSTD, G4MuIonisationSTD, G4MuPairProductionSTD, |
---|
88 | G4eBremsstrahlungSTD, G4eIonisationSTD, G4hIonisationSTD. |
---|
89 | G4MultipleScatteringSTD, G4VEnergyLossSTD, G4EnergyLossMessengerSTD. |
---|
90 | - G4Scintillation: |
---|
91 | o now allowing for fast and slow components. Scintillation properties |
---|
92 | are stored with the material and retrieved with GetConstProperty(). |
---|
93 | o now allowing for particle dependent excitation levels. |
---|
94 | o using Poisson distribution (G4Poissin) for small MeanNumPhotons in |
---|
95 | a step. |
---|
96 | o using the nearest integer to calculate the number of photons in DoIt(). |
---|
97 | - G4MultipleScattering: |
---|
98 | o Bug fix in PostStepDoIt() for lateral displacement. |
---|
99 | o Corrected angle distribution and fixes in the boundary algorithm. |
---|
100 | This new parameterisation improves the ~100 MeV proton scattering. |
---|
101 | - G4eBremsstrahlung::BuiltLossTable(): fixed rare cases of division by 0. |
---|
102 | - GammaConversionToMuons: corrected syntax of OR conditions in DoIt(). |
---|
103 | - G4VEnergyLoss: fix for gaussian fluctuations sampling at very low energy. |
---|
104 | - Fixes in proton scattering and LossTableBuilder. |
---|
105 | - G4PAIonisation[.hh.icc.cc]: patched access to public static data. |
---|
106 | Added static accessor to be used in the kernel for inline functions |
---|
107 | to allow porting on Windows DLLs. |
---|
108 | |
---|
109 | o General Processes, Parameterisation, Decay, Optical: |
---|
110 | --------------------------------------------------- |
---|
111 | - Added new command /process/setVerbose for G4ProcessTableMessenger. |
---|
112 | - Fixed memory leak in G4ProcessTable::Insert(). |
---|
113 | - Optical processes: fixed calculation of polarization on dielectric |
---|
114 | dielectric interfaces. Fixes problem report #427. |
---|
115 | - Fast simulation management: |
---|
116 | o Added method to retrieve G4VFastSimulationModel by name |
---|
117 | G4GlobalFastSimulationManager::GetFastSimulationModel(). |
---|
118 | The method is matched also in G4FastSimulationManager. |
---|
119 | o Patched access to public static data in G4FastStep.cc and |
---|
120 | G4GlobalFastSimulationManager.cc to allow porting on Windows DLLs. |
---|
121 | |
---|
122 | o Geometry: |
---|
123 | -------- |
---|
124 | - Importance biasing |
---|
125 | o New design iteration for importance biasing and scoring and |
---|
126 | reorganisation of classes to proper modules (digits+hits/detector, |
---|
127 | event and processes/transportation). |
---|
128 | + no biasing is applied between cells that are not known by |
---|
129 | the G4IStore and its neighbors. |
---|
130 | + importance value 0 is allowed to flag that no biasing should |
---|
131 | be done betweeen the cell and its neighbors. |
---|
132 | + changed G4ParallelNavigator to use G4TouchableHanle and |
---|
133 | LocateGlobalPointAndSetup(). |
---|
134 | + renamed G4VPScorer to G4VScorer and G4PStep to G4GeometryCellStep |
---|
135 | + changes to handle 'pre' and 'post' importance in |
---|
136 | G4(V)ImportanceAlgorithm, G4ImportanceSplitExaminer and |
---|
137 | G4ImportanceFinder. |
---|
138 | + renamed G4PTouchableKey to G4GeometryCell. |
---|
139 | + removed G4VPrintableScorer.hh G4VPrintableScorerFactory.hh. |
---|
140 | + added G4VCellScorer.hh and G4VCellScorerStore.hh. |
---|
141 | - Management |
---|
142 | o Added checks for illegal geometry contructions for G4PVReplica and |
---|
143 | G4PVParameterised. Contructors now verify unicity of daughter volumes |
---|
144 | for replicas and parameterised volumes, as well as checks for attempt |
---|
145 | to replicate/parameterise the world volume. |
---|
146 | o Added pure virtual method StreamInfo() in G4VSolid to stream contents |
---|
147 | of a solid to a generic output stream. Interface change required for |
---|
148 | all derived concrete solids. |
---|
149 | Added method DumpInfo() using StreamInfo() to dump contents to the |
---|
150 | standard output. |
---|
151 | o G4AssemblyVolume: |
---|
152 | + Fixed bug #409 concerning missing imprint counter method. |
---|
153 | + Fixed bug #410 concerning the internal counting mechanism. |
---|
154 | Added accessor methods for retrieving the instance ID. |
---|
155 | o Added new method IsParameterised() for G4PVParameterised and |
---|
156 | G4PVPlacement, to enquire for existing parameterisation for a placed |
---|
157 | volume. |
---|
158 | o Added methods IsParameterised() and GetMultiplicity() for G4PVReplica |
---|
159 | and G4VPhysicalVolume to enquire for existing parameterisation of |
---|
160 | placed volume, and number of replicated volumes. |
---|
161 | o Fixed bug in G4GeometryManager for the initialisation of |
---|
162 | fine-grained timer for voxelisation statistics. |
---|
163 | o Correction in G4LogicalVolume to allow correct propagation of the |
---|
164 | Field Manager to the daughter volumes. Fixes bug report for field |
---|
165 | by logical volume. |
---|
166 | - Solids |
---|
167 | o Implemented mechanism for dumping contents of solids to streams. |
---|
168 | o G4Cons: bug fixed in DistanceToIn(p,v) concerning z-crossing at |
---|
169 | the edge with Rmin,Rmax. |
---|
170 | o Boolean solids: |
---|
171 | + Added method CleanTransformations() to G4DisplacedSolid and |
---|
172 | corrected implementation in destructor of G4BooleanSolid not to |
---|
173 | call for deletion of G4VSolid in the case where displacement is used. |
---|
174 | Fixes a problem noticed on Linux-g++ at application closeout for |
---|
175 | double deletion of a solid in such special case. |
---|
176 | o BREPS solids: |
---|
177 | + Fix in G4BREPSolidPCone in construction for creation of |
---|
178 | begin & end planar surfaces in the case where |
---|
179 | [RMIN[0] == 0.0 && RMAX[0] > 0.0] and/or |
---|
180 | [RMIN[sections] == 0.0 && RMAX[sections] > 0.0]. |
---|
181 | Fixes problem report #419. |
---|
182 | + G4Ray, G4Surface: made static inline methods not inlined |
---|
183 | to allow porting on Windows DLLs. |
---|
184 | o Specific solids: fixed un-initialised data members in constructors |
---|
185 | of classes: G4ClippablePolygon, G4EnclosingCylinder, G4PolyconeSide, |
---|
186 | G4ReduciblePolygon, G4VCSGfaceted. |
---|
187 | o STEPinterface: made all static inline methods not inlined, |
---|
188 | to allow porting on Windows DLLs. |
---|
189 | o Some general cleanup. |
---|
190 | - Verification |
---|
191 | o G4GeomTestVolume: fixed recursive call to G4GeomTestVolume to |
---|
192 | consider also 'tolerance' as argument in the recursive test algorithm. |
---|
193 | - Volumes |
---|
194 | o Introduced abstract class G4VCurvedTrajectoryFilter, and created |
---|
195 | class G4IdentityTrajectoryFilter, concrete filter for trajectory |
---|
196 | points. |
---|
197 | o Code cleanup and cosmetics for most classes. |
---|
198 | o G4PropagatorInField: |
---|
199 | + Fix in ComputeStep() to correctly handle cases when tracks |
---|
200 | get killed. |
---|
201 | + Introduced memory of Charge Mass and Momentum in order for it to |
---|
202 | message the correct ChordFinder at each step. Fixes problem observed |
---|
203 | when multiple field managers are used. |
---|
204 | + Removed not-implemented constructor taking G4Navigator* as argument. |
---|
205 | + Get rid of static const data for default 'epsilonStep' size. |
---|
206 | + Initialised all data members in constructor! |
---|
207 | o G4BlockingList.cc: fixed initialisation of fBlockTagNo. |
---|
208 | Fixes warnings reported by Valgrind to G4BlockingList, |
---|
209 | G4VoxelNavigation and G4ParameterisedNavigation. |
---|
210 | o Formatting cleanup in source implementation files. |
---|
211 | |
---|
212 | o Global: |
---|
213 | ------ |
---|
214 | - Introduced new G4Exception scheme based on severity level. |
---|
215 | Added enumeration G4ExceptionSeverity. |
---|
216 | o Modified : G4VStateDependent[.hh.cc], G4Exception.cc, |
---|
217 | G4StateManager.hh and globals.hh |
---|
218 | - Migration to new G4ApplicationState, prepending "G4State_" to each |
---|
219 | application state ID. |
---|
220 | - G4Allocator: moved page size to become data-member of G4Allocator. |
---|
221 | 'fPageSize' is now computed according to the size of the object |
---|
222 | to be allocated. The default size is 1024 bytes for objects whose |
---|
223 | size is less than 512 bytes, 10 times the size of the object otherwise. |
---|
224 | - G4UnitsTable: made GetUnitsTable() static method not inlined. |
---|
225 | - G4Integrator: plugged minor memory leak and fixed uninitialised values. |
---|
226 | |
---|
227 | o Graphical representations: |
---|
228 | ------------------------- |
---|
229 | - Introduced classes G4AttDef, G4AttDefStore and G4AttValue. |
---|
230 | - Added const G4std::vector<G4AttValue>* fAttValues/Defs to |
---|
231 | G4VisAttributes. |
---|
232 | - HepPolyhedron: |
---|
233 | o added methods createTwistedTrap() and createPolyhedron(). |
---|
234 | o minor bug fix in method GetFacet(). |
---|
235 | o changed inline static methods to not inlined. |
---|
236 | - Small revison of G4Scale and improvements in G4VMarker class description. |
---|
237 | - G4Colour class description corrected. |
---|
238 | - Patched access to public static data in G4Scale and G4VisAttributes. |
---|
239 | Added static accessors to be used in the kernel to allow porting on |
---|
240 | Windows DLLs. |
---|
241 | |
---|
242 | o Hadronic Processes: |
---|
243 | ------------------ |
---|
244 | - cross_sections |
---|
245 | + added protection for low nuclear mass limit in high precision classes |
---|
246 | for neutron and proton nuclear scattering |
---|
247 | + added protection in electro-nuclear scattering (solves the problem |
---|
248 | seen in CMS, linear collider, and electron beam-dump studies) |
---|
249 | + added alternative description of pion nuclear reactions cross-sections |
---|
250 | (G4PiNuclearCrossSection), affecting in particular the absorption |
---|
251 | dominated (T<500MeV) region. |
---|
252 | - management |
---|
253 | + changed the memory management policy for model classes |
---|
254 | (G4HadronicInteraction derived), so they get deleted exactly once, |
---|
255 | no matter what the physics list looks like. |
---|
256 | - processes |
---|
257 | + corrected documentation for electro and gamma nuclear process classes. |
---|
258 | - stopping |
---|
259 | + fixed light material problem and neutrino-flavour problem in |
---|
260 | muon-nuclear scatterering |
---|
261 | - util |
---|
262 | + enabled tracing of originator model (in development mode) for more |
---|
263 | detailed verfication |
---|
264 | + more work on energy conservation for low energy models in the case |
---|
265 | of annihilation events, charge exchange reactions, and strangeness |
---|
266 | production. |
---|
267 | - models/cascade |
---|
268 | + first release of the cascade part of the HETC re-write |
---|
269 | - models/chiral_inv_phase_space |
---|
270 | + bug fixes, and revised rho width. |
---|
271 | - models/coherent_elastic |
---|
272 | + removed some conservative programming in favour of performance. |
---|
273 | - models/high_energy |
---|
274 | + fixed known bug in the Cross method, and energy non-conservation |
---|
275 | problems in cases of strangeness production and anti-particle |
---|
276 | reactions |
---|
277 | - models/leading_particle |
---|
278 | + extended neutron spectrum to reach below 1 MeV |
---|
279 | - models/low_energy |
---|
280 | + improved treatement of the K0 system. |
---|
281 | + removed long-standing (small) memory leak in light ion reactions |
---|
282 | + improved treatement of pion absorption at lowest energies |
---|
283 | - models/neutron_hp |
---|
284 | + added description of inelastic channel in case no energy distributions |
---|
285 | are given, and there are exactely two secondaries |
---|
286 | Fixes a problem seen in neutron scattering off iron |
---|
287 | + added protection a case where cross-sections went negative in |
---|
288 | non-linear interpolation mode |
---|
289 | + added an exception in case heavy elements with no data provided are |
---|
290 | searched for |
---|
291 | - models/de_excitation |
---|
292 | + new feature: internal conversion now available |
---|
293 | + fixes for integration problem in multi-fragmentation and random |
---|
294 | numbers generation |
---|
295 | - models/radiative_decay |
---|
296 | + now also using internal conversion |
---|
297 | - models/high_energy |
---|
298 | + cleared compilation warnings |
---|
299 | - models/kinetic_model |
---|
300 | + first release of the binary-cascade model |
---|
301 | - models/management |
---|
302 | + added coulomb barrier information to nucleus interface |
---|
303 | - models/pre_equilibrium |
---|
304 | + enabled source tracing in developer mode |
---|
305 | + fixed rare integration problem in the probability distribution |
---|
306 | function for ion emission |
---|
307 | - models/quark_gluon_string |
---|
308 | + added developer mode |
---|
309 | - models/scattering |
---|
310 | + First release of the generic scattering term, currently used by |
---|
311 | binary cascade. |
---|
312 | - models/string_fragmentation |
---|
313 | + removed some conservative programming |
---|
314 | - models/util |
---|
315 | + added coulomb barrier to nucleus' public interface |
---|
316 | + kinetic track now decay in cascade type codes with correct life-time |
---|
317 | + track 4-momentum can now be updated by specifying new energy |
---|
318 | - New data required for photon-evaporation and radioactive decay databases. |
---|
319 | - High precision neutron code will work with G4NDL0.2 through G4NDL3.7. |
---|
320 | |
---|
321 | |
---|
322 | o Magnetic Field: |
---|
323 | -------------- |
---|
324 | - G4FieldManager: |
---|
325 | o made 'fDefault_Delta_One_Step_Value' and |
---|
326 | 'fDefault_Delta_Intersection_Val' non static constants to resolve |
---|
327 | initialisation problems. Fixes problem report #383. |
---|
328 | - G4ChordFinder: |
---|
329 | o fixed case of stepTrial >> stepTrialOld, for large multiple. |
---|
330 | o added guard for null stepTrial in FindNextChord(). |
---|
331 | o correction from zero dChord in case of not-updated 'Unconstrained' |
---|
332 | step estimate (state). |
---|
333 | o Added instance variables to store number of calls and chord-trials. |
---|
334 | - G4EquationOfMotion: |
---|
335 | o made RightHandSide() inlined. |
---|
336 | o changed signature of Point in GetFieldValue(), now double[4]. |
---|
337 | - Protection against division by 0 in |
---|
338 | G4MagIntegratorDriver::ComputeNewStepSize. |
---|
339 | - Fixes for unitialised variables in G4MagIntegratorStepper, |
---|
340 | G4FieldTrack, G4MagErrorStepper, G4Mag_SpinEqRhs, G4ExplicitEuler, |
---|
341 | and G4ImplicitEuler |
---|
342 | - Fixed memory leaks in G4ImplicitEuler and ExplicitEuler. |
---|
343 | |
---|
344 | o Materials: |
---|
345 | --------- |
---|
346 | - G4Material: removed constructors with chemical formula. |
---|
347 | - Added constant material properties to G4MaterialPropertiesTable. |
---|
348 | - G4IonisParamElm: fix in excitation energy interpolation. |
---|
349 | - G4IonisParamMat: added methods to Set/Find the mean excitation energy. |
---|
350 | |
---|
351 | o Particles: |
---|
352 | --------- |
---|
353 | - Updated mass width for resonance particles. |
---|
354 | - Fixed PDG codes for k0_star(1430), a0(1450) and f0(1370). |
---|
355 | - Made static inline method G4VDecayChannel::GetNoName() not inlined |
---|
356 | for porting on Windows DLLs. |
---|
357 | |
---|
358 | o Persistency: |
---|
359 | ----------- |
---|
360 | - Implementation of abstract layer for persistency. Removed ODBMS |
---|
361 | specific implementation and setup. Now persistency library is part of |
---|
362 | the Geant4 kernel (see documentation on user manuals for details) |
---|
363 | o HepMC is not currently supported by CLHEP on Windows, so HepMC |
---|
364 | persistency is temporarly excluded from compilation on Windows. |
---|
365 | |
---|
366 | o Run, Intercoms and Interfaces |
---|
367 | ----------------------------- |
---|
368 | - G4RunManager, G4RunMessenger: |
---|
369 | o Introduced "soft abortion", to allow event loop to abort after |
---|
370 | processing the current event. G4RunManager sets "eventAbortion" |
---|
371 | flag of G4Event if that particular event is aborted. |
---|
372 | o Introduced AbortEvent() method and corresponding UI command. |
---|
373 | - Introduced new G4Exception scheme: added G4ExceptionHandler class. |
---|
374 | - G4RunManager: introduced ResetNavigator() method needed in cases |
---|
375 | where a geometry has been modified between runs in order to properly |
---|
376 | re-initialize navigator's state. |
---|
377 | - Added two new pure virtual functions to G4VGraphicsScene: |
---|
378 | void AddThis(const G4VTrajectory&) |
---|
379 | void AddThis(const G4VHit&) |
---|
380 | - Fixed uninitialized data member and minor memory leak in G4UIcommand. |
---|
381 | - Fixed G4UIArrayStrings to work for "konsole" type termcap. |
---|
382 | - Patched access to public static data in G4VGlobalFastSimulationManager |
---|
383 | and G4VVisManager. Added static accessors to be used in the kernel to |
---|
384 | allow porting on Windows DLLs. |
---|
385 | |
---|
386 | o Tracking & Track: |
---|
387 | ---------------- |
---|
388 | - Extensions of G4VTrajectory and introduction of curved trajectories |
---|
389 | o Added classes G4SmoothTrajectory and G4SmoothTrajectoryPoint. |
---|
390 | o Implemented default Show/DrawTrajectory() in G4VTrajectory. |
---|
391 | - G4SteppingManager: |
---|
392 | o implemented new ForceCondition flag StronglyForced. |
---|
393 | o fixed problem observed with optical processes. |
---|
394 | - G4TrackingManager |
---|
395 | o Re-implemented EventAborted() method to ensure this command |
---|
396 | works properly during stepping phase. |
---|
397 | o Set fpTrajectory pointer to zero when the trajectory is deleted. |
---|
398 | - Added accessors to auxiliary point vector, in both G4Step and |
---|
399 | G4ParticleChangeForTransport. |
---|
400 | - Set 'fUndefined' for the StepStatus in G4PostStepPoint. |
---|
401 | - Fixed initialisation of 'fCharge' in G4StepPoint constructor. |
---|
402 | - Patched access to public static data in G4VParticleChange. |
---|
403 | Added accessors to be used in the kernel to allow porting on |
---|
404 | Windows DLLs. |
---|
405 | |
---|
406 | o Transportation: |
---|
407 | -------------- |
---|
408 | - G4Transportation: enable use of smooth (curved) trajectories. |
---|
409 | - Design iteration for standard scoring and class reorganisation |
---|
410 | o changed sampler concept: instead of separate samplers for |
---|
411 | all combinations of importance sampling, scoring, weight roulette |
---|
412 | for parallel and mass geometry, two samplers now are used |
---|
413 | for the mass and parallel geometry: G4MassGeometrySampler |
---|
414 | and G4ParallelGeometrySampler. |
---|
415 | o bug fixes in G4MassGeometrySampler, G4ParallelGeometrySampler, |
---|
416 | and G4MassGeometry. |
---|
417 | o moved G4CellStoreScorer, G4TrackLogger to digits+hits/detector. |
---|
418 | |
---|
419 | o Visualization: |
---|
420 | ------------- |
---|
421 | - New implementation of HepRep driver (version 2). |
---|
422 | - Precision control of g4_XX.prim files are now generated by the |
---|
423 | DAWNFILE/DAWN-Network drivers, by use of a new variable for tuning |
---|
424 | precision G4DAWNFILE_PRECISION. Default precision is now set to |
---|
425 | 9 digits. |
---|
426 | - Fix (removal) of ambiguous G4VVisCommand::GetNewDoubleValue(). |
---|
427 | - Added /vis/viewer/set/globalMarkerScale. |
---|
428 | - Improved algorithm of CompareForKernelVisit on OpenGL and OpenInventor. |
---|
429 | - OpenGL driver: fixes for WIN32 architecture at compilation level. |
---|
430 | Viewer still to be implemented. |
---|
431 | - Patched access to static data in G4VisCommandsSceneAdd.cc, |
---|
432 | G4VisManager.cc and G4FlavoredParallelWorldModel.cc to allow porting |
---|
433 | on Windows DLLs. |
---|
434 | - Corrected inclusion of G4OpenGLXViewer #ifdef X_DRIVER for Windows |
---|
435 | and other small changes in OpenGL. |
---|
436 | - Added integer argument to /vis/scene/add/trajectories [drawing-mode]. |
---|
437 | drawing-mode is passed to DrawTrajectory. |
---|
438 | - Fixed bug in G4VisManager wich lead to zero G4VModel pointer. |
---|
439 | - Improved handling of models. |
---|
440 | - Fixed division-by-zero cases in G4RayTracer. |
---|
441 | - VRML driver: bug fix for marker size. |
---|
442 | - Improved end of run behaviour for non-post-processing graphics systems. |
---|
443 | |
---|
444 | o g3tog4 tool: |
---|
445 | ----------- |
---|
446 | - Fix in G4gsdvn G4gsposp to enable larger number of clone volumes |
---|
447 | - Fix for division defined in a mother with not yet defined parameters. |
---|
448 | |
---|
449 | o data |
---|
450 | ---- |
---|
451 | - Updated data-sets for: |
---|
452 | o PhotonEvaporation: data-base now includes internal conversion |
---|
453 | coefficients. |
---|
454 | o RadiativeDecay. |
---|
455 | |
---|
456 | o Examples: |
---|
457 | -------- |
---|
458 | - advanced: |
---|
459 | + Migration of most examples to use AIDA 3.X for histogramming. |
---|
460 | + Added "composite_calorimeter" example based on CMS test-beam setup. |
---|
461 | + Added "lAr_calorimeter" example based on ATLAS lAr-calorimeter |
---|
462 | test-beam setup. |
---|
463 | + underground_physics: |
---|
464 | o Updates to cope with new interface for G4scintillation process. |
---|
465 | o Updated geometry for better comparison with data. Corrected |
---|
466 | overlapping volumes and inefficient physics list. |
---|
467 | - extended |
---|
468 | o analysis |
---|
469 | + added "A01" example for usage of analysis and HepRep. |
---|
470 | o biasing |
---|
471 | + reduced examples to three: |
---|
472 | B01 - importance sampling and scoring. Importance values are |
---|
473 | defined according to the mass geometry. Scoring performed. |
---|
474 | B02 - uses a parallel geometry to define G4GeometryCell objects |
---|
475 | for scoring and importance sampling. In addition it customizes |
---|
476 | the scoring. In this example one scorer creates a histogram. |
---|
477 | It can be run through a Python script. |
---|
478 | B03 - importance sampling and scoring interactively through Python. |
---|
479 | o electromagnetic: |
---|
480 | + migrated histogramming to AIDA 3.X. |
---|
481 | + fixes to allow compilation in gcc-3.2 (TestEm1, TestEm2, TestEm3). |
---|
482 | o eventGenerator |
---|
483 | + enhanced interface to HepMC to use CLHEP module. |
---|
484 | o gdml: |
---|
485 | + fixed warnings on SUN and SUN linker problem. |
---|
486 | o persistency |
---|
487 | + introduced example (PersEx01) for persistency of calorimeter hits |
---|
488 | using ROOT-I/O. |
---|
489 | + removed old ODBMS-based examples. |
---|
490 | - novice |
---|
491 | o N06: updates according to new interface for G4Scintillation process. |
---|
492 | |
---|
493 | ---------------------------------------------------------------------------- |
---|
494 | |
---|
495 | Technical Notes |
---|
496 | --------------- |
---|
497 | |
---|
498 | The code and some binary libraries are available through our "Source Code" |
---|
499 | Web page: |
---|
500 | - see our Geant4 Home Page (http://cern.ch/geant4). |
---|
501 | |
---|
502 | Please refer to the Geant4 User Documentation |
---|
503 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html) |
---|
504 | for further information about using Geant4. |
---|
505 | |
---|
506 | |
---|
507 | Contents |
---|
508 | -------- |
---|
509 | |
---|
510 | 1. Supported and Tested Platforms |
---|
511 | 2. AIDA and CLHEP |
---|
512 | 3. The Standard Template Library (STL) |
---|
513 | 4. Compiler Specific Problems |
---|
514 | 5. Known Run-Time Problems |
---|
515 | 6. Compilation Warnings |
---|
516 | 7. Known Run-Time Warnings |
---|
517 | 8. Items for migration of user code |
---|
518 | |
---|
519 | 1. Supported and Tested Platforms |
---|
520 | --------------------------------- |
---|
521 | |
---|
522 | o SUN Solaris 5.8, C++ 5.3 Patch 111685-07, C++ 5.4 Patch 111715-02. |
---|
523 | o Linux, gcc 2.95.2, gcc 3.2. |
---|
524 | This configuration was tested with the RedHat 7.2 and 7.3 distributions, |
---|
525 | versions of Geant4 have also been compiled successfully on other Linux |
---|
526 | distributions, like Debian or Suse. |
---|
527 | The default RedHat compiler gcc-2.96 ditributed in RedHat 7.X is NOT |
---|
528 | supported. It has been verified that it produces incorrect binaries, |
---|
529 | therefore is not reliable. See also note below. |
---|
530 | o Windows-2000/XP and CygWin Tools with: Visual C++ 6.0 Service Pack 5 |
---|
531 | |
---|
532 | Platforms configured but not tested and not supported: |
---|
533 | o DEC V4.0, cxx C++ V6.1-027 |
---|
534 | o HP 10.20, aCC C++ B3910B A.01.23 |
---|
535 | o SGI V6.5.5, CC 7.2.1 |
---|
536 | o AIX 4.3.2, xlC 6.0 |
---|
537 | o MacOS 10.2, gcc 2.92.2 / gcc-3.2 |
---|
538 | |
---|
539 | 2. AIDA and CLHEP |
---|
540 | ----------------- |
---|
541 | |
---|
542 | Geant4 5.0 requires the installation of CLHEP. |
---|
543 | |
---|
544 | See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html). |
---|
545 | Tests have been performed with CLHEP 1.8.0.0. |
---|
546 | |
---|
547 | Geant4 5.0 examples with histogramming cowork with AIDA 3.0 implementations. |
---|
548 | These include: |
---|
549 | - ANAPHE and components included therein |
---|
550 | (see: http://cern.ch/anaphe) |
---|
551 | - JAS (Java Analysis Studio) |
---|
552 | (see: http://jas.freehep.org) |
---|
553 | - Open Scientist |
---|
554 | (see: http://www.lal.in2p3.fr/OpenScientist) |
---|
555 | |
---|
556 | AIDA headers can be downloaded from: http://aida.freehep.org |
---|
557 | |
---|
558 | |
---|
559 | 3. The Standard Template Library |
---|
560 | -------------------------------- |
---|
561 | |
---|
562 | Native versions of STL have been tested on the following platforms: |
---|
563 | |
---|
564 | Windows/2000, Linux, and SUN. |
---|
565 | |
---|
566 | NOTES: |
---|
567 | |
---|
568 | - Platform specific setup: |
---|
569 | o SUN: Native STL is required for ISO/ANSI setup. |
---|
570 | o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only). |
---|
571 | o Windows: Native STL and ISO/ANSI setup required (VC++ 6.0). |
---|
572 | |
---|
573 | |
---|
574 | 4. Compiler Specific Problems |
---|
575 | ----------------------------- |
---|
576 | |
---|
577 | o Linux Red Hat 7.X, gcc-2.96. |
---|
578 | |
---|
579 | - The default compiler distributed by Red Hat since release 7.0 is |
---|
580 | NOT supported and not considered reliable for running a Geant4-based |
---|
581 | application. In more than one test case, binaries produced by gcc-2.96 |
---|
582 | have shown incorrect behavior, either due to wrong order of |
---|
583 | initialisation of static data in memory or to bugs in the system |
---|
584 | iostream classes, problems which apparently have all been solved in |
---|
585 | more recent versions of the compiler (3.X series). |
---|
586 | For information, gcc-2.96 is a compiler that has never been |
---|
587 | officially released, nor supported by the GNU team itself and is not |
---|
588 | considered reliable by the authors (for more information, see also |
---|
589 | http://gcc.gnu.org/gcc-2.96.html). |
---|
590 | |
---|
591 | |
---|
592 | 5. Known Run-Time Problems and Limitations |
---|
593 | ------------------------------------------ |
---|
594 | |
---|
595 | For a complete list of outstanding run-time problems and to submit any |
---|
596 | problem you may find running this version of Geant4, please refer to the |
---|
597 | Geant4 Problem Reporting System, available on the Web at this address: |
---|
598 | |
---|
599 | http://cern.ch/geant4/problemreport |
---|
600 | |
---|
601 | |
---|
602 | 6. Compilation Warnings |
---|
603 | ----------------------- |
---|
604 | |
---|
605 | There are compilation warnings on some platforms. We do not believe |
---|
606 | that any will lead to incorrect run-time behaviour, but we are working |
---|
607 | on reducing them. |
---|
608 | |
---|
609 | |
---|
610 | 7. Known Run-Time Warnings |
---|
611 | -------------------------- |
---|
612 | |
---|
613 | The following messages can be written to error output while tracking. |
---|
614 | We believe none give rise to incorrect behaviour. |
---|
615 | |
---|
616 | o G4PropagateInField: Warning: Particle is looping |
---|
617 | - tracking in field will be stopped. |
---|
618 | It has performed 10000 steps in Field while a maximum of 10000 |
---|
619 | are allowed. |
---|
620 | |
---|
621 | |
---|
622 | 8. Items for migration of user code |
---|
623 | ----------------------------------- |
---|
624 | |
---|
625 | o Compilation/installation of the 'g3tog4' module is now -optional- in |
---|
626 | release 5.0 and can be triggered only if G4USE_G3TOG4 is set during |
---|
627 | installation. |
---|
628 | o The new data sets for photon-evaporation and radioactive-decay are |
---|
629 | required, old data-sets are not compatible with this release. |
---|
630 | o Definition of the state IDs in G4ApplicationState have changed to |
---|
631 | prepend the "G4State_" prefix to the original state ID (i.e. "Idle" |
---|
632 | becomes "G4State_Idle", "Init" becomes "G4State_Init", and so on...). |
---|
633 | The user code (particularly, user defined messengers defining state |
---|
634 | dependent commands) will need to migrate to this new convention. |
---|
635 | o The interface for usage of the scintillation process has changed. |
---|
636 | Refer to the user's manual to learn about how to migrate the user code |
---|
637 | to use the new interface. |
---|
638 | o Interfaces for importance biasing and scoring have substantially changed |
---|
639 | and migration of the user code using these classes is required. Refer to |
---|
640 | the user's manual to learn about how to migrate the user code |
---|
641 | to use the new interfaces. |
---|
642 | o User defined solids will need to implement a new method: |
---|
643 | std::ostream& StreamInfo(std::ostream& os) const |
---|
644 | to dump solid's contents to an output stream. |
---|
645 | The method is now pure virtual in the base class G4VSolid. |
---|
646 | o The base class G4VTrajectory has been enhanced and new pure virtual |
---|
647 | functions have been introduced in G4VGraphicsScene: |
---|
648 | void AddThis(const G4VTrajectory&) |
---|
649 | void AddThis(const G4VHit&) |
---|
650 | User inherited classes require concrete implementations of the methods |
---|
651 | above, as well. |
---|