Files
geant4/ReleaseNotes/Patch4.9.3-2.txt
2016-06-09 16:25:56 +02:00

278 lines
13 KiB
Plaintext

Geant4 9.3 - patch-02 Release Notes
-----------------------------------
17 September 2010
List of fixes included in this public patch since the public release 9.3.p01:
o Configuration:
-------------
+ Configure script:
o Updated internal scripts for Configure: protected echos on
LD_LIBRARY_PATH so that output from use of Configure post-install
is clean. Also addressing problem report #1139.
o Fixed selection of XERCESCROOT path for Windows.
o Added quoting of uname in Qt.U to prevent Power Mac problems.
o Added removal of quotes from make version string to handle non-English
language systems.
+ Simplified QTLIBPATH setup in Linux-g++.gmk.
+ Increased stack size on WIN32-VC setup (i.e. 8MB as on Linux), adding
the option to LDFLAGS.
o Digits+Hits:
-----------
+ Added missing virtual destructor to G4VScoringMesh and removed
unnecessary virtual qualifiers to G4ScoringBox.
o Event:
-----
+ Improved logic in G4PrimaryTransformer. Addressing problem report #1101.
+ Fixed compilation warning in G4SmartTrackStack issued with gcc 4.5.0.
+ Removed obsolete CLHEP_HepMC option from G4EventManager class.
+ Fixed electron mass correction for ions in G4PrimaryTransformer.
o Geometry:
--------
+ biasing:
o G4IStore: corrected use of internal cell-importance iterator to avoid
invalidation in methods GetImportance().
o Corrected mispelled name for GetLowerWeight() method in classes
G4WeightWindowStore and G4VWeightWindowStore. Fixed use of internal
cell-importance iterator in G4WeightWindowStore::GetLowerWeight() to
avoid cases of invalidation.
o Fixed initialization of data in copy-constructor for G4GeometryCell.
+ divisions:
o Improved logic in G4PVDivision constructors and in method
G4PVDivisionFactory::CreatePVDivision() in case of invalid construct.
o Properly initialise Boolean flag 'bDivInTrap' in G4VParameterisationTrd
constructor.
o G4ParameterisationTrd: disabled unreachable error message in method
G4ParameterisationTrdX::CheckParametersValidity().
o Removed uninitialised member in G4ParameterisationTrdX and correction
in method ComputeSolid().
o Get rid of unnecessary virtual specification for leaf classes in the
hierarchy.
+ magneticfield:
o Fixed cases of possible memory corruption in G4RKG3_Stepper.
o Fixed case of unused array data member in G4ExactHelixStepper.
o Removed useless code never executed in G4ConstRK4::Stepper().
o Fixed initialization in constructor and fixed passing of time in
G4NystromRK4.
o Added dummy initialization of data members in constructors.
+ management:
o Fixed compilation errors for code within G4GEOMETRY_VOXELDEBUG flag
in G4GeometryManager and G4SmartVoxelHeader.
o Added printout of voxel limits in G4SmartVoxelHeader::Buildnodes().
o G4LogicalSurface: made virtual destructor and constructors not inline.
o G4SmartVoxelHeader: fixed potential case of invalid iterator in
deletion of test slices in BuildVoxelsWithinLimits().
o G4GeometryManager: restore cout precision after printing voxel
statistics.
o Added dummy initialization of data members in constructors.
+ navigation:
o Fix in G4GeomTestSegment::FindSomePoints(), to address problem
report #980.
o Fixed array out of bound error in G4MultipleNavigator and G4PathFinder
constructors.
o Fixed cout precision restoring where applicable.
o Replaced use of DBL_MAX for distances with kInfinity in
G4MultiNavigator and G4Navigator internals.
o Added dummy initialisation of data members in constructors.
+ solids/BREPS:
o Fixed possible leaks in G4BREPSolid::IsConvex() method,
G4ToroidalSurface destructor, G4BezierSurface::ClipSurface() method
and G4OsloMatrix construction.
o Corrected possible dereferencing of null pointer in method
G4BREPSolidSphere::DistanceToOut().
o Corrected deletion of internal data in G4BSplineCurve::Project() method.
o G4Assembly: corrected case of invalid iterator in destructor.
o G4Hyperbola: corrected signature to internal Init() function to avoid
parameter passed by value.
o G4BSplineCurve: corrected initialization of null pointer in Project().
o G4CompositeCurve, G4SurfaceBoundary: corrected cases of invalid
iterator.
o Some code cleanup in G4ConicalSurface, GCylindricalSurface and
G4SpericalSurface.
o Added dummy initialisation of static data where applicable.
+ solids/CSG:
o G4Torus: fix in DistanceToOut(p,v,...) to address problem report #1081.
Fixed call to internal method for finding roots, to avoid copy
of sdt::vector() by parameters. Some cleanup to avoid unnecessary
protected section and virtual table.
o Fixed condition in G4Tubs::Inside(p) for point on surface.
o Corrected use of std::fabs() in place of std::abs() in G4Tubs, G4Cons,
G4Sphere and G4Torus. Use pre-computed half-tolerance constants in
G4Torus.
o Improved initialisation logic in several constructors.
o Corrected cases of not-restored cout precision where applicable.
+ solids/specific:
o Fix in G4TriangularFacet and G4TessellatedSolid to correct treatment
of optical photon transport related to internal reflection at surface.
Addresses problem report #1103.
o G4ExtrudedSolid: eliminated requirement for clockwise ordering of
polygon vertices. Added a check for vertices ordering; if vertices
are defined anti-clockwise their ordering is reverted.
Fix in polygon facet triangularization for consequent concave vertices.
o Fixed deletion of internal arrays in CreatePolyhedron() for G4Polycone
and G4Polyhedra.
o G4EllipticalTube: extended implementation of SurfaceNormal(p) in
agreement with canonical form.
o Fixed cases of division by zero in G4VTwistSurface and G4TwistBoxSide.
o Use INT_MAX as initialisation for max limits in G4SolidExtentList.
o Fixed potential case of dereferencing null pointer in methods
G4EllipticalTube::DistanceToOut(p,v), G4VCSGfaceted::DistanceToIn(p,v)
and G4VCSGfaceted::DistanceToOut(p,v).
o Fixed unecessary object copy as argument in method
G4PolyhedraSide::IntersectSidePlane().
o Replaced calls to std::abs() with std::fabs() where suitable.
o Added dummy initialization of data members where applicable.
+ volumes:
o Added Reset() method to G4ReflectionFactory for clearing maps of
constituent and reflected volumes.
o Global:
------
+ More safe numerical computation of A13() and logA() methods in G4Pow.
+ Added INT_MAX and INT_MIN portability macros in templates.hh.
+ Fixed cases of invalidated iterator in G4StateManager.
+ Added dummy initialization of data members in constructors.
+ Changed date for patch-02 to release 9.3.
o Interfaces:
----------
+ Fixed call to contructor QKeySequence() in G4UIQt:AddButton() to
allow for porting on gcc-4.5.0. Addresses problem report #1127.
o Particles:
---------
+ Fixed logic bug in G4ExcitedMesonConstructor::Add3PiMode().
+ G4MuonRadiativeDecayChannelWithSpin: corrected sign error.
o Persistency:
-----------
+ Corrected dump of division axis in GDML writer.
+ Fixed printout of unit in G4GDMLWriteStructure for replicas and
divisions, in the case of angles.
+ Added missing virtual destructor to G4tgbDetectorBuilder in ASCII module.
Fixed signature for std::map in G4tgrVolumeMgr header.
+ Fixed recursive header inclusion in G4PersistencyCenter class in 'mctruth'
module, and added dummy initialization of data members in constructors.
o Low-energy Electromagnetic Processes:
------------------------------------
+ Fixed bugs in G4AtomicDeexcitation and G4AugerTransition to cure crash
on Windows.
+ Corrected return value case in method GetPhotoElectronDirection() in
G4PhotoElectricAngularGeneratorSauterGavrila.
Addressing problem report #1120.
o Standard Electromagnetic Processes:
----------------------------------
+ Adjoint:
o G4AdjointAlongStepWeightCorrection: get rid of call to non-Standard
isnan(), replaced by explicit validity test.
o G4AdjointhMultipleScattering: removed unused header.
+ Polarisation:
o Fix in G4ePolarizedIonisation to use default vector size of
G4VEnergyLossProcess and avoid size mismatch in G4LossTableBuilder.
+ Standard:
o G4eBremsstrahlungModel: fix in SelectRandomAtom() method.
Addressing problem report #1115.
o Fixed G4_O data in G4ASTARStopping.
Fixed G4_Pt and G4_PROPANE data in G4PSTARStopping.
o Hadronic Processes:
------------------
+ models/cascade:
o Fix for long-standing problem of energy non conservation in pion-nuclear
reaction on very light nuclei (in particular He) in G4CascadeInterface.
The workaround re-samples the interaction in the rare case when an
unphysical final state with baryon number violation is generated.
+ models/CHIPS:
o Fix in G4ChiralInvariantPhaseSpace to catch previously un-handled
exceptions produced when a 'chipolino' pseudo-particle is produced by
the model and thrown by Q4QEnvironment::Fragment; handles the case in
which Q4QEnvironment returns a 90000000 fragment, and converts it to
a gamma. Addressing problem report #1138.
o Bug fix in G4QNucleus::ChoosePosition() for looping.
o Fix in fragmentation module for run-time warning on Windows.
+ models/de_excitation:
o Fixed numerical problem (division by zero) in G4GEMProbability.
+ models/neutron_hp:
o Added safety for zero length cross-section table in
G4NeutronHPFissionData. Addressing problem report #1118.
o Add safety for negative value in G4NeutronHPInelasticCompFS.
o Added model name in constructor of G4NeutronHPThermalScattering.
Addressing problem report #1116.
o Modified sampling in G4NeutronHPInelasticCompFS.
o Fix bug about incidence energy in G4NeutronHPEnAngCorrelation.
+ models/parton_string/hadronization
o Improved Lund string fragmentation.
o Fixed inconsistency between LightFragmentationTest and Lund
fragmentation.
o Fixed problems of energy non-conservation in FTF.
+ models/photolepton_hadron/muon_nuclear:
o G4MuNuclearInteraction: properly clear hadronic tracks PostStepDoIt().
+ models/util:
o G4Fancy3DNucleus: added missing std:: to call to sort() algorithm.
o Generic Processes:
-----------------
+ Biasing:
o G4WeightWindowProcess: corrected call to method GetLowerWeight() in
G4WeightWindowStore, after correction of mispelled name.
+ Optical:
o Fix for backpainted surfaces to avoid applying twice reflectivity.
Addressing problem report #1114.
o Fixed sampling of 'theFacetNormal' for 'polishedbackpainted' material
in G4OpBoundaryProcess::DielectricDielectric() method. Address problem
reported on Hypernews Optical Processes Forum, thread #334.
o Refashioned code in the case of type 'dielectric_dielect'.
+ Transportation:
o Fix to G4Transportation to properly update the step flag which
identifies the last step in a volume (applies for linear steps only,
i.e. no field). Partially addressing problem report #1032.
o Run:
---
+ Corrected printing of number of events processed on run abortion.
+ Fixed definition of path for Windows in G4RunManager for random seeds
directory: use '\' instead of '/' and suitable system command.
+ Use "const G4String&" as arguments and return value wherever applicable
in G4RunManager and G4RunManagerKernel.
+ Added dummy initialisation of data members in constructors.
+ Use canonical form for exceptions in G4RunManager and added dummy return
statements; same in G4VUserPhysicsList.
o Examples:
--------
+ Migrated physics-lists to use particle-based multiple-scattering
wherever necessary, and updated reference outputs.
+ advanced/human_phantom:
o Added missing includes, causing compilation error.
o Migrated physics-lists.
o Corrected commands in some macros.
+ extended/geometry/olap:
o Fixed compilation error for setting of kRadTolerance.
o Removed inclusion of obsolete G4ParticleWithCuts header.
+ extended/persistency/gdml/G03:
o Corrected selection of G4UItcsh in main(), to fix problem on Windows.
----------------------------------------------------------------------------
Technical Notes
---------------
o This patch should be applied on top of relese 9.3.
o Technical notes distributed for release 9.3 are also applicable and
valid for this patch.
The code and rebuilt binary libraries for release 9.3 are available
through our "Download" Web page:
http://cern.ch/geant4/support/download.shtml
Please refer to the Geant4 User Documentation:
http://cern.ch/geant4/support/userdocuments.shtml
for further information about using Geant4.