Files
geant4/source/geometry/management/History
T
2023-02-14 13:57:32 +01:00

1361 lines
61 KiB
Plaintext

# Category geommng History
See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2023-01-09 Gabriele Cosmo (geommng-V11-00-10)
- G4LogicalVolume: use std::shared_ptr for handling visualization attributes.
Ignore calls to SetVisAttributes() from worker threads.
## 2022-11-16 Gabriele Cosmo (geommng-V11-00-09)
- Fixed more compilation warnings for implicit type conversions on
macOS/XCode 14.1 in G4SmartVoxelNode source.
## 2022-11-10 Gabriele Cosmo (geommng-V11-00-08)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.
## 2022-10-04 Gabriele Cosmo (geommng-V11-00-07)
- Fixed compilation warnings on Intel/icx compiler for variables set but not
used.
### 2022-08-16 Gabriele Cosmo (geommng-V11-00-06)
- Added protection in G4GeometryManager for Open/CloseGeometry() to
be executed only by master thread.
Addressing problem report #2502.
## 2022-07-03 Ben Morgan (geommng-V11-00-05)
- Add headers for directly used classes from global/HEPGeometry
## 2022-04-13 Ben Morgan (geommng-V11-00-04)
- Add missing dependency on G4heprandom
## 2021-03-05 Makoto Asai (geommng-V11-00-03)
- G4SolidStore, G4LogicalVolumeStore, G4PhysicalVolumeStore:
extend getter methods to optionally return the last-found object.
## 2021-02-05 Evgueni Tcherniaev (geommng-V11-00-02)
- G4BoundingEnvelope: get rid of "new" operators
## 2021-01-19 Evgueni Tcherniaev (geommng-V11-00-01)
- G4ReflectedSolid: added GetCubicVolume(), GetSurfaceArea()
## 2021-12-10 Ben Morgan (geommng-V11-00-00)
- Change to new Markdown History format
---
# History entries prior to 11.0
September 28, 2021 G.Cosmo (geommng-V10-07-07)
- Use G4Allocator to dynamically allocate nodes and proxies for the
voxels optimisation structure. Should help reducing memory fragmentation.
September 24, 2021 G.Cosmo (geommng-V10-07-06)
- Basic clang-tidy review of code.
August 31, 2021 B.Morgan (geommng-V10-07-05)
- Provide operator<< as a free function for G4UAdapter to support Geant4Py
- Make operator<< for G4VSolid a free function
June 15, 2021 J.Apostolakis (geommng-V10-07-04)
- G4UAdapter: added std::ostream& operator << to avoid compilation clash
between similar methods for G4VSolid and VecGeom UnplacedVolume.
April 12, 2021 G.Cosmo (geommng-V10-07-03)
- Fixed potential thread contention in stores when clearing/updating maps
at initialisation.
April 9, 2021 G.Cosmo (geommng-V10-07-02)
- Added missing implementation of inline method GetMap() in stores.
March 30, 2021 B.Morgan (geommng-V10-07-01)
- Migrate sources.cmake to modular build API
March 23, 2021 G.Cosmo (geommng-V10-07-00)
- Added map for fast search based on name in G4SolidStore, G4RegionStore,
G4logicalVolumeStore and G4PhysicalVolumeStore. Pointers to elements are
stored in the map as buckets, grouping elements with same name.
November 8, 2020 E.Tcherniaev (geommng-V10-06-06)
- Bug fix in calculation of normal in G4UAdapter::DistanceToOut()
October 28, 2020 Ben Morgan (geommng-V10-06-05)
- Remove include of obsolete CMake module
May 28, 2020 B.Morgan (geommng-V10-06-04)
- When using new CMake build, add location of generated G4GeomConfig.hh
header to public include directories of G4geometrymng module.
April 30, 2020 Gabriele Cosmo (geommng-V10-06-03)
- Adopt new convention for location of headers in VecGeom for wrappers.
April 17, 2020 Gabriele Cosmo (geommng-V10-06-02)
- Added deleted declarations for copy constructor and assignment operators
on store singletons. Based on GitHub PR#12 suggestion.
April 2, 2020 Guilherme Amadio (geommng-V10-06-01)
- Reduce size of LogicalVolumes by reordering class members
December 10, 2019 Ben Morgan (geommng-V10-06-00)
- Cleanup CMake build, removing obsolete granular library options and
explicit include_directories.
November 15, 2019 Gabriele Cosmo (geommng-V10-05-15)
- Fixed cases of implicit type conversions from size_t to G4int.
November 11, 2019 J.Apostolakis (geommng-V10-05-14)
- G4LogicalVolume: Added method 'ChangeDaughtersType' to change the
volume type for CharacterisedDaughters. It enables the user to turn
over responsibility for navigation in that volume to an external navigator.
( This is for use when one or more daughter volumes are created as an
existing physical volume types (typically G4PVPlacement). )
It can also be used enable to create a (logical) volume which containts a
mixture of existing G4-toolkit physical volume types, and user-created
'external' physical volume (with type code 'kExternal').
G4 types must be created first, and then ChangeDaughtersType must be called
to change the mother's attribute to 'kExternal'.
Note: only one type of sub-navigator will be called to find a track's
intersection (or the location of a point) in all daughters of one mother
volume. The sub-navigator chosen will correspond to the volume type assigned.
October 29, 2019 J.Apostolakis (geommng-V10-05-13)
- Use stored volume type for G4LogicalVolume::CharacterisedDaughters,
after fix to correctly store type of G4PVParameterised volume.
Requires geomvol-V10-05-07.
October 23, 2019 J.Apostolakis, G.Cosmo (geommng-V10-05-12)
- Revised G4LogicalVolume to cope with 'external' type of physical volumes.
Note: these revisions are independent and backward compatible.
- Co-works with geomnav-V10-05-11 (external navigation).
October 23, 2019 J.Apostolakis (geommng-V10-05-11)
- Changed G4VPhysicalVolume::VolumeType() to be virtual.
Preparing for addition of External Navigation, which adds an 'external'
physical volume type (for use with an External sub-Navigator).
Note: This is used by G4Navigator's CharacteriseDaughters() method.
The old method derived this value from response of IsReplicated()
virtual method and, in the case of replica/division/parameterised volumes,
information from a call to the 2nd virtual method ReplicationData.
- G4VPhysicalVolume copy constructor and assignment operator are now 'deleted'.
- Requires and co-works with geomvol-V10-05-05, geomdiv-V10-05-02.
September 14, 2019 E.Tcherniaev (geommng-V10-05-10)
- Use G4QuickRand() in G4VSolid::EstimateCubicVolume() and
G4VSolid::EstimateSurfaceArea()
August 22, 2019 G.Cosmo (geommng-V10-05-09)
- Use pre-increment wherever possible.
July 11, 2019 G.Cosmo (geommng-V10-05-08)
- Implemented c++11 revision: nullptr, auto, inline data initialisation,
const iterators, alias using statements.
- Code cleanup and formatting.
May 29, 2019 G.Cosmo (geommng-V10-05-07)
- Fixed minor Coverity defects.
May 20, 2019 G.Cosmo (geommng-V10-05-06)
- Defined move constructor and move assignment operator for G4AffineTransform.
May 14, 2019 B.Morgan (geommng-V10-05-05)
- Use header-based #define/undef symbols to configure VecGeom replacements
- G4GeomConfig.hh: Generated header configuring #defines using CMake settings
- G4GeomTypes.hh: "Interface" header to support old GNUmake system. All Geant4
code should #include this rather than the generated header, which is only
present in CMake mode.
- G4UAdapter.hh: Add inclusion of G4GeomTypes.hh
- See also cmake-V10-05-03
May 13, 2019 G.Cosmo (geommng-V10-05-04)
- Replaced deprecated std::binary_function calls with lambdas in
G4SmartVoxelStat and G4GeometryManager.
Courtesy of S.Losilla, from GitHub PR#8.
April 29, 2019 G.Cosmo (geommng-V10-05-03)
- Properly initialise to zero splitted data in G4VPhysicalVolume.
April 23, 2019 G.Cosmo (geommng-V10-05-02)
- G4GeomSplitter: re-enabled use or realloc()/free() and memcpy(), after
adapting G4VPhysicalVolume MT splitted data to adopt only trivial types
for allocation.
March 8, 2019 G.Cosmo (geommng-V10-05-01)
- G4LogicalVolume: in AddDaughter() avoid propagating pointer to field-manager
if this is null. Addressing problem report #2145.
January 30, 2019 A.Dotti, G.Cosmo (geommng-V10-05-00)
- Use reverse_iterator in G4SolidStore::DeRegister() in order to speedup
partial deregistration on setups with many solids instances.
- G4Region: added possibility to disable search in the tree in
AddRootLogicalVolume() for speeding up process in complex flat geometries.
October 18, 2018 E.Tcherniaev (geommng-V10-04-08)
- G4VSolid: improved setting of surface thickness in EstimateSurfaceArea().
October 12, 2018 E.Tcherniaev (geommng-V10-04-07)
- G4VSolid: more precise calculation of distance for inside points in
EstimateSurfaceArea().
October 10, 2018 E.Tcherniaev (geommng-V10-04-06)
- G4VSolid: reimplemented EstimateSurfaceArea() for approximate calculation
of the surface area of a solid, by estimating volume of a thin shell
surrounding the surface using Monte-Carlo method; algorithm providing more
accurate estimation without performance penalty.
May 16, 2018 G.Cosmo (geommng-V10-04-05)
- G4GeomSplitter: replaced use or realloc()/free() and memcpy() with
normal allocation/deallocation through G4Allocator. Also addressing
compilation warnings on gcc-8.1.
May 11, 2018 E.Tcherniaev (geommng-V10-04-04)
- G4AffineTransform: further optimized InverseProduct(), for the case where
tf2 is a pure translation.
May 7, 2018 E.Tcherniaev (geommng-V10-04-03)
- G4AffineTransform: added explicit copy constructor, assignment and destructor;
InverseProduct() has been optimised, now it does 36 multiplications instead
of 45; added methods for inverse transformation: InverseTransformPoint(),
InverseTransformAxis(), InverseNetRotation() and InverseNetTranslation().
April 24, 2018 E.Tcherniaev (geommng-V10-04-02)
- G4AffineTransform: minor optimisation to multiplication of matrix by vector,
to make use of temporaries in accessing vector components.
April 11, 2018 G.Cosmo (geommng-V10-04-01)
- Replaced USOLIDS_LIBRARIES with VECGEOM_LIBRARIES in sources.cmake.
December 19, 2017 G.Cosmo (geommng-V10-04-00)
- Fixed self-consistency in G4VVolumeMaterialScanner header (missing #include).
Thanks to Raphael Isemann for reporting this.
November 10, 2017 P.Arce (geommng-V10-03-22)
- Bug report 2011: precision correction in G4ErrorPlaneSurfaceTarget.cc
October 16, 2017 G.Cosmo geommng-V10-03-21
- Removed G4USolid base wrapper for USolids. Only native VecGeom
implementation through G4UAdapter is now supported.
Requires corresponding tag "geom-specific-V10-03-20".
- Enable proper implementation of operator=() in G4UAdapter.
October 11, 2017 E.Tcherniaev geommng-V10-03-20, 19
- G4GeomTools: added PointInPolygon() function, to dtermine the position of a
point relative to a polygon in 2D.
June 9, 2017 G.Cosmo geommng-V10-03-18
- Corrections and improvements to G4UAdapter.
June 1, 2017 G.Cosmo geommng-V10-03-17
- Made G4UAdapter compliant with latest modifications in VecGeom for
renaming of GetPointOnSurface() method to SamplePointOnSurface().
May 24, 2017 G.Cosmo geommng-V10-03-16
- Renamed ambiguous name Extent() in G4VSolid to BoundingLimits().
Modified G4ReflectedSolid accordingly.
Change required in order to avoid signature conflict with VecGeom
in G4U* wrappers.
May 24, 2017 G.Cosmo geommng-V10-03-15
- Added adapter class G4UAdapter for interfacing G4U* wrappers with VecGeom.
Will replace G4USolid bridge class, deprecating USolids API in favour of
direct use of VecGeom signatures and removal of one extra-level of
indirection/inheritance.
May 9, 2017 G.Cosmo geommng-V10-03-14
- Moved few key methods to be inline in G4USolid.
March 28, 2017 G.Cosmo geommng-V10-03-13
- Enabled deletion of solids in G4SolidsStore destructor also for MT mode.
March 22, 2017 G.Cosmo geommng-V10-03-12
- Define IsGeometryClosed() in G4GeometryManager as a static method, to
avoid call to GetInstance(). Made related Boolean flag thread-local.
March 21, 2017 G.Cosmo geommng-V10-03-11, 10
- Restore singleton pointer to thread-local and provide simple accessor to it.
March 17, 2017 G.Cosmo geommng-V10-03-09
- Define G4GeometryManager as normal singleton.
March 15, 2017 G.Cosmo geommng-V10-03-08
- Refined deletion of subinstance offsets in stores.
March 14, 2017 G.Cosmo geommng-V10-03-07
- Removed additional wrong lock in G4GeomSplitter for function
SlaveReCopySubInstanceArray().
- Disable cleaning of subinstance offsets on Windows.
March 10, 2017 G.Cosmo geommng-V10-03-06,5,4,3
- Fixed static memory leak from G4LogicalVolume, G4VPhysicalVolume and
G4Region, for offsets allocated in sequential mode.
February 27, 2017 E.Tcherniaev geommng-V10-03-02
- Added functions EllipsePerimeter(), EllipticConeLateralArea() and
comp_ellint_2() to G4GeomTools.
December 16, 2016 G.Cosmo geommng-V10-03-01
- Fixed compilation warning on gcc-6.2 for last changes in G4GeomTools.
December 14, 2016 E.Tcherniaev geommng-V10-03-00
- Added methods TriangelAreaNormal(), QuadAreaNormal(), PolygonAreaNormal(),
ClosestPointOnSegment() and ClosestPointOnTriangle() to G4GeomTools.
November 8, 2016 G.Cosmo geommng-V10-02-32
- Fixed header inclusions in G4LogicalCrystalVolume and make use of
dynamic_cast instead of C-style cast.
November 8, 2016 G.Cosmo geommng-V10-02-31
- Again code formatting to G4LogicalCrystalVolume files.
November 7, 2016 E. Bagli geommng-V10-02-30
- Modified G4LogicalCrystalVolume for the G4CrystalExtension
November 3, 2016 G.Cosmo geommng-V10-02-29
- Added Extent() virtual method to G4VSolid and G4ReflectedSolid (E.Tcherniaev).
- Fixed Coverity defect in G4LogicalVolume::ClearDaughters().
November 1, 2016 E.Tcherniaev geommng-V10-02-28
- Added function DistancePointSegment() to G4GeomTools class.
- Code formatting in G4LogicalCrystalVolume.
October 26, 2016 E.Tcherniaev geommng-V10-02-27
- Added new functions SphereExtent(), TriangulatePolygon(), IsConvex() and
RemoveRedundantVertices() to G4GeomTools class.
October 24, 2016 E.Bagli geommng-V10-02-26
- Added class G4LogicalCrystalVolume, representing an extended logical
volume for crystal description.
October 21, 2016 G.Cosmo geommng-V10-02-25
- Moved initialisation of G4GeomSplitter thread-local data to be inline
along with generic template type.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
- Added IsConvex() method to G4GeomTools.
October 19, 2016 M.Asai geommng-V10-02-24, 23
- G4LogicalVolume: added virtual keyword is to destructor for extended
yypes in the kernel. Added IsExtended() method.
October 16, 2016 E.Tcherniaev
- New utility class G4GeomTools providing static utility methods for
geometry related calculations.
October 2, 2016 E.Tcherniaev geommng-V10-02-22
- G4BoundingEnvelope: take into account four points instead of three in
CreateListOfPlanes().
September 26, 2016 E.Tcherniaev geommng-V10-02-21
- G4USolid: make direct use extent from shapes for computing bounding-box
in CalculateExtent().
September 22, 2016 E.Tcherniaev geommng-V10-02-20
- Added checks for bounding-box extents in G4USolid.
- Converted fatal exception to warning for CheckBoundingBox() in
G4BoundingEnvelope. Corrected use of 'const' data to resolve Coverity
defects.
September 20, 2016 G.Cosmo geommng-V10-02-19
- Moved accessors/modifiers for splitter data to non-inline in G4Region,
G4LogicalVolume, G4VPhysicalVolume.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
September 9, 2016 E.Tcherniaev
- G4BoundingEnvelope: added QuickCheck() function.
September 2, 2016 E.Tcherniaev geommng-V10-02-18
- G4BoundingEnvelope: fixed bug in construction of voxel edges.
August 8, 2016 E.Tcherniaev geommng-V10-02-17
- G4BoundingEnvelope: some improvement of internal consistency in the code.
July 7, 2016 G.Cosmo geommng-V10-02-16
- Removed redundant check in G4GeomSplitter::UseWorkArea().
Addressing problem report #1876.
July 6, 2016 G.Cosmo geommng-V10-02-15
- Correction in G4USolid::CalculateExtent() for correct return-type.
June 29, 2016 E.Tcherniaev geommng-V10-02-14
- Optimised version of G4BoundingEnvelope.
June 28, 2016 E.Tcherniaev
- Re-implemented CalculateExtent() in G4USolid to use G4BoundingEnvelope;
removed method CreateRotatedVertices().
June 27, 2016 E.Tcherniaev
- G4AffineTransform: added conversion operator to G4Transform3D and
simplified implementation of NetRotation() in terms of G4Rep3x3.
June 13, 2016 E.Tcherniaev
- G4ReflectedSolid: new revision of CalculateExtent(), to make use of
CalculateExtent() from the constituent solid, applying proper transformation.
Removed use of G4BoundingEnvelope.
June 7, 2016 G.Cosmo geommng-V10-02-13
- Initialise 'emin' and 'emax' in G4BoundingEnvelope::CalculateExtent().
June 6, 2016 E.Tcherniaev geommng-V10-02-12
- Introduced G4BoundingEnvelope helper class to be used for the calculation
of the extent of a solid within the limits defined by the G4VoxelLimits
object.
- Re-implemented CalculateExtent() in G4ReflectedSolid to use new class
G4BoundingEnvelope.
June 6, 2016 E.Tcherniaev geommng-V10-02-11
- G4G4ScaleTransform: simplified signatures in TransformDistance() and
in InverseTransformDistance(); make use of accessors.
June 1, 2016 G.Cosmo geommng-V10-02-10
- Corrected treatment of polyhedron for G4ReflectedSolid to avoid thread
contention.
May 18, 2016 G.Cosmo geommng-V10-02-09, 08
- More simplified code for G4ReflectedSolid; also removed not used cached
inverse transformation.
May 17, 2016 E.Tcherniaev geommng-V10-02-07
- Use G4Normal3D with proper inverse transformation for calculation of
normals in G4ReflectedSolid.
May 13, 2016 G.Cosmo geommng-V10-02-06, 05
- Properly use 3D transformations in G4ReflectedSolid. Removed unused
affine-transformation data and related methods.
Corrected GetPolyhedron() for multi-threading.
- Updated unit test visualization macros and UI setup.
May 12, 2016 E.Tcherniaev geommng-V10-02-04
- Added transformations for normal vectors in G4ScaleTransform.
April 14, 2016 G.Cosmo geommng-V10-02-03
- Added flag for partial use of USolids/VecGeom types.
April 12, 2016 G.Cosmo geommng-V10-02-02
- Minor cosmetics to G4USolid.
March 31, 2016 G.Cosmo geommng-V10-02-01
- Throw exception in call to CreatePolyhedron() for base class G4USolid.
Method is now implemented in the concrete wrappers.
March 16, 2016 G.Cosmo geommng-V10-02-00
- Added G4ScaleTransform class for Cartesian scaling transformations.
- G4AffineTransform: added inline keywords and fixed formatting.
- In G4USolid, directly call GetEntityType() from wrapper classes for
CreatePolyhedron().
October 15, 2015 W.Pokorski geommng-V10-01-07
- Added shadow pointers to shared data structures in G4LogicalVolume
and G4VPhysicalVolume for exclusive use by object persistency.
October 7, 2015 G.Cosmo geommng-V10-01-06
- Protected compilation of G4USolid class with G4GEOM_USE_USOLIDS flag.
- Replaced use of sprintf with C++ streams in G4AffineTransform.
September 14, 2015 G.Cosmo geommng-V10-01-05
- Moved EstimateCubiVolume() and EstimateSurfaceArea() to public section
for specific use-cases and customisation of precision.
August 6, 2015 G.Cosmo geommng-V10-01-04
- Checked for potential never-ending loops. No issues found.
June 15, 2015 G.Cosmo geommng-V10-01-03
- Return const reference in G4LogicalVolume::GetName().
Addressing report #1757.
May 5, 2015 A.Dotti geommng-V10-01-02
- Use G4Threading::IsMasterThread function as suggested by J.Allison
April 30, 2015 G.Cosmo geommng-V10-01-01
- Removed unused data-member in G4LogicalVolume, and fixed minor
Coverity defect for unitialised member 'fBiasWeight' in constructor.
- Use scoped enum for EnumSide in G4USolid.cc if c++11 enabled.
April 29, 2015 J.Apostolakis
- Added streaming operator <<() to G4AffineTransform.
- Cosmetics to G4RegionStore header.
March 3, 2015 G.Cosmo geommng-V10-01-00
- Use accessors x(), y() and z() from UVector3, instead of directly accessing
its data-members. Co-work with tag "geom-usolids-V10-01-09".
November 27, 2014 G.Cosmo geommng-V10-00-06
- Fixed implementation of StreamInfo() for G4USolid.
October 29, 2014 G.Cosmo geommng-V10-00-05
- Moved G4USolid bridge class from internal USolids module.
October 3, 2014 G.Cosmo geommng-V10-00-04
- Moved constructor for partial voxels refinements from protected to public.
September 25, 2014 W. Pokorski geommng-V10-00-03
- Some fixes in the default constructor for Root-I/O persistency.
July 11, 2014 A. Dotti geommng-V10-00-02
- Solves possible data-race condition in G4GeaomSplitter.
April 10, 2014 G.Cosmo geommng-V10-00-01
- Get rid of deprecated 'register' storage class specifier in source files.
March 31, 2014 G.Cosmo geommng-V10-00-00
- Fixed operator=() signature in G4LogicalSurface.
December 2, 2013 A.Dotti geommng-V09-06-17
- Correctly initialize shadow pointers in G4PhysicalVolume.
December 2, 2013 M.Asai geommng-V09-06-16
- Correctly initialize shadow pointers in G4LogicalVolume.
November 30, 2013 M.Asai geommng-V09-06-15
- Explicitely initialize data members of G4LVData.
November 27, 2013 J.Apostolakis geommng-V09-06-14
- Fix in G4GeomSplitter::FreeSlave(): use free() to delete memory
which was allocated with malloc().
October 18, 2013, A. Dotti geommng-V09-06-13
- Bug fixing in G4GeomSplitter::UseWorkspace method
check if offset pointer is assigned AND different from new value
October 3, 2013 J.Apostolakis geommng-V09-06-12
- Cleanup of G4LogicalVolume, G4VPhysicalVolume
Moved long description of helper classes to end of headers.
Moved macros to icc file.
Revised source code to use Get/Set methods in place of 'macros'
introduced with G4MT, ie G4MT_rot etc
- LogicalVolume: Added new methods, data member
* new methods AssignFieldManager,
* Get/Set Solid( G4LVData, .) for potential performance improvement
* bool fChangedState.
August 27, 2013 G.Cosmo geommng-V09-06-11
- Added G4Ellipsoid among solids enabled for parameterisation.
August 22, 2013 G.Cosmo geommng-V09-06-10
- Added parameter to specify maximum number of overlap errors to report
in G4VPhysicalVolume::CheckOverlaps().
August 21, 2013 G.Cosmo geommng-V09-06-09
- Added methods G4VPhysicalVolume::VolumeType() and
G4LogicalVolume::CharacteriseDaughters() to be used by G4Navigator.
July 29, 2013 T.Nikitina geommng-V09-06-08
- Fix to G4VSolid::EstimateCubicVolume() to make proper use of specified
accuracy. Addressing problem report #1493.
June 20, 2013 A.Dotti geommng-V09-06-07
- Bug fix for MT: set static TLS pointer G4GeomSplitter::offset to 0 after
delete in split-class mechanism G4GeomSplitter::FreeSlave
March 12, 2013 G.Cosmo geommng-V09-06-06
- Removed thread-locality in obsolete G4VPhysicalVolume::GetObjectRotation()
implementation.
March 12, 2013 G.Cosmo geommng-V09-06-05
- Added public accessors for MT data to G4LogicalVolume, G4VPhysicalVolume
and G4Region.
March 11, 2013 G.Cosmo geommng-V09-06-04
- Redefined G4DLL_API to G4GEOM_DLL to avoid cases of macro redefinition.
March 08, 2013 G.Cosmo geommng-V09-06-03, geommng-V09-06-02
- Renamed G4MT macros to safer ID.
- Moved MT data to protected in G4VPhysicalVolume.
March 07, 2013 G.Cosmo geommng-V09-06-01
- Added splitter class G4GeomSplitter from original MT transitory class
introduced in "global" module.
- Added geomwdef.hh header including definition of G4DLL_API flag for
import/export of symbols for Windows DLL build.
- Cleanup of code from MT automatic changes.
December 02, 2012 J.Allison geommng-V09-06-00
- Removed NURBS.
November 28, 2012 G.Cosmo geommng-V09-05-04
- Get rid of explicit inclusion of costants header from meshdefs.hh.
August 15, 2012 V.Ivantchenko geommng-V09-05-03
- Add base materials in G4Region::ScanVolumeTree() to the list of region
materials, when applicable.
June 11, 2012 G.Cosmo geommng-V09-05-02
- Explicitly use inclusion of headers for system of units and physical
constants, in plan to remove implicit inclusion from globals.hh.
April 4, 2012 G.Cosmo geommng-V09-05-01
- Fixed spurious cases of hidden variable visibility (-Wshadow
compilation option on gcc compiler).
April 4, 2012 G.Cosmo geommng-V09-05-00
- Extended one comment to G4VSolid header.
August 24, 2011 G.Cosmo geommng-V09-04-04
- Migrated to new G4Exception scheme for warnings and errors.
- Defined scheme for warnings/errors coding:
+ 1xxx for warnings, 0xxx for errors.
Code numbering:
+ 0001: not supported or implemented features;
+ 0002: invalid setup/construct;
+ 0003: invalid run condition;
+ 1001: incorrect setup; automatically adapted.
+ 1002: notification.
- Made default argument for G4RegionStore::UpdateMaterialList().
August 10, 2011 M.Asai geommng-V09-04-03
- Introducing parallel layered mass geometry. Material is now scanned for
all the regions in all defined worlds. Modified G4Region and G4RegionStore.
May 12, 2011 G.Cosmo geommng-V09-04-02
- Fixed trivial compilation warnings detected with gcc-4.6.0.
March 31, 2011 G.Cosmo geommng-V09-04-01
- Fix in G4LogicalVolume::AddDaughter() for proper propagation settings
of local field manager. Avoid forcing propagation to all daughters when
a local field manager is set already for the new daughter.
Addressing problem report #1183.
March 21, 2011 G.Cosmo geommng-V09-04-00
- Use internal G4 header for physical constants in meshdefs.h.
October 19, 2010 G.Cosmo geommng-V09-03-05
- Added Clone() virtual method to G4VSolid, to return a pointer to a
dynamically allocated copy of the solid. To be used by Geant4-MT.
- Added copy-ctr and assignment operator to G4ReflectedSolid, now also
implementing the Clone() method.
September 6, 2010 G.Cosmo geommng-V09-03-04
- Fixed false-positive null forward case in G4SmartVoxelHeader.
July 16, 2010 G.Cosmo geommng-V09-03-03
- Fixed compilation errors for code within G4GEOMETRY_VOXELDEBUG flag
in G4GeometryManager and G4SmartVoxelHeader.
- Added printout of voxel limits in G4SmartVoxelHeader::Buildnodes() and
removed protection on node width previously introduced.
July 13, 2010 G.Cosmo geommng-V09-03-02
- G4SmartVoxelHeader: added protection against rare cases of zero computed
node width in BuildNodes().
July 2, 2010 G.Cosmo geommng-V09-03-01
- G4LogicalSurface: added missing initialisation for 'theTransRadSurface'
data member. Made virtual destructor and constructors not inline.
- G4ErrorTarget: added missing default initialisation of a data member.
- G4SmartVoxelHeader: added return statement after exceptions in methods
BuildVoxelsWithinLimits() and BuildNodes(); fixed case of invalid iterator
in deletion of test slices in BuildVoxelsWithinLimits(); added protection
for cases of invalide number of nodes in RefineNodes(), and added return
statement after exceptions.
- G4GeometryManager: restore cout precision after printing voxel statistics.
- G4LogicalVolume: added return statement after exception in GetMass().
- G4ReflectedSolid: moved reserve() statement for 'vertices' within null-check
condition in CalculateExtent() ...
February 9, 2010 G.Cosmo geommng-V09-03-00
- Fixed initialisation of min/max extent for mother and target volumes in
method BuildNodes() of G4SmartVoxelHeader.
November 27, 2009 G.Cosmo geommng-V09-02-05
- G4Region: added pointer to field-manager and associated accessor/modifier.
November 6, 2009 G.Cosmo geommng-V09-02-04
- G4VTouchable: moved inline vitual methods, constructor and destructor to
source, to avoid problem of memory alignment in allocation of derived objects.
October 30, 2009 G.Cosmo geommng-V09-02-03
- Clear possible excess capacity in node vectors in G4SmartVoxelHeader
BuildNodes() method. May reduce excess memory allocated in optimisation
in large detector setups, with slight time increase in initialisation for
geometry voxelisation.
September 24, 2009 G.Cosmo geommng-V09-02-02
- Fixed implementation of G4LogicalVolume::TotalVolumeEntities() to become
invariant to call sequence.
May 25, 2009 G.Cosmo geommng-V09-02-01
- Fixed initialisation of min/max extent in method BuildReplicaVoxels() in
G4SmartVoxelHeader.
April 16, 2009 G.Cosmo geommng-V09-02-00
- Adopt 'const' references for strings as arguments/return-values in
G4LogicalSurface. Some minor cleanup...
September 23, 2008 G. Cosmo geommng-V09-01-08
- G4VSolid: explicitely reserve memory for polygon vectors in clipping
algorithm to help reducing memory footprint. Courtesy of P.Elmer, CMS.
September 10, 2008 G. Cosmo geommng-V09-01-07
- G4VSolid: promote copy-constructor and assignment operator to public
to cope with specific use-case in ATLAS (see problem report #1023).
July 15, 2008 G.Cosmo geommng-V09-01-06
- G4Region: re-introduced protection for setting of root-region flag to the
world volume in method RemoveRootLogicalVolume(), to cover case of explicit
deletion of stores in the user application for dynamic geometries setups.
July 10, 2008 G.Cosmo geommng-V09-01-05
- G4LogicalVolume, G4LogicalVolumeStore: modified logic for the deletion
of the root-region volumes, adding locking mechanism and automatically
de-registering the world default root-region.
Simplified Clean() method in the store, by removing unused and unnecessary
flag for logical-volumes notification.
- Reinstated update of materials in G4Region::RemoveRootLogicalVolume()
to correct handling individual removal of root-region volumes and restore
proper setup state.
May 16, 2008 G.Cosmo geommng-V09-01-04
- G4Region: changed condition inside ScanVolumeTree() to check for the
existence of a valid material-scanner pointer to apply the material scan
instead of using the flag for nested structures.
- G4GeometryManager: do not apply optimisation on the current volume if it
has been defined as a regular structure.
- Addresses problem report #990 on suggestions by M.Mendenhall.
March 13, 2008 G.Cosmo geommng-V09-01-03
- Cleared compilation warnings in G4GeometryManager on gcc-4.3.0 for
ambiguous use of parentheses in condition statements.
February 20, 2008 I.Hrivnacova geommng-V09-01-02
- Implemented missing protected copy-contructor and assignment operator
for G4VSolid.
January 24, 2008 G.Cosmo geommng-V09-01-01
- Added Shrink() method to G4SmartVoxelNode to shrink memory allocated
for the buffer of slices; to be used for studying ways of reducing memory
waste when building nodes in G4SmartVoxelHeader for large geometry setups.
January 14, 2008 G.Cosmo geommng-V09-01-00
- Added Reserve() method to G4SmartVoxelNode to reserve memory allocated
for the buffer of slices; to be used for studying ways of reducing memory
waste when building nodes in G4SmartVoxelHeader for large geometry setups.
October 24, 2007 G.Cosmo geommng-V09-00-01
- Fixed typo in forcing minimum number of points in method
G4VSolid::EstimateSurfaceArea(). Addresses problem report #981.
July 16, 2007 G.Cosmo geommng-V09-00-00
- Added dummy constructor and destructor to G4VPVParameterisation.
June 19, 2007 G.Cosmo geommng-V08-03-03
- Apply migration to <cmath> and std:: for G4ErrorCylSurfaceTarget and
G4ErrorPlaneSurfaceTarget implementations. Fixes compilation problems
detected on Windows VC++8.
May 16, 2007 G.Cosmo geommng-V08-03-02
- Introduced new classes for handling error propagation: G4ErrorTarget,
G4ErrorSurfaceTarget, G4ErrorTanPlaneTarget, G4ErrorPlaneSurfaceTarget,
G4ErrorCylSurfaceTarget (by P.Arce).
- Coworks with tag "global-V08-03-02".
May 11, 2007 G.Cosmo geommng-V08-03-01
- Use call to G4GeometryTolerance instead of kCarTolerance where needed.
- Requires tag "global-V08-03-00" and related tag set.
April 26, 2007 M.Asai geommng-V08-03-00
- Added forward declaration and pointer (with set/get methods) to
G4VUserSteppingAction, to allow for stepping actions defined at region.
April 11, 2007 G.Cosmo geommng-V08-02-02
- Added 'get' methods to stores for retrivial of volumes/solid by name.
- Modified signature of G4VPhysicalVolume::CheckOverlaps() to introduce
ability of handling tolerances for overlaps.
- Coworks with tag "geomvol-V08-02-02".
March 20, 2007 G.Cosmo geommng-V08-02-01
- Do not reset RegionRootFlag in RemoveRootLogicalVolume() if volume is the
world, since the volume itself may be already removed from the store if
G4LogicalVolumeStore::Clean() is called.
January 31, 2007 G.Cosmo geommng-V08-02-00
- Added flag for controlling verbosity to CheckOverlaps() method.
By default, verbosity is ON.
November 30, 2006 G.Cosmo geommng-V08-01-08
- Corrected deregistration and deletion of world default region, now
happening through G4RunManagerKernel. Affected codes: G4LogicalVolume
destructor and G4RegionStore::Clean() method.
- Minor cleanup in the implementation of the other stores.
November 8, 2006 G.Cosmo geommng-V08-01-07
- Fixed compilation problems on SUN-CC for changes in the last tag.
Added inclusion of <sstream> header in G4ReflectedSolid.cc.
November 6, 2006 J.Allison geommng-V08-01-06
- Fix in G4ReflectedSolid::CreatePolyhedron() for case of component that
does not have a G4Polyhedron representation.
October 23, 2006 G.Cosmo geommng-V08-01-05
- Replaced algorithm for EstimateSurfaceArea() in G4VSolid with more precise
method by M.Kosov based on skin surface estimation.
October 19, 2006 G.Cosmo geommng-V08-01-04
- Modified interface for GetSurfaceArea() to be similar to the one for
the computation of the geometrical volume, and allow the caching
mechanism.
October 18, 2006 G.Cosmo geommng-V08-01-03
- Added GetSurfaceArea() method to G4VSolid for approximated computation
of the surfare area of a shape.
October 2, 2006 G.Cosmo geommng-V08-01-02
- Removed debug printout in G4IdentityTrajectoryFilter implementation.
September 18, 2006 G.Cosmo geommng-V08-01-01
- Added empty virtual method CheckOverlaps() to G4VPhysicalVolume to allow
for proper overloading from subclasses. Implementation returns always
'false', which the case for replicas.
July 17, 2006 M.Asai geommng-V08-01-00
- Fix a bug in G4Region.cc for nested parameterization.
May 3, 2006 G.Cosmo geommng-V08-00-05
- Modified G4VStoreNotifier class to be now a typedef of G4VNotifier which
is moved in the 'global' module. Adapted stores to the new configuration.
- Requires tag "global-V08-00-02".
May 2, 2006 G.Cosmo geommng-V08-00-04
- Moved G4AssemblyTriplet class to 'volumes' module.
- Requires tag "geomvol-V08-00-03".
May 1, 2006 G.Cosmo geommng-V08-00-03
- G4Region:
o Added inclusion of <algorithm> to resolve compilation error on WIN32-VC.
o Fixed compilation warning for unused variable.
April 28, 2006 G.Cosmo geommng-V08-00-02
- G4VPhysicalVolume: return 'const G4String&' for GetName() instead of a
string copy.
April 4, 2006 G.Cosmo geommng-V08-00-01
- G4Region:
+ Support material scanning for nested parameterisations. Moved classes
G4VNestedParameterisation and G4VVolumeMaterialScanner from 'volumes'
module.
+ Fixed implementation of utility method GetParentRegion() to return a
boolean flag as argument, to identify if parent region is unique or not.
+ Simplified implementation of method BelongsTo(PV*).
- Requires tag "geomvol-V08-00-02".
April 3, 2006 G.Cosmo geommng-V08-00-00
- Fix in G4SmartVoxelHeader::BuildNodes() to avoid rare cases of negative
extent returned by volumes due to malformed geometries or inaccurate
extent calculation.
November 19, 2005 J.Apostolakis geommng-V07-01-05
- Revised G4VPVParameterisation:
+ Changed signature of ComputeMaterial(), adding parent touchable pointer.
This refinement enables easy use of nested parameterisations.
+ Additional methods allow nested parameterisation to be identified:
G4bool IsNested() const;
and to provide their material via new interface class:
G4VVolumeMaterialScanner* GetMaterialScanner();
+ Suppressed temporary G4PhysicalTouchable class in volumes, not needed
in the implementation any longer.
November 11, 2005 J.Apostolakis geommng-V07-01-04
- Added methods to identify Regular Structures in Physical volume
New pure virtual methods:
- IsRegularStructure() , returns boolean
- GetRegularStructureId() , returns code for structure type
November 9, 2005 G.Cosmo geommng-V07-01-03
- Added fake default constructor for base types of volumes, solids and
regions, for usage of direct object persistency.
- Migrated unit test TestAssemblyVolume to <sstring> from
deprecated <strstream>.
October 28, 2005 M.Asai geommng-V07-01-02
- Merged concept of "envelope" to G4Region for fast-parameterisation.
September 15, 2005 V.Grichine geommng-V07-01-01
- Added concrete implementation for GetPointOnSurface() to G4ReflectedSolid.
August 10, 2005 G.Cosmo geommng-V07-01-00
- Added virtual method GetPointOnSurface() to G4VSolid to be implemented in
the concrete solids classed for returning a random-point uniformely
distributed on the surface.
May 25, 2005 G.Cosmo geommng-V07-00-04
- Fixed problem with previous tag, where version of G4LogicalVolume.cc was
not correct and untagged.
- G4LogicalVolume::SetVisAttributes(const G4VisAttributes& VA): now creating
a copy of 'VA' on the heap. Temporary solution, until a proper 'store' for
visualization attributes will be implemented to take care of the memory
management.
May 23, 2005 G.Cosmo geommng-V07-00-03
- Modified comments in G4VSolid and G4BlockingList to overcome a limitation in
the scripts for the generation of the Software Reference Manual.
Apr 13, 2005 G.Cosmo geommng-V07-00-02
- Extended signatures for OpenGeometry() and CloseGeometry() to consider local
optimisation of a subtree of volumes. Voxelisation can now apply to just a
specific subtree if a physical volume is specified.
Apr 02, 2005 M.Asai geommng-V07-00-01
- Added protection against NULL material pointer for volumes belonging
to the tracking geometry in G4Region scanning.
Addresses problem report #735.
Mar 23, 2005 J.Allison
- Added test for Number-Of-Rotation-Steps in G4ReflectedSolid::GetPolyhedron().
Requires tag "greps-V07-00-02".
Mar 22, 2005 J.Allison
- G4ReflectedSolid: correction: changed AddThis to AddSolid.
Mar 02, 2005 G.Cosmo geommng-V07-00-00
- Added optional boolean argument 'propagate' to GetMass() to avoid
propagation of computation of masses to the daughter volumes (courtesy
of G.Santin). Propagation to daughters is done by default.
Feb 18, 2005 M.Asai
- Added G4UserLimits pointer to G4Region and added access from G4LogicalVolume.
Dec 02, 2004 G.Cosmo geommng-V06-02-08
- Implemented migration to <cmath> for standard mathematical functions.
Nov 19, 2004 G.Cosmo geommng-V06-02-07
- Added GetCopyNumber() method to G4VTouchable, clone of GetReplicaNumber().
Nov 16, 2004 M.Asai geommng-V06-02-06
- Fix in G4LogicalVolume::UpdateMaterial() for checking the existance of
root-region pointer for logical-volume. Fixes report #684.
Nov 13, 2004 G.Cosmo geommng-V06-02-05
- Added method TotalVolumeEntities() to G4LogicalVolume, returning the
total number of physical volumes (placed or replicated/parameterised)
included in the tree represented by the current logical volume.
- Correction in the computation of mass for parameterised volumes.
Nov 12, 2004 G.Cosmo geommng-V06-02-04
- Added method GetMass() to G4LogicalVolume, returning the value in absolute
units of the mass of the logical volume tree. The mass is computed from the
estimated geometrical volume of each solid and material's density associated
to the logical volume and its daughters.
The returned value is cached and can be used for successive calls (default),
unless recomputation is forced by providing 'true' as the first boolean
argument in input. Computation should be forced if the geometry setup has
changed after the previous call. An optional argument to specify a material
is provided; it is implicitely used for geometrical parameterisations by
material.
Oct 10, 2004 J.Allison geommng-V06-02-03
- Added GetPolyhedron, a smart access function that creates a G4Polyhedron
on request and stores for future access. A null pointer means "not
available".
Sep 28, 2004 M.Asai geommng-V06-02-02
- G4Region:
o Added map for storage of materials/cuts.
o Added methods for handling registration of couples in the map, finding
a couple according to a given material, clearing the map's storage.
- G4LogicalVolume:
o Added method UpdateMaterial() to refresh a material/cut couple in
the corresponding region.
Sep 22, 2004 G.Cosmo geommng-V06-02-01
- Introduced virtual method GetCubicVolume() to G4VSolid, returning an
estimation of the solid volume in internal units. This method may be
overloaded by derived classes to compute the exact geometrical
quantity for solids where this is possible, or anyway to cache the
computed value. By default it uses the new protected method
EstimateCubicVolume(stat, eps) with fixed statistics and error
accuracy, and does not cache the computed value.
Sep 02, 2004 G.Cosmo geommng-V06-02-00
- Introduced abstract class G4VStoreNotifier to be optionally associated
to stores by the user for the notification of the registration and
deregistration of objects in the stores.
- Added notification mechanism to volume, solid, and region stores.
- Fixed G4RegionStore::Clean() to avoid deletion of world region.
May 07, 2004 G.Cosmo geommng-V06-01-00
- Imported G4ReflectedSolid class from solids/Boolean.
- Added abstract factory G4VPVDivisionFactory defining interfaces
for the creation of volumes divisions (courtesy of I.Hrivnacova).
- Coworks with tags: geomvol-V06-01-00, geomdiv-V06-01-00 and
geom-bool-V06-01-00.
Dec 01, 2003 P.Gumplinger geommng-V05-02-05
- G4LogicalSurface[.hh.icc]: modified to use G4SurfaceProperty instead
of G4OpticalSurface. Requires tag "materials-V05-02-00".
Nov 04, 2003 G.Cosmo geommng-V05-02-04
- G4LogicalVolume.hh: added inclusion of assert.h required by .icc file.
Nov 01, 2003 G.Cosmo geommng-V05-02-03
- Code cleanup and headers inclusion review (replaced by forward
declarations where necessary).
- G4VPVParameterisation: added G4Polycone and G4Polyhedra to list of
possible parameterisations by dimension.
Oct 24, 2003 G.Cosmo geommng-V05-02-02
- Migrated calls to G4Exception to new scheme.
Oct 21, 2003 M.Asai geommng-V05-02-01
- Introducing G4VUserRegionInformation class.
- G4VPVParameterisation: added G4Orb. (V.Grichine)
Sep 30, 2003 G. Cosmo geommng-V05-02-00
- Logical reorganisation and restructure of modules.
Moved files to geometry/volumes:
G4AssemblyVolume[.hh.icc.cc]
G4PVParameterised[.hh.cc]
G4PVPlacement[.hh.cc]
G4PVReplica[.hh.cc]
Moved files to new module geometry/navigation:
G4DrawVoxels[.hh.cc]
Imported files from geometry/volumes:
G4BlockingList[.hh.icc.cc]
G4IdentityTrajectoryFilter[.hh.cc]
G4VCurvedTrajectoryFilter[.hh.cc]
- G4VPhysicalVolume[.hh.icc.cc]:
o Removed pointer to mother physical volume and related accessor
methods: SetMother()/GetMother().
o Removed pure virtual method Setup(G4VPhysicalVolume*), no longer
necessary. Subclasses will require modification as well.
- G4LogicalVolume.icc:
o Updated/fixed initialisation of data and fast-simulation manager
according to above changes.
- G4SmartVoxelHeader.cc:
o Cleared usage of PV-Setup(), according to above changes.
May 19, 2003 G. Cosmo geommng-V05-01-01
- G4LogicalVolume.cc: notify removal of root-logical-volume from G4Region
in case of deletion of a logical-volume from the destructor, instead that
from DeRegister() method.
- G4LogicalVolumeStore.cc: removed redundant check and call to
RemoveRootLogicalVolume() from Clean() method.
- G4Region.cc: removed redundant calls to ScanVolumeTree() and
UpdateMaterials() from RemoveRootLogicalVolume() method.
May 13, 2003 G. Cosmo geommng-V05-01-00
- G4LogicalVolume: added method ClearDaughters() to be used for resetting
the list of daughters to a logical volume in the use-case when only the
physical volume store is cleared at run-time.
- GVPhysicalVolume:
o Added pointer to mother logical volume (will replace in future releases
the pointer to mother physical volume) and related accessors.
o Standardised registration mechanism as daughter for constructor using
the pointer to the mother's PV.
- G4PhysicalVolumeStore:
o Added notification mechanism to logical volumes in the Clean() method
to update the list of daughters.
o Update mother's LV list of daughters when deregistering a volume.
- G4PVPlacement/Replica/Parameterised: standardised registration mechanism
as daughter for constructor using the pointer to the mother's PV.
April 3, 2003 M. Dressel geommng-V05-00-09
- G4LogicalVolume: added method for scanning recursively the volume tree
and retrieve if the current LV is ancestor of a given PV:
G4bool IsAncestor(const G4VPhysicalVolume*) const
March 31, 2003 G. Cosmo geommng-V05-00-08
- Fixed trivial strict pedantic warnings in G4VSolid.cc and G4PVPlacement.cc.
March 24, 2003 G. Cosmo geommng-V05-00-07
- G4Region.cc: fixed setting/resetting of regions in ScanVolumeTree().
March 05, 2003 M. Asai geommng-V05-00-06
- G4Region.cc: fix for scanning of parameterised materials.
March 05, 2003 G. Cosmo geommng-V05-00-05
- G4LogicalVolume.icc: added check for invalid geometry constructions.
Issue an exception if a placement is attempted in a volume already
containing a replicated daughter.
- Cosmetic formatting changes in G4PVPlacement.cc and G4VPhysicalVolume.cc.
February 07, 2003 G. Cosmo geommng-V05-00-04
- Added method FindOrCreateRegion() to G4RegionStore.
- Added check in constructor of G4Region for existance of region in store.
In case a region with the given name already exists, throw a warning and
do not register it.
January 30, 2003 G. Cosmo geommng-V05-00-03
- Allow logical volume store to deregister root regions for logical volumes
deleted explicitely.
Modified files: G4logicalVolumeStore.cc, G4LogicalVolume[.hh.icc.cc].
- G4Region.hh: moved ClearMaterialList() to public.
January 15, 2003 G. Cosmo geommng-V05-00-02
- Included fix in G4VSolid.cc introduced in "geommng-V04-01-06".
January 14, 2003 M.Asai geommng-V05-00-01
- Fix in src/G4Region.cc.
Does not include fix in "geommng-V04-01-06".
December 16, 2002 G. Cosmo geommng-V05-00-00
- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD.
Included development for 'cuts-by-region'; introduced new classes
G4Region and G4RegionStore. Modified G4LogicalVolume to handle recursive
propagation of regions to daughters.
Does not include fix in "geommng-V04-01-06".
December 6, 2002 V. Grichine geommng-V04-01-06
- G4VSolid.cc: restored original conditions for extent clipping in
method ClipPolygon(). Makes unit tests run successfully.
November 19, 2002 G. Cosmo geommng-V04-01-05
- G4GeometryManager[.cc]
o Fixed bug in initialisation of fine-grained timer
(courtesy of Helmut Burkhardt).
November 09, 2002 G. Cosmo geommng-V04-01-04
- G4LogicalVolume.cc:
o Correction to propagation of the Field Manager to Daughter volumes:
it should be propagated to all daughters that do not have one -- not to all the
ones that have one already. Fixes bug report for field by logical volume.
(J.Apostolakis)
October 28, 2002 G. Cosmo geommng-V04-01-03
- G4VSolid[.hh.icc.cc]:
o Added pure virtual method StreamInfo() to stream contents of a solid
to a generic output stream.
o Added method DumpInfo() using StreamInfo() to dump contents to the
standard output.
October 23, 2002 G. Cosmo geommng-V04-01-02
- G4PVReplica.cc:
o Corrected order for check on illegal constructions, in constructor taking
a pointer to logical volume as mother volume.
o Improved output diagnostics.
- G4PVParameterised.cc:
o Improved output diagnostics for check on illegal constructions.
October 16, 2002 G. Cosmo geommng-V04-01-01
- G4PVReplica.cc, G4PVParameterised.cc:
Added checks for illegal geometry contructions; contructors now verify unicity
of daughter volumes for replicas and parameterised volumes, as well as checks
for attempt to replicate/parameterise the world volume.
October 4, 2002 G. Cosmo
- G4PVParameterised[.hh.cc], G4PVPlacement[.hh.cc]:
Added new method IsParameterised() to enquire for existing parameterisation
for a placed volume.
- G4PVReplica[.hh.cc], G4VPhysicalVolume[.hh.cc]:
Added methods IsParameterised() and GetMultiplicity() to enquire for existing
parameterisation of placed volume, and number of replicated volumes.
September 11, 2002 G. Cosmo geommng-V04-01-00
- G4AssemblyVolume[.hh.icc.cc]:
o Fixed bug #409 concerning missing imprint counter method.
o Fixed bug #410 concerning the internal counting mechanism.
The fix involved the addition of a new data member fAssemblyID,
holding the instance ID of the given object derived from
class-wide counter. Corresponding accessor methods has been
added as well.
- Updated unit test TestAssemblyVolume, to add call to G4RunManager
for resetting nagivator state in TstVADetectorConstruction.cc.
June 24, 2002 G. Cosmo geommng-V04-00-08
- G4AssemblyVolume[.hh.cc]:
o Moved accessors to assembly counters to public.
o Added support for user definable count base for generated physical volumes.
Fixes problem report #382.
June 7, 2002 G. Cosmo geommng-V04-00-07
- G4AssemblyVolume[.hh.cc]:
o Fixed inconsistent handling of input rotation matrices by caching them
with corresponding deallocation at destruction time.
Comments updated accordingly with a warning about foreseen changes
in methods' interfaces expected by next major release 5.0.
o Correctly handle cases when pointer to rotation matrix is zero.
o Updated unit test.
May 17, 2002 G. Cosmo geommng-V04-00-06
- Added ability to optionally optimise/non-optimise detector regions
using logical volumes:
o G4LogicalVolume:
- Introduced additional bool argument to constructor,
set to 'true' by default.
- Added method IsToOptimise() with corresponding bool flag attribute.
o G4GeometryManager:
- Adapted BuildOptimisations() method to consider optional optimisation
flag from G4LogicalVolume.
May 15, 2002 G. Cosmo geommng-V04-00-05
- G4SmartVoxelHeader:
o Added utility method GetParamAxis() to retrieve suggested axis for
optimisation of parametrised geometry.
o Enhanced BuildReplicaVoxels() to apply 3D voxelisation for non-consuming
nodes if undefined axis is specified for parametrised volumes. In such
case, optimisation for parameterised volumes is applied similarly to
normal placements.
- G4PVReplica.cc: deal with 'kUndefined' EAxis.
- Co-works with "global-V04-00-06".
May 13, 2002 G. Cosmo geommng-V04-00-04
- G4VSolid: use polygon clipping for limited voxel when != pAxis (V.Grichine).
- G4GeometryManager: added method IsGeometryClosed() for detecting geometry
closed or open.
- G4LogicalVolumeStore, G4PhysicalVolumeStore, G4SolidStore: added protection
to Clean() method for checking if geometry is closed.
- G4SmartVoxelHeader.cc: cosmetics and formatting cleanup.
April 19, 2002 G. Cosmo geommng-V04-00-03
- Moved inline constructors/destructors to no inline.
Affected files: G4DrawVoxels[.hh.cc], G4SmartVoxelNode[.hh.cc],
G4SmartVoxelProxy[.hh.cc], G4VoxelLimits[.hh.cc].
- Enhanced behavior for destructors of volumes/solids stores.
o Added locking mechanism for preventing conflicts when destroying stores
and deregistering pointers. Now destructors of stores will also
explicitely delete pointers (and therefore allocated volumes/solids)
dynamically allocated in the user application.
o Added Clean() static method to volumes/solids stores to explicitely
delete pointed objects in the stores and clear all entries.
o Modified files: G4LogicalVolumeStore[.hh.cc], G4SolidStore[.hh.cc],
G4PhysicalVolumeStore[.hh.cc].
April 16, 2002 V. Grichine geommng-V04-00-02
- G4VSolid[.hh.cc]: fixed bug in G4VSolid::ClipPoligon() to consider
clipping related to a single axis.
- G4VoxelLimits.cc: cosmetics changes and debug printouts ...
February 26, 2002 G. Cosmo geommng-V04-00-01
- G4GeometryManager.cc: fixed handling of ios manipulators and precision to reset
to their original state in G4GeometryManager::ReportVoxelStats().
Fixes problem report #343.
January 08, 2002 G. Cosmo geommng-V04-00-00
- G4AffineTransform.icc: fixed trivial compilation warning for gcc-2.95.2.
- Included latest cosmetics changes to TestAssemblyVolume/TstVADetectorConstruction.cc.
November 23, 2001 G. Cosmo geommng-V03-02-03
- Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case
computed nodes for smartless happen to be zero (J.Apostolakis).
November 08, 2001 G. Cosmo geommng-V03-02-02
- Fixed comments for reference manual in G4TouchableHandle.hh.
October 26, 2001 G. Cosmo geommng-V03-02-01
- Improved printout in G4GeometryManager::ReportVoxelStats().
October 22, 2001 G. Cosmo geommng-V03-02-00
- Added definition of G4TouchableHandle (R.Chytracek)
- Added class G4SmartVoxelStat for statistics on geometry optimisation
of volumes through voxelisation (courtesy of D.C.Williams).
- Modified G4GeometryManager to make use of G4SmartVoxelStat when run in
verbose mode.
May 31, 2001 G. Cosmo geommng-V03-01-04
- Adopt explicit initialisation for 'minExtents' and 'maxExtents'
in G4SmartVoxelHeader::BuildNodes(...), to allow porting on ObjectSpace STL.
May 23, 2001 G. Cosmo geommng-V03-01-03
- G4SmartVoxelHeader.cc: minor fix for removing pedantic warnings
detected on Linux-g++ with ISO/ANSI setup.
May 03, 2001 G. Cosmo geommng-V03-01-02
- G4DrawVoxels.cc: migration to STL vector according to changes in
graphics_reps module (greps-V03-01-01), now migrated as well.
April 27, 2001 G. Cosmo geommng-V03-01-01
- G4LogicalVolume.cc, G4SmartVoxelHeader.cc: fixed compilation warnings
on HP-UX, concerning potential uninitialised vector elements.
April 20, 2001 G. Cosmo geommng-V03-01-00
- Migration to STL vector:
o G4VSolid: migrated G4ThreeVectorList typedef.
o G4SolidStore, G4LogicalVolumeStore, G4PhysicalVolumeStore: migrated
inheritance from base collection of pointers.
o G4LogicalVolume: migrated data member "fDaughters".
o G4SmartVoxelHeader: migrated typedefs G4ProxyVector, G4NodeVector,
G4VolumeNosVector and G4VolumeExtentVector.
o G4SmartVoxelNode: migrated G4SliceVector typedef.
March 07, 2001 G. Cosmo geommng-V03-00-01
- G4PVPlacement.hh: corrected comments to constructor with G4RotationMatrix*
as argument, to correspond to specifications in the User's Manual.
- G4AssemblyVolume.cc: corrected comments about unique PV identifiers
(by R.Chytracek).
February 07, 2001 G. Cosmo geommng-V03-00-00
- Introduced first implementation of G4AssemblyVolume, a helper class to
combine several volumes together in an arbitrary way in the 3D space.
Added files: G4AssemblyVolume[.hh.icc.cc], G4AssemblyTriplet[.hh.icc]
(by R.Chytracek).
- Added unit test suite for G4AssemblyVolume class: TestAssemblyVolume
(by R.Chytracek).
December 04, 2000 G. Cosmo
- Minor fix to private assignment operator.
November 20, 2000 G. Cosmo geommng-V02-00-04
- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options:
o commented out variables declared and not used.
o fixed declaration of variables used before being initialised.
o fixed order of initialisation of member data in constructors.
o fixed usage of unsigned-int (size_t) for array indeces.
November 16, 2000 V.Grichine geommng-V02-00-03
- Fix in G4VSolid::CalculateClippedPoligonExtent(): removed assumption
that pMin<pMax by eliminating "else" condition. (D.Williams)
November 9, 2000 G.Cosmo geommng-V02-00-02
- Included test directory containing "voxel" test by L.Grainac.
November 1, 2000 G.Cosmo geommng-V02-00-01
- QA code revision and cleanup (+fixes from CodeWizard filtering):
o Added (private) declarations of copy constructor and assignment
operator where needed.
o Added "const" qualifier to accessor methods, wherever needed.
o Added equality check on operator= where needed.
o Made destructor "virtual" for classes having virtual methods,
wherever missing.
o Changed virtual functions to non-inline wherever's the case.
o Added "inline" qualifier to methods' declarations.
o Replaced usage of "do-loops" with "while-loops" in
G4VoxelLimits::ClipToLimits().
o General cosmetics
September 11, 2000 G.Cosmo geommng-V02-00-00
- G4SolidStore.cc: fixed bug in destructor causing memory corruption at
application exit when Boolean solids are involved (bug #154).
June 06, 2000 G.Cosmo geommng-V01-01-00
- G4DrawVoxels.hh: removed line '#define G4DrawVoxelsDebug' left in place
accidentally in the code...
April 20, 2000 G. Cosmo
- Reorganised comments for the Software Reference Manual.
- Moved inlined definition to .icc files, where needed.
Created: G4SmartVoxelHeader.icc, G4SmartVoxelNode.icc,
G4SmartVoxelProxy.icc, G4VoxelLimits.icc.
April 11, 2000 J. Allison
- Made virtual G4VisExtent G4VSolid::GetExtent() non-pure and implemented
a default in terms of CalculateExtent.
January 19, 2000 G. Cosmo geommng-V01-00-00
- Syncronized file versioning with HEAD (several CVS headers changed
due to the recent migration for ISO C++)
January 19, 2000 J. Allison
- G4DrawVoxels.cc: assured GetSlice(slice_no) is called for
slice_no < no_slices.
November 30, 1999 G. Cosmo geommng-V00-01-01a
- G4DrawVoxels.cc:
Fixed initialization of (const G4VPhysicalVolume*) in method
GetAbsoluteTransformation(). Fix needed for NT/VC++ compiler.
November 09, 1999 J. Apostolakis geommng-V00-01-01
- G4VPhysicalVolume:
i) Made G4RotationMatrix G4VPhysicalVolume::GetObjectRotation() const
non-inline and moved it to source file from inline file.
ii) Added GetObjectRotationValue() method.
iii) Minimal changes of comments for Software Ref. Manual in header file
[ Change i) caused problem with HP aCC compiler A.01.19. Atlas
was patching the code to try to get around this, but this
resolution is much better ]
March 17, 1999 J. Apostolakis geommng-01-00-02
- G4AffineTransform.icc:
Corrected a typo in InverseProduct (rzy->ryz) that caused the incorrect
calculation of a compound transformation (if tf1.tz*tf2.ryz != 0).
This problem was seen in ATLAS code.