Geant4 Cross Reference |
1 # Category geommng History << 1 ------------------------------------------------------------------- 2 2 3 See `CONTRIBUTING.rst` for details of **requir << 3 ========================================================= 4 which **must** added in reverse chronological << 4 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 5 It must **not** be used as a substitute for wr << 5 ========================================================= 6 << 6 7 ---------------------------------------------- << 7 Category History file 8 << 8 --------------------- 9 ## 2024-08-26 Gabriele Cosmo (geommng-V11-02-0 << 9 This file should be used by G4 developers and category coordinators 10 - G4GeometryManager: temporarily disable defau << 10 to briefly summarize all major modifications introduced in the code 11 Fixed spelling for method OptimiseInParallel << 11 and keep track of all category-tags. 12 << 12 It DOES NOT substitute the log-message one should put in every 13 ## 2024-08-07 Gabriele Cosmo (geommng-V11-02-0 << 13 commit in the repository ! 14 - Fixed broken condition for enabling voxels s << 14 15 G4GeometryManager::UndertakeOptimisation(). << 15 ---------------------------------------------------------- 16 - Further cleanup in G4GeometryManager for usa << 16 * Reverse chronological order (last date on top), please * 17 Fixed spelling on data members. << 17 ---------------------------------------------------------- 18 - Access G4GeometryManager singleton through i << 18 August 31, 2021 B.Morgan (geommng-V10-06-07) 19 << 20 ## 2024-08-06 Gabriele Cosmo (geommng-V11-02-0 << 21 - In G4GeometryManager, removed unnecessary st << 22 and ordered methods declarations in header. << 23 << 24 ## 2024-06-17 Gabriele Cosmo (geommng-V11-02-0 << 25 - Removed G4SmartVoxelProxy source file, as no << 26 - Minor code cleanup/indentation. << 27 << 28 ## 2024-06-02 John Apostolakis (geommng-V11-02 << 29 - New capability to run voxel optimisation in << 30 First version, parallelises only over volume << 31 RequestParallelOptimisation(optimise, verbos << 32 to turn it on/off. Set verbose=true to obtai << 33 contribution to memory size and CPU time for << 34 Added new method BuildOptimisationsParallel( << 35 G4WorkerRunManager to initialize. Added meth << 36 for verification. Checked with simple and co << 37 << 38 ## 2024-05-29 Evgueni Tcherniaev (geommng-V11- << 39 - Added new methods GetNumOfConstituents() and << 40 << 41 ## 2024-04-02 Gabriele Cosmo (geommng-V11-02-0 << 42 - Applied trivial clang-tidy fixes to G4ErrorT << 43 constructor. << 44 << 45 ## 2023-10-06 Gabriele Cosmo (geommng-V11-01-0 << 46 - Restore virtual methods in G4TouchableHistor << 47 compatibility with visualization modeling co << 48 << 49 ## 2023-09-04 Gabriele Cosmo (geommng-V11-01-0 << 50 - Made G4TouchableHistoryHandle a typedef of G << 51 << 52 ## 2023-08-31 Gabriele Cosmo (geommng-V11-01-0 << 53 - Removed inheritance level for G4TouchableHis << 54 simple typdef of G4TouchableHistory, therefo << 55 - Imported G4NavigationHistory, G4NavigationHi << 56 G4NavigationLevelRep classes and translation << 57 << 58 ## 2023-05-08 Gabriele Cosmo (geommng-V11-01-0 << 59 - Applied clang-tidy fixes (readability, moder << 60 << 61 ## 2023-03-22 Gabriele Cosmo (geommng-V11-01-0 << 62 - G4Region: issue fatal exception if attemptin << 63 which is already set as root for another reg << 64 << 65 ## 2023-01-09 Gabriele Cosmo (geommng-V11-01-0 << 66 - G4LogicalVolume: use std::shared_ptr for han << 67 Ignore calls to SetVisAttributes() from work << 68 << 69 ## 2022-11-16 Gabriele Cosmo (geommng-V11-00-0 << 70 - Fixed more compilation warnings for implicit << 71 macOS/XCode 14.1 in G4SmartVoxelNode source. << 72 << 73 ## 2022-11-10 Gabriele Cosmo (geommng-V11-00-0 << 74 - Fixed compilation warnings for implicit type << 75 << 76 ## 2022-10-04 Gabriele Cosmo (geommng-V11-00-0 << 77 - Fixed compilation warnings on Intel/icx comp << 78 used. << 79 << 80 ### 2022-08-16 Gabriele Cosmo (geommng-V11-00- << 81 - Added protection in G4GeometryManager for Op << 82 be executed only by master thread. << 83 Addressing problem report #2502. << 84 << 85 ## 2022-07-03 Ben Morgan (geommng-V11-00-05) << 86 - Add headers for directly used classes from g << 87 << 88 ## 2022-04-13 Ben Morgan (geommng-V11-00-04) << 89 - Add missing dependency on G4heprandom << 90 << 91 ## 2021-03-05 Makoto Asai (geommng-V11-00-03) << 92 - G4SolidStore, G4LogicalVolumeStore, G4Physic << 93 extend getter methods to optionally return t << 94 << 95 ## 2021-02-05 Evgueni Tcherniaev (geommng-V11- << 96 - G4BoundingEnvelope: get rid of "new" operato << 97 << 98 ## 2021-01-19 Evgueni Tcherniaev (geommng-V11- << 99 - G4ReflectedSolid: added GetCubicVolume(), Ge << 100 << 101 ## 2021-12-10 Ben Morgan (geommng-V11-00-00) << 102 - Change to new Markdown History format << 103 << 104 --- << 105 << 106 # History entries prior to 11.0 << 107 << 108 September 28, 2021 G.Cosmo (geommng-V10-07-07) << 109 - Use G4Allocator to dynamically allocate node << 110 voxels optimisation structure. Should help r << 111 << 112 September 24, 2021 G.Cosmo (geommng-V10-07-06) << 113 - Basic clang-tidy review of code. << 114 << 115 August 31, 2021 B.Morgan (geommng-V10-07-05) << 116 - Provide operator<< as a free function for G4 19 - Provide operator<< as a free function for G4UAdapter to support Geant4Py 117 - Make operator<< for G4VSolid a free function << 118 << 119 June 15, 2021 J.Apostolakis (geommng-V10-07-0 << 120 - G4UAdapter: added std::ostream& operator << << 121 between similar methods for G4VSolid and Vec << 122 << 123 April 12, 2021 G.Cosmo (geommng-V10-07-03) << 124 - Fixed potential thread contention in stores << 125 at initialisation. << 126 << 127 April 9, 2021 G.Cosmo (geommng-V10-07-02) << 128 - Added missing implementation of inline metho << 129 << 130 March 30, 2021 B.Morgan (geommng-V10-07-01) << 131 - Migrate sources.cmake to modular build API << 132 << 133 March 23, 2021 G.Cosmo (geommng-V10-07-00) << 134 - Added map for fast search based on name in G << 135 G4logicalVolumeStore and G4PhysicalVolumeSto << 136 stored in the map as buckets, grouping eleme << 137 20 138 November 8, 2020 E.Tcherniaev (geommng-V10-06- 21 November 8, 2020 E.Tcherniaev (geommng-V10-06-06) 139 - Bug fix in calculation of normal in G4UAdapt 22 - Bug fix in calculation of normal in G4UAdapter::DistanceToOut() 140 23 141 October 28, 2020 Ben Morgan (geommng-V10-06-05 24 October 28, 2020 Ben Morgan (geommng-V10-06-05) 142 - Remove include of obsolete CMake module 25 - Remove include of obsolete CMake module 143 26 144 May 28, 2020 B.Morgan (geommng-V10-06-04) 27 May 28, 2020 B.Morgan (geommng-V10-06-04) 145 - When using new CMake build, add location of 28 - When using new CMake build, add location of generated G4GeomConfig.hh 146 header to public include directories of G4ge 29 header to public include directories of G4geometrymng module. 147 30 148 April 30, 2020 Gabriele Cosmo (geommng-V10-06- 31 April 30, 2020 Gabriele Cosmo (geommng-V10-06-03) 149 - Adopt new convention for location of headers 32 - Adopt new convention for location of headers in VecGeom for wrappers. 150 33 151 April 17, 2020 Gabriele Cosmo (geommng-V10-06- 34 April 17, 2020 Gabriele Cosmo (geommng-V10-06-02) 152 - Added deleted declarations for copy construc 35 - Added deleted declarations for copy constructor and assignment operators 153 on store singletons. Based on GitHub PR#12 s 36 on store singletons. Based on GitHub PR#12 suggestion. 154 37 155 April 2, 2020 Guilherme Amadio (geommng-V10-06 38 April 2, 2020 Guilherme Amadio (geommng-V10-06-01) 156 - Reduce size of LogicalVolumes by reordering 39 - Reduce size of LogicalVolumes by reordering class members 157 40 158 December 10, 2019 Ben Morgan (geommng-V10-06-0 41 December 10, 2019 Ben Morgan (geommng-V10-06-00) 159 - Cleanup CMake build, removing obsolete granu 42 - Cleanup CMake build, removing obsolete granular library options and 160 explicit include_directories. 43 explicit include_directories. 161 44 162 November 15, 2019 Gabriele Cosmo (geommng-V10- 45 November 15, 2019 Gabriele Cosmo (geommng-V10-05-15) 163 - Fixed cases of implicit type conversions fro 46 - Fixed cases of implicit type conversions from size_t to G4int. 164 47 165 November 11, 2019 J.Apostolakis (geommng-V10-0 48 November 11, 2019 J.Apostolakis (geommng-V10-05-14) 166 - G4LogicalVolume: Added method 'ChangeDaughte 49 - G4LogicalVolume: Added method 'ChangeDaughtersType' to change the 167 volume type for CharacterisedDaughters. It 50 volume type for CharacterisedDaughters. It enables the user to turn 168 over responsibility for navigation in that v 51 over responsibility for navigation in that volume to an external navigator. 169 ( This is for use when one or more daughter 52 ( This is for use when one or more daughter volumes are created as an 170 existing physical volume types (typically 53 existing physical volume types (typically G4PVPlacement). ) 171 It can also be used enable to create a (logi 54 It can also be used enable to create a (logical) volume which containts a 172 mixture of existing G4-toolkit physical volu 55 mixture of existing G4-toolkit physical volume types, and user-created 173 'external' physical volume (with type code ' 56 'external' physical volume (with type code 'kExternal'). 174 G4 types must be created first, and then Cha 57 G4 types must be created first, and then ChangeDaughtersType must be called 175 to change the mother's attribute to 'kExtern 58 to change the mother's attribute to 'kExternal'. 176 Note: only one type of sub-navigator will be 59 Note: only one type of sub-navigator will be called to find a track's 177 intersection (or the location of a point) in 60 intersection (or the location of a point) in all daughters of one mother 178 volume. The sub-navigator chosen will corres 61 volume. The sub-navigator chosen will correspond to the volume type assigned. 179 62 180 October 29, 2019 J.Apostolakis (geommng-V10-05 63 October 29, 2019 J.Apostolakis (geommng-V10-05-13) 181 - Use stored volume type for G4LogicalVolume:: 64 - Use stored volume type for G4LogicalVolume::CharacterisedDaughters, 182 after fix to correctly store type of G4PVPar 65 after fix to correctly store type of G4PVParameterised volume. 183 Requires geomvol-V10-05-07. 66 Requires geomvol-V10-05-07. 184 67 185 October 23, 2019 J.Apostolakis, G.Cosmo (geomm 68 October 23, 2019 J.Apostolakis, G.Cosmo (geommng-V10-05-12) 186 - Revised G4LogicalVolume to cope with 'extern 69 - Revised G4LogicalVolume to cope with 'external' type of physical volumes. 187 Note: these revisions are independent and ba 70 Note: these revisions are independent and backward compatible. 188 - Co-works with geomnav-V10-05-11 (external na 71 - Co-works with geomnav-V10-05-11 (external navigation). 189 72 190 October 23, 2019 J.Apostolakis (geommng-V10-05 73 October 23, 2019 J.Apostolakis (geommng-V10-05-11) 191 - Changed G4VPhysicalVolume::VolumeType() to b 74 - Changed G4VPhysicalVolume::VolumeType() to be virtual. 192 Preparing for addition of External Navigatio 75 Preparing for addition of External Navigation, which adds an 'external' 193 physical volume type (for use with an Extern 76 physical volume type (for use with an External sub-Navigator). 194 Note: This is used by G4Navigator's Characte 77 Note: This is used by G4Navigator's CharacteriseDaughters() method. 195 The old method derived this value from respo 78 The old method derived this value from response of IsReplicated() 196 virtual method and, in the case of replica/d 79 virtual method and, in the case of replica/division/parameterised volumes, 197 information from a call to the 2nd virtual m 80 information from a call to the 2nd virtual method ReplicationData. 198 - G4VPhysicalVolume copy constructor and assig 81 - G4VPhysicalVolume copy constructor and assignment operator are now 'deleted'. 199 - Requires and co-works with geomvol-V10-05-05 82 - Requires and co-works with geomvol-V10-05-05, geomdiv-V10-05-02. 200 83 201 September 14, 2019 E.Tcherniaev (geommng-V10-0 84 September 14, 2019 E.Tcherniaev (geommng-V10-05-10) 202 - Use G4QuickRand() in G4VSolid::EstimateCubic 85 - Use G4QuickRand() in G4VSolid::EstimateCubicVolume() and 203 G4VSolid::EstimateSurfaceArea() 86 G4VSolid::EstimateSurfaceArea() 204 87 205 August 22, 2019 G.Cosmo (geommng-V10-05-09) 88 August 22, 2019 G.Cosmo (geommng-V10-05-09) 206 - Use pre-increment wherever possible. 89 - Use pre-increment wherever possible. 207 90 208 July 11, 2019 G.Cosmo (geommng-V10-05-08) 91 July 11, 2019 G.Cosmo (geommng-V10-05-08) 209 - Implemented c++11 revision: nullptr, auto, i 92 - Implemented c++11 revision: nullptr, auto, inline data initialisation, 210 const iterators, alias using statements. 93 const iterators, alias using statements. 211 - Code cleanup and formatting. 94 - Code cleanup and formatting. 212 95 213 May 29, 2019 G.Cosmo (geommng-V10-05-07) 96 May 29, 2019 G.Cosmo (geommng-V10-05-07) 214 - Fixed minor Coverity defects. 97 - Fixed minor Coverity defects. 215 98 216 May 20, 2019 G.Cosmo (geommng-V10-05-06) 99 May 20, 2019 G.Cosmo (geommng-V10-05-06) 217 - Defined move constructor and move assignment 100 - Defined move constructor and move assignment operator for G4AffineTransform. 218 101 219 May 14, 2019 B.Morgan (geommng-V10-05-05) 102 May 14, 2019 B.Morgan (geommng-V10-05-05) 220 - Use header-based #define/undef symbols to co 103 - Use header-based #define/undef symbols to configure VecGeom replacements 221 - G4GeomConfig.hh: Generated header configurin 104 - G4GeomConfig.hh: Generated header configuring #defines using CMake settings 222 - G4GeomTypes.hh: "Interface" header to suppor 105 - G4GeomTypes.hh: "Interface" header to support old GNUmake system. All Geant4 223 code should #include this rather than the ge 106 code should #include this rather than the generated header, which is only 224 present in CMake mode. 107 present in CMake mode. 225 - G4UAdapter.hh: Add inclusion of G4GeomTypes. 108 - G4UAdapter.hh: Add inclusion of G4GeomTypes.hh 226 - See also cmake-V10-05-03 109 - See also cmake-V10-05-03 227 110 228 May 13, 2019 G.Cosmo (geommng-V10-05-04) 111 May 13, 2019 G.Cosmo (geommng-V10-05-04) 229 - Replaced deprecated std::binary_function cal 112 - Replaced deprecated std::binary_function calls with lambdas in 230 G4SmartVoxelStat and G4GeometryManager. 113 G4SmartVoxelStat and G4GeometryManager. 231 Courtesy of S.Losilla, from GitHub PR#8. 114 Courtesy of S.Losilla, from GitHub PR#8. 232 115 233 April 29, 2019 G.Cosmo (geommng-V10-05-03) 116 April 29, 2019 G.Cosmo (geommng-V10-05-03) 234 - Properly initialise to zero splitted data in 117 - Properly initialise to zero splitted data in G4VPhysicalVolume. 235 118 236 April 23, 2019 G.Cosmo (geommng-V10-05-02) 119 April 23, 2019 G.Cosmo (geommng-V10-05-02) 237 - G4GeomSplitter: re-enabled use or realloc()/ 120 - G4GeomSplitter: re-enabled use or realloc()/free() and memcpy(), after 238 adapting G4VPhysicalVolume MT splitted data 121 adapting G4VPhysicalVolume MT splitted data to adopt only trivial types 239 for allocation. 122 for allocation. 240 123 241 March 8, 2019 G.Cosmo (geommng-V10-05-01) 124 March 8, 2019 G.Cosmo (geommng-V10-05-01) 242 - G4LogicalVolume: in AddDaughter() avoid prop 125 - G4LogicalVolume: in AddDaughter() avoid propagating pointer to field-manager 243 if this is null. Addressing problem report # 126 if this is null. Addressing problem report #2145. 244 127 245 January 30, 2019 A.Dotti, G.Cosmo (geommng-V10 128 January 30, 2019 A.Dotti, G.Cosmo (geommng-V10-05-00) 246 - Use reverse_iterator in G4SolidStore::DeRegi 129 - Use reverse_iterator in G4SolidStore::DeRegister() in order to speedup 247 partial deregistration on setups with many s 130 partial deregistration on setups with many solids instances. 248 - G4Region: added possibility to disable searc 131 - G4Region: added possibility to disable search in the tree in 249 AddRootLogicalVolume() for speeding up proce 132 AddRootLogicalVolume() for speeding up process in complex flat geometries. 250 133 251 October 18, 2018 E.Tcherniaev (geommng-V10-04- 134 October 18, 2018 E.Tcherniaev (geommng-V10-04-08) 252 - G4VSolid: improved setting of surface thickn 135 - G4VSolid: improved setting of surface thickness in EstimateSurfaceArea(). 253 136 254 October 12, 2018 E.Tcherniaev (geommng-V10-04- 137 October 12, 2018 E.Tcherniaev (geommng-V10-04-07) 255 - G4VSolid: more precise calculation of distan 138 - G4VSolid: more precise calculation of distance for inside points in 256 EstimateSurfaceArea(). 139 EstimateSurfaceArea(). 257 140 258 October 10, 2018 E.Tcherniaev (geommng-V10-04- 141 October 10, 2018 E.Tcherniaev (geommng-V10-04-06) 259 - G4VSolid: reimplemented EstimateSurfaceArea( 142 - G4VSolid: reimplemented EstimateSurfaceArea() for approximate calculation 260 of the surface area of a solid, by estimatin 143 of the surface area of a solid, by estimating volume of a thin shell 261 surrounding the surface using Monte-Carlo me 144 surrounding the surface using Monte-Carlo method; algorithm providing more 262 accurate estimation without performance pena 145 accurate estimation without performance penalty. 263 146 264 May 16, 2018 G.Cosmo (geommng-V10-04-05) 147 May 16, 2018 G.Cosmo (geommng-V10-04-05) 265 - G4GeomSplitter: replaced use or realloc()/fr 148 - G4GeomSplitter: replaced use or realloc()/free() and memcpy() with 266 normal allocation/deallocation through G4All 149 normal allocation/deallocation through G4Allocator. Also addressing 267 compilation warnings on gcc-8.1. 150 compilation warnings on gcc-8.1. 268 151 269 May 11, 2018 E.Tcherniaev (geommng-V10-04-04) 152 May 11, 2018 E.Tcherniaev (geommng-V10-04-04) 270 - G4AffineTransform: further optimised Inverse << 153 - G4AffineTransform: further optimized InverseProduct(), for the case where 271 tf2 is a pure translation. 154 tf2 is a pure translation. 272 155 273 May 7, 2018 E.Tcherniaev (geommng-V10-04-03) 156 May 7, 2018 E.Tcherniaev (geommng-V10-04-03) 274 - G4AffineTransform: added explicit copy const 157 - G4AffineTransform: added explicit copy constructor, assignment and destructor; 275 InverseProduct() has been optimised, now it 158 InverseProduct() has been optimised, now it does 36 multiplications instead 276 of 45; added methods for inverse transformat 159 of 45; added methods for inverse transformation: InverseTransformPoint(), 277 InverseTransformAxis(), InverseNetRotation() 160 InverseTransformAxis(), InverseNetRotation() and InverseNetTranslation(). 278 161 279 April 24, 2018 E.Tcherniaev (geommng-V10-04-02 162 April 24, 2018 E.Tcherniaev (geommng-V10-04-02) 280 - G4AffineTransform: minor optimisation to mul 163 - G4AffineTransform: minor optimisation to multiplication of matrix by vector, 281 to make use of temporaries in accessing vect 164 to make use of temporaries in accessing vector components. 282 165 283 April 11, 2018 G.Cosmo (geommng-V10-04-01) 166 April 11, 2018 G.Cosmo (geommng-V10-04-01) 284 - Replaced USOLIDS_LIBRARIES with VECGEOM_LIBR 167 - Replaced USOLIDS_LIBRARIES with VECGEOM_LIBRARIES in sources.cmake. 285 168 286 December 19, 2017 G.Cosmo (geommng-V10-04-00) 169 December 19, 2017 G.Cosmo (geommng-V10-04-00) 287 - Fixed self-consistency in G4VVolumeMaterialS 170 - Fixed self-consistency in G4VVolumeMaterialScanner header (missing #include). 288 Thanks to Raphael Isemann for reporting this 171 Thanks to Raphael Isemann for reporting this. 289 172 290 November 10, 2017 P.Arce (geommng-V10-03-22) 173 November 10, 2017 P.Arce (geommng-V10-03-22) 291 - Bug report 2011: precision correction in G4E 174 - Bug report 2011: precision correction in G4ErrorPlaneSurfaceTarget.cc 292 175 293 October 16, 2017 G.Cosmo geo 176 October 16, 2017 G.Cosmo geommng-V10-03-21 294 - Removed G4USolid base wrapper for USolids. O 177 - Removed G4USolid base wrapper for USolids. Only native VecGeom 295 implementation through G4UAdapter is now sup 178 implementation through G4UAdapter is now supported. 296 Requires corresponding tag "geom-specific-V1 179 Requires corresponding tag "geom-specific-V10-03-20". 297 - Enable proper implementation of operator=() 180 - Enable proper implementation of operator=() in G4UAdapter. 298 181 299 October 11, 2017 E.Tcherniaev geo 182 October 11, 2017 E.Tcherniaev geommng-V10-03-20, 19 300 - G4GeomTools: added PointInPolygon() function 183 - G4GeomTools: added PointInPolygon() function, to dtermine the position of a 301 point relative to a polygon in 2D. 184 point relative to a polygon in 2D. 302 185 303 June 9, 2017 G.Cosmo geo 186 June 9, 2017 G.Cosmo geommng-V10-03-18 304 - Corrections and improvements to G4UAdapter. 187 - Corrections and improvements to G4UAdapter. 305 188 306 June 1, 2017 G.Cosmo geo 189 June 1, 2017 G.Cosmo geommng-V10-03-17 307 - Made G4UAdapter compliant with latest modifi 190 - Made G4UAdapter compliant with latest modifications in VecGeom for 308 renaming of GetPointOnSurface() method to Sa 191 renaming of GetPointOnSurface() method to SamplePointOnSurface(). 309 192 310 May 24, 2017 G.Cosmo geo 193 May 24, 2017 G.Cosmo geommng-V10-03-16 311 - Renamed ambiguous name Extent() in G4VSolid 194 - Renamed ambiguous name Extent() in G4VSolid to BoundingLimits(). 312 Modified G4ReflectedSolid accordingly. 195 Modified G4ReflectedSolid accordingly. 313 Change required in order to avoid signature 196 Change required in order to avoid signature conflict with VecGeom 314 in G4U* wrappers. 197 in G4U* wrappers. 315 198 316 May 24, 2017 G.Cosmo geo 199 May 24, 2017 G.Cosmo geommng-V10-03-15 317 - Added adapter class G4UAdapter for interfaci 200 - Added adapter class G4UAdapter for interfacing G4U* wrappers with VecGeom. 318 Will replace G4USolid bridge class, deprecat 201 Will replace G4USolid bridge class, deprecating USolids API in favour of 319 direct use of VecGeom signatures and removal 202 direct use of VecGeom signatures and removal of one extra-level of 320 indirection/inheritance. 203 indirection/inheritance. 321 204 322 May 9, 2017 G.Cosmo geo 205 May 9, 2017 G.Cosmo geommng-V10-03-14 323 - Moved few key methods to be inline in G4USol 206 - Moved few key methods to be inline in G4USolid. 324 207 325 March 28, 2017 G.Cosmo geo 208 March 28, 2017 G.Cosmo geommng-V10-03-13 326 - Enabled deletion of solids in G4SolidsStore 209 - Enabled deletion of solids in G4SolidsStore destructor also for MT mode. 327 210 328 March 22, 2017 G.Cosmo geo 211 March 22, 2017 G.Cosmo geommng-V10-03-12 329 - Define IsGeometryClosed() in G4GeometryManag 212 - Define IsGeometryClosed() in G4GeometryManager as a static method, to 330 avoid call to GetInstance(). Made related Bo 213 avoid call to GetInstance(). Made related Boolean flag thread-local. 331 214 332 March 21, 2017 G.Cosmo geo 215 March 21, 2017 G.Cosmo geommng-V10-03-11, 10 333 - Restore singleton pointer to thread-local an 216 - Restore singleton pointer to thread-local and provide simple accessor to it. 334 217 335 March 17, 2017 G.Cosmo geo 218 March 17, 2017 G.Cosmo geommng-V10-03-09 336 - Define G4GeometryManager as normal singleton 219 - Define G4GeometryManager as normal singleton. 337 220 338 March 15, 2017 G.Cosmo geo 221 March 15, 2017 G.Cosmo geommng-V10-03-08 339 - Refined deletion of subinstance offsets in s 222 - Refined deletion of subinstance offsets in stores. 340 223 341 March 14, 2017 G.Cosmo geo 224 March 14, 2017 G.Cosmo geommng-V10-03-07 342 - Removed additional wrong lock in G4GeomSplit 225 - Removed additional wrong lock in G4GeomSplitter for function 343 SlaveReCopySubInstanceArray(). 226 SlaveReCopySubInstanceArray(). 344 - Disable cleaning of subinstance offsets on W 227 - Disable cleaning of subinstance offsets on Windows. 345 228 346 March 10, 2017 G.Cosmo geo 229 March 10, 2017 G.Cosmo geommng-V10-03-06,5,4,3 347 - Fixed static memory leak from G4LogicalVolum 230 - Fixed static memory leak from G4LogicalVolume, G4VPhysicalVolume and 348 G4Region, for offsets allocated in sequentia 231 G4Region, for offsets allocated in sequential mode. 349 232 350 February 27, 2017 E.Tcherniaev geo 233 February 27, 2017 E.Tcherniaev geommng-V10-03-02 351 - Added functions EllipsePerimeter(), Elliptic 234 - Added functions EllipsePerimeter(), EllipticConeLateralArea() and 352 comp_ellint_2() to G4GeomTools. 235 comp_ellint_2() to G4GeomTools. 353 236 354 December 16, 2016 G.Cosmo geo 237 December 16, 2016 G.Cosmo geommng-V10-03-01 355 - Fixed compilation warning on gcc-6.2 for las 238 - Fixed compilation warning on gcc-6.2 for last changes in G4GeomTools. 356 239 357 December 14, 2016 E.Tcherniaev geo 240 December 14, 2016 E.Tcherniaev geommng-V10-03-00 358 - Added methods TriangelAreaNormal(), QuadArea 241 - Added methods TriangelAreaNormal(), QuadAreaNormal(), PolygonAreaNormal(), 359 ClosestPointOnSegment() and ClosestPointOnTr 242 ClosestPointOnSegment() and ClosestPointOnTriangle() to G4GeomTools. 360 243 361 November 8, 2016 G.Cosmo geo 244 November 8, 2016 G.Cosmo geommng-V10-02-32 362 - Fixed header inclusions in G4LogicalCrystalV 245 - Fixed header inclusions in G4LogicalCrystalVolume and make use of 363 dynamic_cast instead of C-style cast. 246 dynamic_cast instead of C-style cast. 364 247 365 November 8, 2016 G.Cosmo geo 248 November 8, 2016 G.Cosmo geommng-V10-02-31 366 - Again code formatting to G4LogicalCrystalVol 249 - Again code formatting to G4LogicalCrystalVolume files. 367 250 368 November 7, 2016 E. Bagli geo 251 November 7, 2016 E. Bagli geommng-V10-02-30 369 - Modified G4LogicalCrystalVolume for the G4Cr 252 - Modified G4LogicalCrystalVolume for the G4CrystalExtension 370 253 371 November 3, 2016 G.Cosmo geo 254 November 3, 2016 G.Cosmo geommng-V10-02-29 372 - Added Extent() virtual method to G4VSolid an 255 - Added Extent() virtual method to G4VSolid and G4ReflectedSolid (E.Tcherniaev). 373 - Fixed Coverity defect in G4LogicalVolume::Cl 256 - Fixed Coverity defect in G4LogicalVolume::ClearDaughters(). 374 257 375 November 1, 2016 E.Tcherniaev geo 258 November 1, 2016 E.Tcherniaev geommng-V10-02-28 376 - Added function DistancePointSegment() to G4G 259 - Added function DistancePointSegment() to G4GeomTools class. 377 - Code formatting in G4LogicalCrystalVolume. 260 - Code formatting in G4LogicalCrystalVolume. 378 261 379 October 26, 2016 E.Tcherniaev geo 262 October 26, 2016 E.Tcherniaev geommng-V10-02-27 380 - Added new functions SphereExtent(), Triangul 263 - Added new functions SphereExtent(), TriangulatePolygon(), IsConvex() and 381 RemoveRedundantVertices() to G4GeomTools cla 264 RemoveRedundantVertices() to G4GeomTools class. 382 265 383 October 24, 2016 E.Bagli geo 266 October 24, 2016 E.Bagli geommng-V10-02-26 384 - Added class G4LogicalCrystalVolume, represen 267 - Added class G4LogicalCrystalVolume, representing an extended logical 385 volume for crystal description. 268 volume for crystal description. 386 269 387 October 21, 2016 G.Cosmo geo 270 October 21, 2016 G.Cosmo geommng-V10-02-25 388 - Moved initialisation of G4GeomSplitter threa 271 - Moved initialisation of G4GeomSplitter thread-local data to be inline 389 along with generic template type. 272 along with generic template type. 390 Fixing compilation/linking errors on clang-3 273 Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. 391 - Added IsConvex() method to G4GeomTools. 274 - Added IsConvex() method to G4GeomTools. 392 275 393 October 19, 2016 M.Asai geo 276 October 19, 2016 M.Asai geommng-V10-02-24, 23 394 - G4LogicalVolume: added virtual keyword is to 277 - G4LogicalVolume: added virtual keyword is to destructor for extended 395 yypes in the kernel. Added IsExtended() meth 278 yypes in the kernel. Added IsExtended() method. 396 279 397 October 16, 2016 E.Tcherniaev 280 October 16, 2016 E.Tcherniaev 398 - New utility class G4GeomTools providing stat 281 - New utility class G4GeomTools providing static utility methods for 399 geometry related calculations. 282 geometry related calculations. 400 283 401 October 2, 2016 E.Tcherniaev geo 284 October 2, 2016 E.Tcherniaev geommng-V10-02-22 402 - G4BoundingEnvelope: take into account four p 285 - G4BoundingEnvelope: take into account four points instead of three in 403 CreateListOfPlanes(). 286 CreateListOfPlanes(). 404 287 405 September 26, 2016 E.Tcherniaev geo 288 September 26, 2016 E.Tcherniaev geommng-V10-02-21 406 - G4USolid: make direct use extent from shapes 289 - G4USolid: make direct use extent from shapes for computing bounding-box 407 in CalculateExtent(). 290 in CalculateExtent(). 408 291 409 September 22, 2016 E.Tcherniaev geo 292 September 22, 2016 E.Tcherniaev geommng-V10-02-20 410 - Added checks for bounding-box extents in G4U 293 - Added checks for bounding-box extents in G4USolid. 411 - Converted fatal exception to warning for Che 294 - Converted fatal exception to warning for CheckBoundingBox() in 412 G4BoundingEnvelope. Corrected use of 'const' 295 G4BoundingEnvelope. Corrected use of 'const' data to resolve Coverity 413 defects. 296 defects. 414 297 415 September 20, 2016 G.Cosmo geo 298 September 20, 2016 G.Cosmo geommng-V10-02-19 416 - Moved accessors/modifiers for splitter data 299 - Moved accessors/modifiers for splitter data to non-inline in G4Region, 417 G4LogicalVolume, G4VPhysicalVolume. 300 G4LogicalVolume, G4VPhysicalVolume. 418 Fixing compilation/linking errors on clang-3 301 Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. 419 302 420 September 9, 2016 E.Tcherniaev 303 September 9, 2016 E.Tcherniaev 421 - G4BoundingEnvelope: added QuickCheck() funct 304 - G4BoundingEnvelope: added QuickCheck() function. 422 305 423 September 2, 2016 E.Tcherniaev geo 306 September 2, 2016 E.Tcherniaev geommng-V10-02-18 424 - G4BoundingEnvelope: fixed bug in constructio 307 - G4BoundingEnvelope: fixed bug in construction of voxel edges. 425 308 426 August 8, 2016 E.Tcherniaev geo 309 August 8, 2016 E.Tcherniaev geommng-V10-02-17 427 - G4BoundingEnvelope: some improvement of inte 310 - G4BoundingEnvelope: some improvement of internal consistency in the code. 428 311 429 July 7, 2016 G.Cosmo geo 312 July 7, 2016 G.Cosmo geommng-V10-02-16 430 - Removed redundant check in G4GeomSplitter::U 313 - Removed redundant check in G4GeomSplitter::UseWorkArea(). 431 Addressing problem report #1876. 314 Addressing problem report #1876. 432 315 433 July 6, 2016 G.Cosmo geo 316 July 6, 2016 G.Cosmo geommng-V10-02-15 434 - Correction in G4USolid::CalculateExtent() fo 317 - Correction in G4USolid::CalculateExtent() for correct return-type. 435 318 436 June 29, 2016 E.Tcherniaev geo 319 June 29, 2016 E.Tcherniaev geommng-V10-02-14 437 - Optimised version of G4BoundingEnvelope. 320 - Optimised version of G4BoundingEnvelope. 438 321 439 June 28, 2016 E.Tcherniaev 322 June 28, 2016 E.Tcherniaev 440 - Re-implemented CalculateExtent() in G4USolid 323 - Re-implemented CalculateExtent() in G4USolid to use G4BoundingEnvelope; 441 removed method CreateRotatedVertices(). 324 removed method CreateRotatedVertices(). 442 325 443 June 27, 2016 E.Tcherniaev 326 June 27, 2016 E.Tcherniaev 444 - G4AffineTransform: added conversion operator 327 - G4AffineTransform: added conversion operator to G4Transform3D and 445 simplified implementation of NetRotation() i 328 simplified implementation of NetRotation() in terms of G4Rep3x3. 446 329 447 June 13, 2016 E.Tcherniaev 330 June 13, 2016 E.Tcherniaev 448 - G4ReflectedSolid: new revision of CalculateE 331 - G4ReflectedSolid: new revision of CalculateExtent(), to make use of 449 CalculateExtent() from the constituent solid 332 CalculateExtent() from the constituent solid, applying proper transformation. 450 Removed use of G4BoundingEnvelope. 333 Removed use of G4BoundingEnvelope. 451 334 452 June 7, 2016 G.Cosmo geo 335 June 7, 2016 G.Cosmo geommng-V10-02-13 453 - Initialise 'emin' and 'emax' in G4BoundingEn 336 - Initialise 'emin' and 'emax' in G4BoundingEnvelope::CalculateExtent(). 454 337 455 June 6, 2016 E.Tcherniaev geo 338 June 6, 2016 E.Tcherniaev geommng-V10-02-12 456 - Introduced G4BoundingEnvelope helper class t 339 - Introduced G4BoundingEnvelope helper class to be used for the calculation 457 of the extent of a solid within the limits d 340 of the extent of a solid within the limits defined by the G4VoxelLimits 458 object. 341 object. 459 - Re-implemented CalculateExtent() in G4Reflec 342 - Re-implemented CalculateExtent() in G4ReflectedSolid to use new class 460 G4BoundingEnvelope. 343 G4BoundingEnvelope. 461 344 462 June 6, 2016 E.Tcherniaev geo 345 June 6, 2016 E.Tcherniaev geommng-V10-02-11 463 - G4G4ScaleTransform: simplified signatures in 346 - G4G4ScaleTransform: simplified signatures in TransformDistance() and 464 in InverseTransformDistance(); make use of a 347 in InverseTransformDistance(); make use of accessors. 465 348 466 June 1, 2016 G.Cosmo geo 349 June 1, 2016 G.Cosmo geommng-V10-02-10 467 - Corrected treatment of polyhedron for G4Refl 350 - Corrected treatment of polyhedron for G4ReflectedSolid to avoid thread 468 contention. 351 contention. 469 352 470 May 18, 2016 G.Cosmo geo 353 May 18, 2016 G.Cosmo geommng-V10-02-09, 08 471 - More simplified code for G4ReflectedSolid; a 354 - More simplified code for G4ReflectedSolid; also removed not used cached 472 inverse transformation. 355 inverse transformation. 473 356 474 May 17, 2016 E.Tcherniaev geo 357 May 17, 2016 E.Tcherniaev geommng-V10-02-07 475 - Use G4Normal3D with proper inverse transform 358 - Use G4Normal3D with proper inverse transformation for calculation of 476 normals in G4ReflectedSolid. 359 normals in G4ReflectedSolid. 477 360 478 May 13, 2016 G.Cosmo geo 361 May 13, 2016 G.Cosmo geommng-V10-02-06, 05 479 - Properly use 3D transformations in G4Reflect 362 - Properly use 3D transformations in G4ReflectedSolid. Removed unused 480 affine-transformation data and related metho 363 affine-transformation data and related methods. 481 Corrected GetPolyhedron() for multi-threadin 364 Corrected GetPolyhedron() for multi-threading. 482 - Updated unit test visualization macros and U 365 - Updated unit test visualization macros and UI setup. 483 366 484 May 12, 2016 E.Tcherniaev geo 367 May 12, 2016 E.Tcherniaev geommng-V10-02-04 485 - Added transformations for normal vectors in 368 - Added transformations for normal vectors in G4ScaleTransform. 486 369 487 April 14, 2016 G.Cosmo geo 370 April 14, 2016 G.Cosmo geommng-V10-02-03 488 - Added flag for partial use of USolids/VecGeo 371 - Added flag for partial use of USolids/VecGeom types. 489 372 490 April 12, 2016 G.Cosmo geo 373 April 12, 2016 G.Cosmo geommng-V10-02-02 491 - Minor cosmetics to G4USolid. 374 - Minor cosmetics to G4USolid. 492 375 493 March 31, 2016 G.Cosmo geo 376 March 31, 2016 G.Cosmo geommng-V10-02-01 494 - Throw exception in call to CreatePolyhedron( 377 - Throw exception in call to CreatePolyhedron() for base class G4USolid. 495 Method is now implemented in the concrete wr 378 Method is now implemented in the concrete wrappers. 496 379 497 March 16, 2016 G.Cosmo geo 380 March 16, 2016 G.Cosmo geommng-V10-02-00 498 - Added G4ScaleTransform class for Cartesian s 381 - Added G4ScaleTransform class for Cartesian scaling transformations. 499 - G4AffineTransform: added inline keywords and 382 - G4AffineTransform: added inline keywords and fixed formatting. 500 - In G4USolid, directly call GetEntityType() f 383 - In G4USolid, directly call GetEntityType() from wrapper classes for 501 CreatePolyhedron(). 384 CreatePolyhedron(). 502 385 503 October 15, 2015 W.Pokorski geo 386 October 15, 2015 W.Pokorski geommng-V10-01-07 504 - Added shadow pointers to shared data structu 387 - Added shadow pointers to shared data structures in G4LogicalVolume 505 and G4VPhysicalVolume for exclusive use by o 388 and G4VPhysicalVolume for exclusive use by object persistency. 506 389 507 October 7, 2015 G.Cosmo geo 390 October 7, 2015 G.Cosmo geommng-V10-01-06 508 - Protected compilation of G4USolid class with 391 - Protected compilation of G4USolid class with G4GEOM_USE_USOLIDS flag. 509 - Replaced use of sprintf with C++ streams in 392 - Replaced use of sprintf with C++ streams in G4AffineTransform. 510 393 511 September 14, 2015 G.Cosmo geo 394 September 14, 2015 G.Cosmo geommng-V10-01-05 512 - Moved EstimateCubiVolume() and EstimateSurfa 395 - Moved EstimateCubiVolume() and EstimateSurfaceArea() to public section 513 for specific use-cases and customisation of 396 for specific use-cases and customisation of precision. 514 397 515 August 6, 2015 G.Cosmo geo 398 August 6, 2015 G.Cosmo geommng-V10-01-04 516 - Checked for potential never-ending loops. No 399 - Checked for potential never-ending loops. No issues found. 517 400 518 June 15, 2015 G.Cosmo geommng-V10-01-03 401 June 15, 2015 G.Cosmo geommng-V10-01-03 519 - Return const reference in G4LogicalVolume::G 402 - Return const reference in G4LogicalVolume::GetName(). 520 Addressing report #1757. 403 Addressing report #1757. 521 404 522 May 5, 2015 A.Dotti geommng-V10-01-02 405 May 5, 2015 A.Dotti geommng-V10-01-02 523 - Use G4Threading::IsMasterThread function as 406 - Use G4Threading::IsMasterThread function as suggested by J.Allison 524 407 525 April 30, 2015 G.Cosmo geo 408 April 30, 2015 G.Cosmo geommng-V10-01-01 526 - Removed unused data-member in G4LogicalVolum 409 - Removed unused data-member in G4LogicalVolume, and fixed minor 527 Coverity defect for unitialised member 'fBia 410 Coverity defect for unitialised member 'fBiasWeight' in constructor. 528 - Use scoped enum for EnumSide in G4USolid.cc 411 - Use scoped enum for EnumSide in G4USolid.cc if c++11 enabled. 529 412 530 April 29, 2015 J.Apostolakis 413 April 29, 2015 J.Apostolakis 531 - Added streaming operator <<() to G4AffineTra 414 - Added streaming operator <<() to G4AffineTransform. 532 - Cosmetics to G4RegionStore header. 415 - Cosmetics to G4RegionStore header. 533 416 534 March 3, 2015 G.Cosmo geo 417 March 3, 2015 G.Cosmo geommng-V10-01-00 535 - Use accessors x(), y() and z() from UVector3 418 - Use accessors x(), y() and z() from UVector3, instead of directly accessing 536 its data-members. Co-work with tag "geom-uso 419 its data-members. Co-work with tag "geom-usolids-V10-01-09". 537 420 538 November 27, 2014 G.Cosmo geo 421 November 27, 2014 G.Cosmo geommng-V10-00-06 539 - Fixed implementation of StreamInfo() for G4U 422 - Fixed implementation of StreamInfo() for G4USolid. 540 423 541 October 29, 2014 G.Cosmo geo 424 October 29, 2014 G.Cosmo geommng-V10-00-05 542 - Moved G4USolid bridge class from internal US 425 - Moved G4USolid bridge class from internal USolids module. 543 426 544 October 3, 2014 G.Cosmo geo 427 October 3, 2014 G.Cosmo geommng-V10-00-04 545 - Moved constructor for partial voxels refinem 428 - Moved constructor for partial voxels refinements from protected to public. 546 429 547 September 25, 2014 W. Pokorski geo 430 September 25, 2014 W. Pokorski geommng-V10-00-03 548 - Some fixes in the default constructor for Ro 431 - Some fixes in the default constructor for Root-I/O persistency. 549 432 550 July 11, 2014 A. Dotti geommng-V10-00- 433 July 11, 2014 A. Dotti geommng-V10-00-02 551 - Solves possible data-race condition in G4Gea 434 - Solves possible data-race condition in G4GeaomSplitter. 552 435 553 April 10, 2014 G.Cosmo geo 436 April 10, 2014 G.Cosmo geommng-V10-00-01 554 - Get rid of deprecated 'register' storage cla 437 - Get rid of deprecated 'register' storage class specifier in source files. 555 438 556 March 31, 2014 G.Cosmo geo 439 March 31, 2014 G.Cosmo geommng-V10-00-00 557 - Fixed operator=() signature in G4LogicalSurf 440 - Fixed operator=() signature in G4LogicalSurface. 558 441 559 December 2, 2013 A.Dotti geo 442 December 2, 2013 A.Dotti geommng-V09-06-17 560 - Correctly initialize shadow pointers in G4Ph 443 - Correctly initialize shadow pointers in G4PhysicalVolume. 561 444 562 December 2, 2013 M.Asai geo 445 December 2, 2013 M.Asai geommng-V09-06-16 563 - Correctly initialize shadow pointers in G4Lo 446 - Correctly initialize shadow pointers in G4LogicalVolume. 564 447 565 November 30, 2013 M.Asai geo 448 November 30, 2013 M.Asai geommng-V09-06-15 566 - Explicitely initialize data members of G4LVD 449 - Explicitely initialize data members of G4LVData. 567 450 568 November 27, 2013 J.Apostolakis geo 451 November 27, 2013 J.Apostolakis geommng-V09-06-14 569 - Fix in G4GeomSplitter::FreeSlave(): use free 452 - Fix in G4GeomSplitter::FreeSlave(): use free() to delete memory 570 which was allocated with malloc(). 453 which was allocated with malloc(). 571 454 572 October 18, 2013, A. Dotti geo 455 October 18, 2013, A. Dotti geommng-V09-06-13 573 - Bug fixing in G4GeomSplitter::UseWorkspace m 456 - Bug fixing in G4GeomSplitter::UseWorkspace method 574 check if offset pointer is assigned AND diff 457 check if offset pointer is assigned AND different from new value 575 458 576 October 3, 2013 J.Apostolakis geo 459 October 3, 2013 J.Apostolakis geommng-V09-06-12 577 - Cleanup of G4LogicalVolume, G4VPhysicalVolum 460 - Cleanup of G4LogicalVolume, G4VPhysicalVolume 578 Moved long description of helper classes 461 Moved long description of helper classes to end of headers. 579 Moved macros to icc file. 462 Moved macros to icc file. 580 Revised source code to use Get/Set method 463 Revised source code to use Get/Set methods in place of 'macros' 581 introduced with G4MT, ie G4MT_rot etc 464 introduced with G4MT, ie G4MT_rot etc 582 - LogicalVolume: Added new methods, data membe 465 - LogicalVolume: Added new methods, data member 583 * new methods AssignFieldManager, 466 * new methods AssignFieldManager, 584 * Get/Set Solid( G4LVData, .) for potenti 467 * Get/Set Solid( G4LVData, .) for potential performance improvement 585 * bool fChangedState. 468 * bool fChangedState. 586 469 587 August 27, 2013 G.Cosmo geo 470 August 27, 2013 G.Cosmo geommng-V09-06-11 588 - Added G4Ellipsoid among solids enabled for p 471 - Added G4Ellipsoid among solids enabled for parameterisation. 589 472 590 August 22, 2013 G.Cosmo geo 473 August 22, 2013 G.Cosmo geommng-V09-06-10 591 - Added parameter to specify maximum number of 474 - Added parameter to specify maximum number of overlap errors to report 592 in G4VPhysicalVolume::CheckOverlaps(). 475 in G4VPhysicalVolume::CheckOverlaps(). 593 476 594 August 21, 2013 G.Cosmo geo 477 August 21, 2013 G.Cosmo geommng-V09-06-09 595 - Added methods G4VPhysicalVolume::VolumeType( 478 - Added methods G4VPhysicalVolume::VolumeType() and 596 G4LogicalVolume::CharacteriseDaughters() to 479 G4LogicalVolume::CharacteriseDaughters() to be used by G4Navigator. 597 480 598 July 29, 2013 T.Nikitina geo 481 July 29, 2013 T.Nikitina geommng-V09-06-08 599 - Fix to G4VSolid::EstimateCubicVolume() to ma 482 - Fix to G4VSolid::EstimateCubicVolume() to make proper use of specified 600 accuracy. Addressing problem report #1493. 483 accuracy. Addressing problem report #1493. 601 484 602 June 20, 2013 A.Dotti geommng-V09-06-07 485 June 20, 2013 A.Dotti geommng-V09-06-07 603 - Bug fix for MT: set static TLS pointer G4Geo 486 - Bug fix for MT: set static TLS pointer G4GeomSplitter::offset to 0 after 604 delete in split-class mechanism G4GeomSplitt 487 delete in split-class mechanism G4GeomSplitter::FreeSlave 605 488 606 March 12, 2013 G.Cosmo geo 489 March 12, 2013 G.Cosmo geommng-V09-06-06 607 - Removed thread-locality in obsolete G4VPhysi 490 - Removed thread-locality in obsolete G4VPhysicalVolume::GetObjectRotation() 608 implementation. 491 implementation. 609 492 610 March 12, 2013 G.Cosmo geo 493 March 12, 2013 G.Cosmo geommng-V09-06-05 611 - Added public accessors for MT data to G4Logi 494 - Added public accessors for MT data to G4LogicalVolume, G4VPhysicalVolume 612 and G4Region. 495 and G4Region. 613 496 614 March 11, 2013 G.Cosmo geo 497 March 11, 2013 G.Cosmo geommng-V09-06-04 615 - Redefined G4DLL_API to G4GEOM_DLL to avoid c 498 - Redefined G4DLL_API to G4GEOM_DLL to avoid cases of macro redefinition. 616 499 617 March 08, 2013 G.Cosmo geo 500 March 08, 2013 G.Cosmo geommng-V09-06-03, geommng-V09-06-02 618 - Renamed G4MT macros to safer ID. 501 - Renamed G4MT macros to safer ID. 619 - Moved MT data to protected in G4VPhysicalVol 502 - Moved MT data to protected in G4VPhysicalVolume. 620 503 621 March 07, 2013 G.Cosmo geo 504 March 07, 2013 G.Cosmo geommng-V09-06-01 622 - Added splitter class G4GeomSplitter from ori 505 - Added splitter class G4GeomSplitter from original MT transitory class 623 introduced in "global" module. 506 introduced in "global" module. 624 - Added geomwdef.hh header including definitio 507 - Added geomwdef.hh header including definition of G4DLL_API flag for 625 import/export of symbols for Windows DLL bui 508 import/export of symbols for Windows DLL build. 626 - Cleanup of code from MT automatic changes. 509 - Cleanup of code from MT automatic changes. 627 510 628 December 02, 2012 J.Allison geo 511 December 02, 2012 J.Allison geommng-V09-06-00 629 - Removed NURBS. 512 - Removed NURBS. 630 513 631 November 28, 2012 G.Cosmo geo 514 November 28, 2012 G.Cosmo geommng-V09-05-04 632 - Get rid of explicit inclusion of costants he 515 - Get rid of explicit inclusion of costants header from meshdefs.hh. 633 516 634 August 15, 2012 V.Ivantchenko geo 517 August 15, 2012 V.Ivantchenko geommng-V09-05-03 635 - Add base materials in G4Region::ScanVolumeTr 518 - Add base materials in G4Region::ScanVolumeTree() to the list of region 636 materials, when applicable. 519 materials, when applicable. 637 520 638 June 11, 2012 G.Cosmo geo 521 June 11, 2012 G.Cosmo geommng-V09-05-02 639 - Explicitly use inclusion of headers for syst 522 - Explicitly use inclusion of headers for system of units and physical 640 constants, in plan to remove implicit inclus 523 constants, in plan to remove implicit inclusion from globals.hh. 641 524 642 April 4, 2012 G.Cosmo geo 525 April 4, 2012 G.Cosmo geommng-V09-05-01 643 - Fixed spurious cases of hidden variable visi 526 - Fixed spurious cases of hidden variable visibility (-Wshadow 644 compilation option on gcc compiler). 527 compilation option on gcc compiler). 645 528 646 April 4, 2012 G.Cosmo geo 529 April 4, 2012 G.Cosmo geommng-V09-05-00 647 - Extended one comment to G4VSolid header. 530 - Extended one comment to G4VSolid header. 648 531 649 August 24, 2011 G.Cosmo geo 532 August 24, 2011 G.Cosmo geommng-V09-04-04 650 - Migrated to new G4Exception scheme for warni 533 - Migrated to new G4Exception scheme for warnings and errors. 651 - Defined scheme for warnings/errors coding: 534 - Defined scheme for warnings/errors coding: 652 + 1xxx for warnings, 0xxx for errors. 535 + 1xxx for warnings, 0xxx for errors. 653 Code numbering: 536 Code numbering: 654 + 0001: not supported or implemented feature 537 + 0001: not supported or implemented features; 655 + 0002: invalid setup/construct; 538 + 0002: invalid setup/construct; 656 + 0003: invalid run condition; 539 + 0003: invalid run condition; 657 + 1001: incorrect setup; automatically adapt 540 + 1001: incorrect setup; automatically adapted. 658 + 1002: notification. 541 + 1002: notification. 659 - Made default argument for G4RegionStore::Upd 542 - Made default argument for G4RegionStore::UpdateMaterialList(). 660 543 661 August 10, 2011 M.Asai geo 544 August 10, 2011 M.Asai geommng-V09-04-03 662 - Introducing parallel layered mass geometry. 545 - Introducing parallel layered mass geometry. Material is now scanned for 663 all the regions in all defined worlds. Modif 546 all the regions in all defined worlds. Modified G4Region and G4RegionStore. 664 547 665 May 12, 2011 G.Cosmo geo 548 May 12, 2011 G.Cosmo geommng-V09-04-02 666 - Fixed trivial compilation warnings detected 549 - Fixed trivial compilation warnings detected with gcc-4.6.0. 667 550 668 March 31, 2011 G.Cosmo geo 551 March 31, 2011 G.Cosmo geommng-V09-04-01 669 - Fix in G4LogicalVolume::AddDaughter() for pr 552 - Fix in G4LogicalVolume::AddDaughter() for proper propagation settings 670 of local field manager. Avoid forcing propag 553 of local field manager. Avoid forcing propagation to all daughters when 671 a local field manager is set already for the 554 a local field manager is set already for the new daughter. 672 Addressing problem report #1183. 555 Addressing problem report #1183. 673 556 674 March 21, 2011 G.Cosmo geo 557 March 21, 2011 G.Cosmo geommng-V09-04-00 675 - Use internal G4 header for physical constant 558 - Use internal G4 header for physical constants in meshdefs.h. 676 559 677 October 19, 2010 G.Cosmo geo 560 October 19, 2010 G.Cosmo geommng-V09-03-05 678 - Added Clone() virtual method to G4VSolid, to 561 - Added Clone() virtual method to G4VSolid, to return a pointer to a 679 dynamically allocated copy of the solid. To 562 dynamically allocated copy of the solid. To be used by Geant4-MT. 680 - Added copy-ctr and assignment operator to G4 563 - Added copy-ctr and assignment operator to G4ReflectedSolid, now also 681 implementing the Clone() method. 564 implementing the Clone() method. 682 565 683 September 6, 2010 G.Cosmo geo 566 September 6, 2010 G.Cosmo geommng-V09-03-04 684 - Fixed false-positive null forward case in G4 567 - Fixed false-positive null forward case in G4SmartVoxelHeader. 685 568 686 July 16, 2010 G.Cosmo geo 569 July 16, 2010 G.Cosmo geommng-V09-03-03 687 - Fixed compilation errors for code within G4G 570 - Fixed compilation errors for code within G4GEOMETRY_VOXELDEBUG flag 688 in G4GeometryManager and G4SmartVoxelHeader. 571 in G4GeometryManager and G4SmartVoxelHeader. 689 - Added printout of voxel limits in G4SmartVox 572 - Added printout of voxel limits in G4SmartVoxelHeader::Buildnodes() and 690 removed protection on node width previously 573 removed protection on node width previously introduced. 691 574 692 July 13, 2010 G.Cosmo geo 575 July 13, 2010 G.Cosmo geommng-V09-03-02 693 - G4SmartVoxelHeader: added protection against 576 - G4SmartVoxelHeader: added protection against rare cases of zero computed 694 node width in BuildNodes(). 577 node width in BuildNodes(). 695 578 696 July 2, 2010 G.Cosmo geo 579 July 2, 2010 G.Cosmo geommng-V09-03-01 697 - G4LogicalSurface: added missing initialisati 580 - G4LogicalSurface: added missing initialisation for 'theTransRadSurface' 698 data member. Made virtual destructor and con 581 data member. Made virtual destructor and constructors not inline. 699 - G4ErrorTarget: added missing default initial 582 - G4ErrorTarget: added missing default initialisation of a data member. 700 - G4SmartVoxelHeader: added return statement a 583 - G4SmartVoxelHeader: added return statement after exceptions in methods 701 BuildVoxelsWithinLimits() and BuildNodes(); 584 BuildVoxelsWithinLimits() and BuildNodes(); fixed case of invalid iterator 702 in deletion of test slices in BuildVoxelsWit 585 in deletion of test slices in BuildVoxelsWithinLimits(); added protection 703 for cases of invalide number of nodes in Ref 586 for cases of invalide number of nodes in RefineNodes(), and added return 704 statement after exceptions. 587 statement after exceptions. 705 - G4GeometryManager: restore cout precision af 588 - G4GeometryManager: restore cout precision after printing voxel statistics. 706 - G4LogicalVolume: added return statement afte 589 - G4LogicalVolume: added return statement after exception in GetMass(). 707 - G4ReflectedSolid: moved reserve() statement 590 - G4ReflectedSolid: moved reserve() statement for 'vertices' within null-check 708 condition in CalculateExtent() ... 591 condition in CalculateExtent() ... 709 592 710 February 9, 2010 G.Cosmo geo 593 February 9, 2010 G.Cosmo geommng-V09-03-00 711 - Fixed initialisation of min/max extent for m 594 - Fixed initialisation of min/max extent for mother and target volumes in 712 method BuildNodes() of G4SmartVoxelHeader. 595 method BuildNodes() of G4SmartVoxelHeader. 713 596 714 November 27, 2009 G.Cosmo geo 597 November 27, 2009 G.Cosmo geommng-V09-02-05 715 - G4Region: added pointer to field-manager and 598 - G4Region: added pointer to field-manager and associated accessor/modifier. 716 599 717 November 6, 2009 G.Cosmo geo 600 November 6, 2009 G.Cosmo geommng-V09-02-04 718 - G4VTouchable: moved inline vitual methods, c 601 - G4VTouchable: moved inline vitual methods, constructor and destructor to 719 source, to avoid problem of memory alignment 602 source, to avoid problem of memory alignment in allocation of derived objects. 720 603 721 October 30, 2009 G.Cosmo geo 604 October 30, 2009 G.Cosmo geommng-V09-02-03 722 - Clear possible excess capacity in node vecto 605 - Clear possible excess capacity in node vectors in G4SmartVoxelHeader 723 BuildNodes() method. May reduce excess memor 606 BuildNodes() method. May reduce excess memory allocated in optimisation 724 in large detector setups, with slight time i 607 in large detector setups, with slight time increase in initialisation for 725 geometry voxelisation. 608 geometry voxelisation. 726 609 727 September 24, 2009 G.Cosmo geo 610 September 24, 2009 G.Cosmo geommng-V09-02-02 728 - Fixed implementation of G4LogicalVolume::Tot 611 - Fixed implementation of G4LogicalVolume::TotalVolumeEntities() to become 729 invariant to call sequence. 612 invariant to call sequence. 730 613 731 May 25, 2009 G.Cosmo geo 614 May 25, 2009 G.Cosmo geommng-V09-02-01 732 - Fixed initialisation of min/max extent in me 615 - Fixed initialisation of min/max extent in method BuildReplicaVoxels() in 733 G4SmartVoxelHeader. 616 G4SmartVoxelHeader. 734 617 735 April 16, 2009 G.Cosmo geo 618 April 16, 2009 G.Cosmo geommng-V09-02-00 736 - Adopt 'const' references for strings as argu 619 - Adopt 'const' references for strings as arguments/return-values in 737 G4LogicalSurface. Some minor cleanup... 620 G4LogicalSurface. Some minor cleanup... 738 621 739 September 23, 2008 G. Cosmo geo 622 September 23, 2008 G. Cosmo geommng-V09-01-08 740 - G4VSolid: explicitely reserve memory for pol 623 - G4VSolid: explicitely reserve memory for polygon vectors in clipping 741 algorithm to help reducing memory footprint. 624 algorithm to help reducing memory footprint. Courtesy of P.Elmer, CMS. 742 625 743 September 10, 2008 G. Cosmo geo 626 September 10, 2008 G. Cosmo geommng-V09-01-07 744 - G4VSolid: promote copy-constructor and assig 627 - G4VSolid: promote copy-constructor and assignment operator to public 745 to cope with specific use-case in ATLAS (see 628 to cope with specific use-case in ATLAS (see problem report #1023). 746 629 747 July 15, 2008 G.Cosmo geo 630 July 15, 2008 G.Cosmo geommng-V09-01-06 748 - G4Region: re-introduced protection for setti 631 - G4Region: re-introduced protection for setting of root-region flag to the 749 world volume in method RemoveRootLogicalVolu 632 world volume in method RemoveRootLogicalVolume(), to cover case of explicit 750 deletion of stores in the user application f 633 deletion of stores in the user application for dynamic geometries setups. 751 634 752 July 10, 2008 G.Cosmo geo 635 July 10, 2008 G.Cosmo geommng-V09-01-05 753 - G4LogicalVolume, G4LogicalVolumeStore: modif 636 - G4LogicalVolume, G4LogicalVolumeStore: modified logic for the deletion 754 of the root-region volumes, adding locking m 637 of the root-region volumes, adding locking mechanism and automatically 755 de-registering the world default root-region 638 de-registering the world default root-region. 756 Simplified Clean() method in the store, by r 639 Simplified Clean() method in the store, by removing unused and unnecessary 757 flag for logical-volumes notification. 640 flag for logical-volumes notification. 758 - Reinstated update of materials in G4Region:: 641 - Reinstated update of materials in G4Region::RemoveRootLogicalVolume() 759 to correct handling individual removal of ro 642 to correct handling individual removal of root-region volumes and restore 760 proper setup state. 643 proper setup state. 761 644 762 May 16, 2008 G.Cosmo geo 645 May 16, 2008 G.Cosmo geommng-V09-01-04 763 - G4Region: changed condition inside ScanVolum 646 - G4Region: changed condition inside ScanVolumeTree() to check for the 764 existence of a valid material-scanner pointe 647 existence of a valid material-scanner pointer to apply the material scan 765 instead of using the flag for nested structu 648 instead of using the flag for nested structures. 766 - G4GeometryManager: do not apply optimisation 649 - G4GeometryManager: do not apply optimisation on the current volume if it 767 has been defined as a regular structure. 650 has been defined as a regular structure. 768 - Addresses problem report #990 on suggestions 651 - Addresses problem report #990 on suggestions by M.Mendenhall. 769 652 770 March 13, 2008 G.Cosmo geo 653 March 13, 2008 G.Cosmo geommng-V09-01-03 771 - Cleared compilation warnings in G4GeometryMa 654 - Cleared compilation warnings in G4GeometryManager on gcc-4.3.0 for 772 ambiguous use of parentheses in condition st 655 ambiguous use of parentheses in condition statements. 773 656 774 February 20, 2008 I.Hrivnacova geo 657 February 20, 2008 I.Hrivnacova geommng-V09-01-02 775 - Implemented missing protected copy-contructo 658 - Implemented missing protected copy-contructor and assignment operator 776 for G4VSolid. 659 for G4VSolid. 777 660 778 January 24, 2008 G.Cosmo geo 661 January 24, 2008 G.Cosmo geommng-V09-01-01 779 - Added Shrink() method to G4SmartVoxelNode to 662 - Added Shrink() method to G4SmartVoxelNode to shrink memory allocated 780 for the buffer of slices; to be used for stu 663 for the buffer of slices; to be used for studying ways of reducing memory 781 waste when building nodes in G4SmartVoxelHea 664 waste when building nodes in G4SmartVoxelHeader for large geometry setups. 782 665 783 January 14, 2008 G.Cosmo geo 666 January 14, 2008 G.Cosmo geommng-V09-01-00 784 - Added Reserve() method to G4SmartVoxelNode t 667 - Added Reserve() method to G4SmartVoxelNode to reserve memory allocated 785 for the buffer of slices; to be used for stu 668 for the buffer of slices; to be used for studying ways of reducing memory 786 waste when building nodes in G4SmartVoxelHea 669 waste when building nodes in G4SmartVoxelHeader for large geometry setups. 787 670 788 October 24, 2007 G.Cosmo geo 671 October 24, 2007 G.Cosmo geommng-V09-00-01 789 - Fixed typo in forcing minimum number of poin 672 - Fixed typo in forcing minimum number of points in method 790 G4VSolid::EstimateSurfaceArea(). Addresses p 673 G4VSolid::EstimateSurfaceArea(). Addresses problem report #981. 791 674 792 July 16, 2007 G.Cosmo geo 675 July 16, 2007 G.Cosmo geommng-V09-00-00 793 - Added dummy constructor and destructor to G4 676 - Added dummy constructor and destructor to G4VPVParameterisation. 794 677 795 June 19, 2007 G.Cosmo geo 678 June 19, 2007 G.Cosmo geommng-V08-03-03 796 - Apply migration to <cmath> and std:: for G4E 679 - Apply migration to <cmath> and std:: for G4ErrorCylSurfaceTarget and 797 G4ErrorPlaneSurfaceTarget implementations. F 680 G4ErrorPlaneSurfaceTarget implementations. Fixes compilation problems 798 detected on Windows VC++8. 681 detected on Windows VC++8. 799 682 800 May 16, 2007 G.Cosmo geo 683 May 16, 2007 G.Cosmo geommng-V08-03-02 801 - Introduced new classes for handling error pr 684 - Introduced new classes for handling error propagation: G4ErrorTarget, 802 G4ErrorSurfaceTarget, G4ErrorTanPlaneTarget, 685 G4ErrorSurfaceTarget, G4ErrorTanPlaneTarget, G4ErrorPlaneSurfaceTarget, 803 G4ErrorCylSurfaceTarget (by P.Arce). 686 G4ErrorCylSurfaceTarget (by P.Arce). 804 - Coworks with tag "global-V08-03-02". 687 - Coworks with tag "global-V08-03-02". 805 688 806 May 11, 2007 G.Cosmo geo 689 May 11, 2007 G.Cosmo geommng-V08-03-01 807 - Use call to G4GeometryTolerance instead of k 690 - Use call to G4GeometryTolerance instead of kCarTolerance where needed. 808 - Requires tag "global-V08-03-00" and related 691 - Requires tag "global-V08-03-00" and related tag set. 809 692 810 April 26, 2007 M.Asai geo 693 April 26, 2007 M.Asai geommng-V08-03-00 811 - Added forward declaration and pointer (with 694 - Added forward declaration and pointer (with set/get methods) to 812 G4VUserSteppingAction, to allow for stepping 695 G4VUserSteppingAction, to allow for stepping actions defined at region. 813 696 814 April 11, 2007 G.Cosmo geo 697 April 11, 2007 G.Cosmo geommng-V08-02-02 815 - Added 'get' methods to stores for retrivial 698 - Added 'get' methods to stores for retrivial of volumes/solid by name. 816 - Modified signature of G4VPhysicalVolume::Che 699 - Modified signature of G4VPhysicalVolume::CheckOverlaps() to introduce 817 ability of handling tolerances for overlaps. 700 ability of handling tolerances for overlaps. 818 - Coworks with tag "geomvol-V08-02-02". 701 - Coworks with tag "geomvol-V08-02-02". 819 702 820 March 20, 2007 G.Cosmo geo 703 March 20, 2007 G.Cosmo geommng-V08-02-01 821 - Do not reset RegionRootFlag in RemoveRootLog 704 - Do not reset RegionRootFlag in RemoveRootLogicalVolume() if volume is the 822 world, since the volume itself may be alread 705 world, since the volume itself may be already removed from the store if 823 G4LogicalVolumeStore::Clean() is called. 706 G4LogicalVolumeStore::Clean() is called. 824 707 825 January 31, 2007 G.Cosmo geo 708 January 31, 2007 G.Cosmo geommng-V08-02-00 826 - Added flag for controlling verbosity to Chec 709 - Added flag for controlling verbosity to CheckOverlaps() method. 827 By default, verbosity is ON. 710 By default, verbosity is ON. 828 711 829 November 30, 2006 G.Cosmo geo 712 November 30, 2006 G.Cosmo geommng-V08-01-08 830 - Corrected deregistration and deletion of wor 713 - Corrected deregistration and deletion of world default region, now 831 happening through G4RunManagerKernel. Affect 714 happening through G4RunManagerKernel. Affected codes: G4LogicalVolume 832 destructor and G4RegionStore::Clean() method 715 destructor and G4RegionStore::Clean() method. 833 - Minor cleanup in the implementation of the o 716 - Minor cleanup in the implementation of the other stores. 834 717 835 November 8, 2006 G.Cosmo geo 718 November 8, 2006 G.Cosmo geommng-V08-01-07 836 - Fixed compilation problems on SUN-CC for cha 719 - Fixed compilation problems on SUN-CC for changes in the last tag. 837 Added inclusion of <sstream> header in G4Ref 720 Added inclusion of <sstream> header in G4ReflectedSolid.cc. 838 721 839 November 6, 2006 J.Allison geo 722 November 6, 2006 J.Allison geommng-V08-01-06 840 - Fix in G4ReflectedSolid::CreatePolyhedron() 723 - Fix in G4ReflectedSolid::CreatePolyhedron() for case of component that 841 does not have a G4Polyhedron representation. 724 does not have a G4Polyhedron representation. 842 725 843 October 23, 2006 G.Cosmo geo 726 October 23, 2006 G.Cosmo geommng-V08-01-05 844 - Replaced algorithm for EstimateSurfaceArea() 727 - Replaced algorithm for EstimateSurfaceArea() in G4VSolid with more precise 845 method by M.Kosov based on skin surface esti 728 method by M.Kosov based on skin surface estimation. 846 729 847 October 19, 2006 G.Cosmo geo 730 October 19, 2006 G.Cosmo geommng-V08-01-04 848 - Modified interface for GetSurfaceArea() to b 731 - Modified interface for GetSurfaceArea() to be similar to the one for 849 the computation of the geometrical volume, a 732 the computation of the geometrical volume, and allow the caching 850 mechanism. 733 mechanism. 851 734 852 October 18, 2006 G.Cosmo geo 735 October 18, 2006 G.Cosmo geommng-V08-01-03 853 - Added GetSurfaceArea() method to G4VSolid fo 736 - Added GetSurfaceArea() method to G4VSolid for approximated computation 854 of the surfare area of a shape. 737 of the surfare area of a shape. 855 738 856 October 2, 2006 G.Cosmo geo 739 October 2, 2006 G.Cosmo geommng-V08-01-02 857 - Removed debug printout in G4IdentityTrajecto 740 - Removed debug printout in G4IdentityTrajectoryFilter implementation. 858 741 859 September 18, 2006 G.Cosmo geo 742 September 18, 2006 G.Cosmo geommng-V08-01-01 860 - Added empty virtual method CheckOverlaps() t 743 - Added empty virtual method CheckOverlaps() to G4VPhysicalVolume to allow 861 for proper overloading from subclasses. Impl 744 for proper overloading from subclasses. Implementation returns always 862 'false', which the case for replicas. 745 'false', which the case for replicas. 863 746 864 July 17, 2006 M.Asai geo 747 July 17, 2006 M.Asai geommng-V08-01-00 865 - Fix a bug in G4Region.cc for nested paramete 748 - Fix a bug in G4Region.cc for nested parameterization. 866 749 867 May 3, 2006 G.Cosmo geo 750 May 3, 2006 G.Cosmo geommng-V08-00-05 868 - Modified G4VStoreNotifier class to be now a 751 - Modified G4VStoreNotifier class to be now a typedef of G4VNotifier which 869 is moved in the 'global' module. Adapted sto 752 is moved in the 'global' module. Adapted stores to the new configuration. 870 - Requires tag "global-V08-00-02". 753 - Requires tag "global-V08-00-02". 871 754 872 May 2, 2006 G.Cosmo geo 755 May 2, 2006 G.Cosmo geommng-V08-00-04 873 - Moved G4AssemblyTriplet class to 'volumes' m 756 - Moved G4AssemblyTriplet class to 'volumes' module. 874 - Requires tag "geomvol-V08-00-03". 757 - Requires tag "geomvol-V08-00-03". 875 758 876 May 1, 2006 G.Cosmo geo 759 May 1, 2006 G.Cosmo geommng-V08-00-03 877 - G4Region: 760 - G4Region: 878 o Added inclusion of <algorithm> to resolve 761 o Added inclusion of <algorithm> to resolve compilation error on WIN32-VC. 879 o Fixed compilation warning for unused varia 762 o Fixed compilation warning for unused variable. 880 763 881 April 28, 2006 G.Cosmo geo 764 April 28, 2006 G.Cosmo geommng-V08-00-02 882 - G4VPhysicalVolume: return 'const G4String&' 765 - G4VPhysicalVolume: return 'const G4String&' for GetName() instead of a 883 string copy. 766 string copy. 884 767 885 April 4, 2006 G.Cosmo geo 768 April 4, 2006 G.Cosmo geommng-V08-00-01 886 - G4Region: 769 - G4Region: 887 + Support material scanning for nested param 770 + Support material scanning for nested parameterisations. Moved classes 888 G4VNestedParameterisation and G4VVolumeMat 771 G4VNestedParameterisation and G4VVolumeMaterialScanner from 'volumes' 889 module. 772 module. 890 + Fixed implementation of utility method Get 773 + Fixed implementation of utility method GetParentRegion() to return a 891 boolean flag as argument, to identify if p 774 boolean flag as argument, to identify if parent region is unique or not. 892 + Simplified implementation of method Belong 775 + Simplified implementation of method BelongsTo(PV*). 893 - Requires tag "geomvol-V08-00-02". 776 - Requires tag "geomvol-V08-00-02". 894 777 895 April 3, 2006 G.Cosmo geo 778 April 3, 2006 G.Cosmo geommng-V08-00-00 896 - Fix in G4SmartVoxelHeader::BuildNodes() to a 779 - Fix in G4SmartVoxelHeader::BuildNodes() to avoid rare cases of negative 897 extent returned by volumes due to malformed 780 extent returned by volumes due to malformed geometries or inaccurate 898 extent calculation. 781 extent calculation. 899 782 900 November 19, 2005 J.Apostolakis geo 783 November 19, 2005 J.Apostolakis geommng-V07-01-05 901 - Revised G4VPVParameterisation: 784 - Revised G4VPVParameterisation: 902 + Changed signature of ComputeMaterial(), ad 785 + Changed signature of ComputeMaterial(), adding parent touchable pointer. 903 This refinement enables easy use of nested 786 This refinement enables easy use of nested parameterisations. 904 + Additional methods allow nested parameteri 787 + Additional methods allow nested parameterisation to be identified: 905 G4bool IsNested() const; 788 G4bool IsNested() const; 906 and to provide their material via new inte 789 and to provide their material via new interface class: 907 G4VVolumeMaterialScanner* GetMaterialSca 790 G4VVolumeMaterialScanner* GetMaterialScanner(); 908 + Suppressed temporary G4PhysicalTouchable c 791 + Suppressed temporary G4PhysicalTouchable class in volumes, not needed 909 in the implementation any longer. 792 in the implementation any longer. 910 793 911 November 11, 2005 J.Apostolakis geo 794 November 11, 2005 J.Apostolakis geommng-V07-01-04 912 - Added methods to identify Regular Structure 795 - Added methods to identify Regular Structures in Physical volume 913 New pure virtual methods: 796 New pure virtual methods: 914 - IsRegularStructure() , returns bool 797 - IsRegularStructure() , returns boolean 915 - GetRegularStructureId() , returns code 798 - GetRegularStructureId() , returns code for structure type 916 799 917 November 9, 2005 G.Cosmo geo 800 November 9, 2005 G.Cosmo geommng-V07-01-03 918 - Added fake default constructor for base type 801 - Added fake default constructor for base types of volumes, solids and 919 regions, for usage of direct object persiste 802 regions, for usage of direct object persistency. 920 - Migrated unit test TestAssemblyVolume to <ss 803 - Migrated unit test TestAssemblyVolume to <sstring> from 921 deprecated <strstream>. 804 deprecated <strstream>. 922 805 923 October 28, 2005 M.Asai geo 806 October 28, 2005 M.Asai geommng-V07-01-02 924 - Merged concept of "envelope" to G4Region for 807 - Merged concept of "envelope" to G4Region for fast-parameterisation. 925 808 926 September 15, 2005 V.Grichine geo 809 September 15, 2005 V.Grichine geommng-V07-01-01 927 - Added concrete implementation for GetPointOn 810 - Added concrete implementation for GetPointOnSurface() to G4ReflectedSolid. 928 811 929 August 10, 2005 G.Cosmo geo 812 August 10, 2005 G.Cosmo geommng-V07-01-00 930 - Added virtual method GetPointOnSurface() to 813 - Added virtual method GetPointOnSurface() to G4VSolid to be implemented in 931 the concrete solids classed for returning a 814 the concrete solids classed for returning a random-point uniformely 932 distributed on the surface. 815 distributed on the surface. 933 816 934 May 25, 2005 G.Cosmo geo 817 May 25, 2005 G.Cosmo geommng-V07-00-04 935 - Fixed problem with previous tag, where versi 818 - Fixed problem with previous tag, where version of G4LogicalVolume.cc was 936 not correct and untagged. 819 not correct and untagged. 937 - G4LogicalVolume::SetVisAttributes(const G4Vi 820 - G4LogicalVolume::SetVisAttributes(const G4VisAttributes& VA): now creating 938 a copy of 'VA' on the heap. Temporary soluti 821 a copy of 'VA' on the heap. Temporary solution, until a proper 'store' for 939 visualization attributes will be implemented 822 visualization attributes will be implemented to take care of the memory 940 management. 823 management. 941 824 942 May 23, 2005 G.Cosmo geo 825 May 23, 2005 G.Cosmo geommng-V07-00-03 943 - Modified comments in G4VSolid and G4Blocking 826 - Modified comments in G4VSolid and G4BlockingList to overcome a limitation in 944 the scripts for the generation of the Softwa 827 the scripts for the generation of the Software Reference Manual. 945 828 946 Apr 13, 2005 G.Cosmo geo 829 Apr 13, 2005 G.Cosmo geommng-V07-00-02 947 - Extended signatures for OpenGeometry() and C 830 - Extended signatures for OpenGeometry() and CloseGeometry() to consider local 948 optimisation of a subtree of volumes. Voxeli 831 optimisation of a subtree of volumes. Voxelisation can now apply to just a 949 specific subtree if a physical volume is spe 832 specific subtree if a physical volume is specified. 950 833 951 Apr 02, 2005 M.Asai geo 834 Apr 02, 2005 M.Asai geommng-V07-00-01 952 - Added protection against NULL material point 835 - Added protection against NULL material pointer for volumes belonging 953 to the tracking geometry in G4Region scannin 836 to the tracking geometry in G4Region scanning. 954 Addresses problem report #735. 837 Addresses problem report #735. 955 838 956 Mar 23, 2005 J.Allison 839 Mar 23, 2005 J.Allison 957 - Added test for Number-Of-Rotation-Steps in G 840 - Added test for Number-Of-Rotation-Steps in G4ReflectedSolid::GetPolyhedron(). 958 Requires tag "greps-V07-00-02". 841 Requires tag "greps-V07-00-02". 959 842 960 Mar 22, 2005 J.Allison 843 Mar 22, 2005 J.Allison 961 - G4ReflectedSolid: correction: changed AddThi 844 - G4ReflectedSolid: correction: changed AddThis to AddSolid. 962 845 963 Mar 02, 2005 G.Cosmo geo 846 Mar 02, 2005 G.Cosmo geommng-V07-00-00 964 - Added optional boolean argument 'propagate' 847 - Added optional boolean argument 'propagate' to GetMass() to avoid 965 propagation of computation of masses to the 848 propagation of computation of masses to the daughter volumes (courtesy 966 of G.Santin). Propagation to daughters is do 849 of G.Santin). Propagation to daughters is done by default. 967 850 968 Feb 18, 2005 M.Asai 851 Feb 18, 2005 M.Asai 969 - Added G4UserLimits pointer to G4Region and a 852 - Added G4UserLimits pointer to G4Region and added access from G4LogicalVolume. 970 853 971 Dec 02, 2004 G.Cosmo geo 854 Dec 02, 2004 G.Cosmo geommng-V06-02-08 972 - Implemented migration to <cmath> for standar 855 - Implemented migration to <cmath> for standard mathematical functions. 973 856 974 Nov 19, 2004 G.Cosmo geo 857 Nov 19, 2004 G.Cosmo geommng-V06-02-07 975 - Added GetCopyNumber() method to G4VTouchable 858 - Added GetCopyNumber() method to G4VTouchable, clone of GetReplicaNumber(). 976 859 977 Nov 16, 2004 M.Asai geo 860 Nov 16, 2004 M.Asai geommng-V06-02-06 978 - Fix in G4LogicalVolume::UpdateMaterial() for 861 - Fix in G4LogicalVolume::UpdateMaterial() for checking the existance of 979 root-region pointer for logical-volume. Fixe 862 root-region pointer for logical-volume. Fixes report #684. 980 863 981 Nov 13, 2004 G.Cosmo geo 864 Nov 13, 2004 G.Cosmo geommng-V06-02-05 982 - Added method TotalVolumeEntities() to G4Logi 865 - Added method TotalVolumeEntities() to G4LogicalVolume, returning the 983 total number of physical volumes (placed or 866 total number of physical volumes (placed or replicated/parameterised) 984 included in the tree represented by the curr 867 included in the tree represented by the current logical volume. 985 - Correction in the computation of mass for pa 868 - Correction in the computation of mass for parameterised volumes. 986 869 987 Nov 12, 2004 G.Cosmo geo 870 Nov 12, 2004 G.Cosmo geommng-V06-02-04 988 - Added method GetMass() to G4LogicalVolume, r 871 - Added method GetMass() to G4LogicalVolume, returning the value in absolute 989 units of the mass of the logical volume tree 872 units of the mass of the logical volume tree. The mass is computed from the 990 estimated geometrical volume of each solid a 873 estimated geometrical volume of each solid and material's density associated 991 to the logical volume and its daughters. 874 to the logical volume and its daughters. 992 The returned value is cached and can be used 875 The returned value is cached and can be used for successive calls (default), 993 unless recomputation is forced by providing 876 unless recomputation is forced by providing 'true' as the first boolean 994 argument in input. Computation should be for 877 argument in input. Computation should be forced if the geometry setup has 995 changed after the previous call. An optional 878 changed after the previous call. An optional argument to specify a material 996 is provided; it is implicitely used for geom 879 is provided; it is implicitely used for geometrical parameterisations by 997 material. 880 material. 998 881 999 Oct 10, 2004 J.Allison geo 882 Oct 10, 2004 J.Allison geommng-V06-02-03 1000 - Added GetPolyhedron, a smart access functio 883 - Added GetPolyhedron, a smart access function that creates a G4Polyhedron 1001 on request and stores for future access. A 884 on request and stores for future access. A null pointer means "not 1002 available". 885 available". 1003 886 1004 Sep 28, 2004 M.Asai ge 887 Sep 28, 2004 M.Asai geommng-V06-02-02 1005 - G4Region: 888 - G4Region: 1006 o Added map for storage of materials/cuts. 889 o Added map for storage of materials/cuts. 1007 o Added methods for handling registration o 890 o Added methods for handling registration of couples in the map, finding 1008 a couple according to a given material, c 891 a couple according to a given material, clearing the map's storage. 1009 - G4LogicalVolume: 892 - G4LogicalVolume: 1010 o Added method UpdateMaterial() to refresh 893 o Added method UpdateMaterial() to refresh a material/cut couple in 1011 the corresponding region. 894 the corresponding region. 1012 895 1013 Sep 22, 2004 G.Cosmo ge 896 Sep 22, 2004 G.Cosmo geommng-V06-02-01 1014 - Introduced virtual method GetCubicVolume() 897 - Introduced virtual method GetCubicVolume() to G4VSolid, returning an 1015 estimation of the solid volume in internal 898 estimation of the solid volume in internal units. This method may be 1016 overloaded by derived classes to compute th 899 overloaded by derived classes to compute the exact geometrical 1017 quantity for solids where this is possible, 900 quantity for solids where this is possible, or anyway to cache the 1018 computed value. By default it uses the new 901 computed value. By default it uses the new protected method 1019 EstimateCubicVolume(stat, eps) with fixed s 902 EstimateCubicVolume(stat, eps) with fixed statistics and error 1020 accuracy, and does not cache the computed v 903 accuracy, and does not cache the computed value. 1021 904 1022 Sep 02, 2004 G.Cosmo ge 905 Sep 02, 2004 G.Cosmo geommng-V06-02-00 1023 - Introduced abstract class G4VStoreNotifier 906 - Introduced abstract class G4VStoreNotifier to be optionally associated 1024 to stores by the user for the notification 907 to stores by the user for the notification of the registration and 1025 deregistration of objects in the stores. 908 deregistration of objects in the stores. 1026 - Added notification mechanism to volume, sol 909 - Added notification mechanism to volume, solid, and region stores. 1027 - Fixed G4RegionStore::Clean() to avoid delet 910 - Fixed G4RegionStore::Clean() to avoid deletion of world region. 1028 911 1029 May 07, 2004 G.Cosmo ge 912 May 07, 2004 G.Cosmo geommng-V06-01-00 1030 - Imported G4ReflectedSolid class from solids 913 - Imported G4ReflectedSolid class from solids/Boolean. 1031 - Added abstract factory G4VPVDivisionFactory 914 - Added abstract factory G4VPVDivisionFactory defining interfaces 1032 for the creation of volumes divisions (cour 915 for the creation of volumes divisions (courtesy of I.Hrivnacova). 1033 - Coworks with tags: geomvol-V06-01-00, geomd 916 - Coworks with tags: geomvol-V06-01-00, geomdiv-V06-01-00 and 1034 geom-bool-V06-01-00. 917 geom-bool-V06-01-00. 1035 918 1036 Dec 01, 2003 P.Gumplinger ge 919 Dec 01, 2003 P.Gumplinger geommng-V05-02-05 1037 - G4LogicalSurface[.hh.icc]: modified to use 920 - G4LogicalSurface[.hh.icc]: modified to use G4SurfaceProperty instead 1038 of G4OpticalSurface. Requires tag "material 921 of G4OpticalSurface. Requires tag "materials-V05-02-00". 1039 922 1040 Nov 04, 2003 G.Cosmo ge 923 Nov 04, 2003 G.Cosmo geommng-V05-02-04 1041 - G4LogicalVolume.hh: added inclusion of asse 924 - G4LogicalVolume.hh: added inclusion of assert.h required by .icc file. 1042 925 1043 Nov 01, 2003 G.Cosmo ge 926 Nov 01, 2003 G.Cosmo geommng-V05-02-03 1044 - Code cleanup and headers inclusion review ( 927 - Code cleanup and headers inclusion review (replaced by forward 1045 declarations where necessary). 928 declarations where necessary). 1046 - G4VPVParameterisation: added G4Polycone and 929 - G4VPVParameterisation: added G4Polycone and G4Polyhedra to list of 1047 possible parameterisations by dimension. 930 possible parameterisations by dimension. 1048 931 1049 Oct 24, 2003 G.Cosmo ge 932 Oct 24, 2003 G.Cosmo geommng-V05-02-02 1050 - Migrated calls to G4Exception to new scheme 933 - Migrated calls to G4Exception to new scheme. 1051 934 1052 Oct 21, 2003 M.Asai ge 935 Oct 21, 2003 M.Asai geommng-V05-02-01 1053 - Introducing G4VUserRegionInformation class. 936 - Introducing G4VUserRegionInformation class. 1054 - G4VPVParameterisation: added G4Orb. (V.Gric 937 - G4VPVParameterisation: added G4Orb. (V.Grichine) 1055 938 1056 Sep 30, 2003 G. Cosmo ge 939 Sep 30, 2003 G. Cosmo geommng-V05-02-00 1057 - Logical reorganisation and restructure of m 940 - Logical reorganisation and restructure of modules. 1058 Moved files to geometry/volumes: 941 Moved files to geometry/volumes: 1059 G4AssemblyVolume[.hh.icc.cc] 942 G4AssemblyVolume[.hh.icc.cc] 1060 G4PVParameterised[.hh.cc] 943 G4PVParameterised[.hh.cc] 1061 G4PVPlacement[.hh.cc] 944 G4PVPlacement[.hh.cc] 1062 G4PVReplica[.hh.cc] 945 G4PVReplica[.hh.cc] 1063 Moved files to new module geometry/navigati 946 Moved files to new module geometry/navigation: 1064 G4DrawVoxels[.hh.cc] 947 G4DrawVoxels[.hh.cc] 1065 Imported files from geometry/volumes: 948 Imported files from geometry/volumes: 1066 G4BlockingList[.hh.icc.cc] 949 G4BlockingList[.hh.icc.cc] 1067 G4IdentityTrajectoryFilter[.hh.cc] 950 G4IdentityTrajectoryFilter[.hh.cc] 1068 G4VCurvedTrajectoryFilter[.hh.cc] 951 G4VCurvedTrajectoryFilter[.hh.cc] 1069 - G4VPhysicalVolume[.hh.icc.cc]: 952 - G4VPhysicalVolume[.hh.icc.cc]: 1070 o Removed pointer to mother physical volume 953 o Removed pointer to mother physical volume and related accessor 1071 methods: SetMother()/GetMother(). 954 methods: SetMother()/GetMother(). 1072 o Removed pure virtual method Setup(G4VPhys 955 o Removed pure virtual method Setup(G4VPhysicalVolume*), no longer 1073 necessary. Subclasses will require modifi 956 necessary. Subclasses will require modification as well. 1074 - G4LogicalVolume.icc: 957 - G4LogicalVolume.icc: 1075 o Updated/fixed initialisation of data and 958 o Updated/fixed initialisation of data and fast-simulation manager 1076 according to above changes. 959 according to above changes. 1077 - G4SmartVoxelHeader.cc: 960 - G4SmartVoxelHeader.cc: 1078 o Cleared usage of PV-Setup(), according to 961 o Cleared usage of PV-Setup(), according to above changes. 1079 962 1080 May 19, 2003 G. Cosmo ge 963 May 19, 2003 G. Cosmo geommng-V05-01-01 1081 - G4LogicalVolume.cc: notify removal of root- 964 - G4LogicalVolume.cc: notify removal of root-logical-volume from G4Region 1082 in case of deletion of a logical-volume fro 965 in case of deletion of a logical-volume from the destructor, instead that 1083 from DeRegister() method. 966 from DeRegister() method. 1084 - G4LogicalVolumeStore.cc: removed redundant 967 - G4LogicalVolumeStore.cc: removed redundant check and call to 1085 RemoveRootLogicalVolume() from Clean() meth 968 RemoveRootLogicalVolume() from Clean() method. 1086 - G4Region.cc: removed redundant calls to Sca 969 - G4Region.cc: removed redundant calls to ScanVolumeTree() and 1087 UpdateMaterials() from RemoveRootLogicalVol 970 UpdateMaterials() from RemoveRootLogicalVolume() method. 1088 971 1089 May 13, 2003 G. Cosmo ge 972 May 13, 2003 G. Cosmo geommng-V05-01-00 1090 - G4LogicalVolume: added method ClearDaughter 973 - G4LogicalVolume: added method ClearDaughters() to be used for resetting 1091 the list of daughters to a logical volume i 974 the list of daughters to a logical volume in the use-case when only the 1092 physical volume store is cleared at run-tim 975 physical volume store is cleared at run-time. 1093 - GVPhysicalVolume: 976 - GVPhysicalVolume: 1094 o Added pointer to mother logical volume (w 977 o Added pointer to mother logical volume (will replace in future releases 1095 the pointer to mother physical volume) an 978 the pointer to mother physical volume) and related accessors. 1096 o Standardised registration mechanism as da 979 o Standardised registration mechanism as daughter for constructor using 1097 the pointer to the mother's PV. 980 the pointer to the mother's PV. 1098 - G4PhysicalVolumeStore: 981 - G4PhysicalVolumeStore: 1099 o Added notification mechanism to logical v 982 o Added notification mechanism to logical volumes in the Clean() method 1100 to update the list of daughters. 983 to update the list of daughters. 1101 o Update mother's LV list of daughters when 984 o Update mother's LV list of daughters when deregistering a volume. 1102 - G4PVPlacement/Replica/Parameterised: standa 985 - G4PVPlacement/Replica/Parameterised: standardised registration mechanism 1103 as daughter for constructor using the point 986 as daughter for constructor using the pointer to the mother's PV. 1104 987 1105 April 3, 2003 M. Dressel ge 988 April 3, 2003 M. Dressel geommng-V05-00-09 1106 - G4LogicalVolume: added method for scanning 989 - G4LogicalVolume: added method for scanning recursively the volume tree 1107 and retrieve if the current LV is ancestor 990 and retrieve if the current LV is ancestor of a given PV: 1108 G4bool IsAncestor(const G4VPhysicalVolume 991 G4bool IsAncestor(const G4VPhysicalVolume*) const 1109 992 1110 March 31, 2003 G. Cosmo ge 993 March 31, 2003 G. Cosmo geommng-V05-00-08 1111 - Fixed trivial strict pedantic warnings in G 994 - Fixed trivial strict pedantic warnings in G4VSolid.cc and G4PVPlacement.cc. 1112 995 1113 March 24, 2003 G. Cosmo ge 996 March 24, 2003 G. Cosmo geommng-V05-00-07 1114 - G4Region.cc: fixed setting/resetting of reg 997 - G4Region.cc: fixed setting/resetting of regions in ScanVolumeTree(). 1115 998 1116 March 05, 2003 M. Asai ge 999 March 05, 2003 M. Asai geommng-V05-00-06 1117 - G4Region.cc: fix for scanning of parameteri 1000 - G4Region.cc: fix for scanning of parameterised materials. 1118 1001 1119 March 05, 2003 G. Cosmo ge 1002 March 05, 2003 G. Cosmo geommng-V05-00-05 1120 - G4LogicalVolume.icc: added check for invali 1003 - G4LogicalVolume.icc: added check for invalid geometry constructions. 1121 Issue an exception if a placement is attemp 1004 Issue an exception if a placement is attempted in a volume already 1122 containing a replicated daughter. 1005 containing a replicated daughter. 1123 - Cosmetic formatting changes in G4PVPlacemen 1006 - Cosmetic formatting changes in G4PVPlacement.cc and G4VPhysicalVolume.cc. 1124 1007 1125 February 07, 2003 G. Cosmo ge 1008 February 07, 2003 G. Cosmo geommng-V05-00-04 1126 - Added method FindOrCreateRegion() to G4Regi 1009 - Added method FindOrCreateRegion() to G4RegionStore. 1127 - Added check in constructor of G4Region for 1010 - Added check in constructor of G4Region for existance of region in store. 1128 In case a region with the given name alread 1011 In case a region with the given name already exists, throw a warning and 1129 do not register it. 1012 do not register it. 1130 1013 1131 January 30, 2003 G. Cosmo ge 1014 January 30, 2003 G. Cosmo geommng-V05-00-03 1132 - Allow logical volume store to deregister ro 1015 - Allow logical volume store to deregister root regions for logical volumes 1133 deleted explicitely. 1016 deleted explicitely. 1134 Modified files: G4logicalVolumeStore.cc, G4 1017 Modified files: G4logicalVolumeStore.cc, G4LogicalVolume[.hh.icc.cc]. 1135 - G4Region.hh: moved ClearMaterialList() to p 1018 - G4Region.hh: moved ClearMaterialList() to public. 1136 1019 1137 January 15, 2003 G. Cosmo ge 1020 January 15, 2003 G. Cosmo geommng-V05-00-02 1138 - Included fix in G4VSolid.cc introduced in " 1021 - Included fix in G4VSolid.cc introduced in "geommng-V04-01-06". 1139 1022 1140 January 14, 2003 M.Asai ge 1023 January 14, 2003 M.Asai geommng-V05-00-01 1141 - Fix in src/G4Region.cc. 1024 - Fix in src/G4Region.cc. 1142 Does not include fix in "geommng-V04-01-06" 1025 Does not include fix in "geommng-V04-01-06". 1143 1026 1144 December 16, 2002 G. Cosmo ge 1027 December 16, 2002 G. Cosmo geommng-V05-00-00 1145 - Merged branch "geant4-04-01-ref-02-cuts-bra 1028 - Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD. 1146 Included development for 'cuts-by-region'; 1029 Included development for 'cuts-by-region'; introduced new classes 1147 G4Region and G4RegionStore. Modified G4Logi 1030 G4Region and G4RegionStore. Modified G4LogicalVolume to handle recursive 1148 propagation of regions to daughters. 1031 propagation of regions to daughters. 1149 Does not include fix in "geommng-V04-01-06" 1032 Does not include fix in "geommng-V04-01-06". 1150 1033 1151 December 6, 2002 V. Grichine ge 1034 December 6, 2002 V. Grichine geommng-V04-01-06 1152 - G4VSolid.cc: restored original conditions f 1035 - G4VSolid.cc: restored original conditions for extent clipping in 1153 method ClipPolygon(). Makes unit tests run 1036 method ClipPolygon(). Makes unit tests run successfully. 1154 1037 1155 November 19, 2002 G. Cosmo ge 1038 November 19, 2002 G. Cosmo geommng-V04-01-05 1156 - G4GeometryManager[.cc] 1039 - G4GeometryManager[.cc] 1157 o Fixed bug in initialisation of fine-grain 1040 o Fixed bug in initialisation of fine-grained timer 1158 (courtesy of Helmut Burkhardt). 1041 (courtesy of Helmut Burkhardt). 1159 1042 1160 November 09, 2002 G. Cosmo ge 1043 November 09, 2002 G. Cosmo geommng-V04-01-04 1161 - G4LogicalVolume.cc: 1044 - G4LogicalVolume.cc: 1162 o Correction to propagation of the Field Ma 1045 o Correction to propagation of the Field Manager to Daughter volumes: 1163 it should be propagated to all daughters 1046 it should be propagated to all daughters that do not have one -- not to all the 1164 ones that have one already. Fixes bug rep 1047 ones that have one already. Fixes bug report for field by logical volume. 1165 (J.Apostolakis) 1048 (J.Apostolakis) 1166 1049 1167 October 28, 2002 G. Cosmo ge 1050 October 28, 2002 G. Cosmo geommng-V04-01-03 1168 - G4VSolid[.hh.icc.cc]: 1051 - G4VSolid[.hh.icc.cc]: 1169 o Added pure virtual method StreamInfo() to 1052 o Added pure virtual method StreamInfo() to stream contents of a solid 1170 to a generic output stream. 1053 to a generic output stream. 1171 o Added method DumpInfo() using StreamInfo( 1054 o Added method DumpInfo() using StreamInfo() to dump contents to the 1172 standard output. 1055 standard output. 1173 1056 1174 October 23, 2002 G. Cosmo ge 1057 October 23, 2002 G. Cosmo geommng-V04-01-02 1175 - G4PVReplica.cc: 1058 - G4PVReplica.cc: 1176 o Corrected order for check on illegal cons 1059 o Corrected order for check on illegal constructions, in constructor taking 1177 a pointer to logical volume as mother vol 1060 a pointer to logical volume as mother volume. 1178 o Improved output diagnostics. 1061 o Improved output diagnostics. 1179 - G4PVParameterised.cc: 1062 - G4PVParameterised.cc: 1180 o Improved output diagnostics for check on 1063 o Improved output diagnostics for check on illegal constructions. 1181 1064 1182 October 16, 2002 G. Cosmo ge 1065 October 16, 2002 G. Cosmo geommng-V04-01-01 1183 - G4PVReplica.cc, G4PVParameterised.cc: 1066 - G4PVReplica.cc, G4PVParameterised.cc: 1184 Added checks for illegal geometry contructi 1067 Added checks for illegal geometry contructions; contructors now verify unicity 1185 of daughter volumes for replicas and parame 1068 of daughter volumes for replicas and parameterised volumes, as well as checks 1186 for attempt to replicate/parameterise the w 1069 for attempt to replicate/parameterise the world volume. 1187 1070 1188 October 4, 2002 G. Cosmo 1071 October 4, 2002 G. Cosmo 1189 - G4PVParameterised[.hh.cc], G4PVPlacement[.h 1072 - G4PVParameterised[.hh.cc], G4PVPlacement[.hh.cc]: 1190 Added new method IsParameterised() to enqui 1073 Added new method IsParameterised() to enquire for existing parameterisation 1191 for a placed volume. 1074 for a placed volume. 1192 - G4PVReplica[.hh.cc], G4VPhysicalVolume[.hh. 1075 - G4PVReplica[.hh.cc], G4VPhysicalVolume[.hh.cc]: 1193 Added methods IsParameterised() and GetMult 1076 Added methods IsParameterised() and GetMultiplicity() to enquire for existing 1194 parameterisation of placed volume, and numb 1077 parameterisation of placed volume, and number of replicated volumes. 1195 1078 1196 September 11, 2002 G. Cosmo ge 1079 September 11, 2002 G. Cosmo geommng-V04-01-00 1197 - G4AssemblyVolume[.hh.icc.cc]: 1080 - G4AssemblyVolume[.hh.icc.cc]: 1198 o Fixed bug #409 concerning missing imprint 1081 o Fixed bug #409 concerning missing imprint counter method. 1199 o Fixed bug #410 concerning the internal co 1082 o Fixed bug #410 concerning the internal counting mechanism. 1200 The fix involved the addition of a new da 1083 The fix involved the addition of a new data member fAssemblyID, 1201 holding the instance ID of the given obje 1084 holding the instance ID of the given object derived from 1202 class-wide counter. Corresponding accesso 1085 class-wide counter. Corresponding accessor methods has been 1203 added as well. 1086 added as well. 1204 - Updated unit test TestAssemblyVolume, to ad 1087 - Updated unit test TestAssemblyVolume, to add call to G4RunManager 1205 for resetting nagivator state in TstVADetec 1088 for resetting nagivator state in TstVADetectorConstruction.cc. 1206 1089 1207 June 24, 2002 G. Cosmo ge 1090 June 24, 2002 G. Cosmo geommng-V04-00-08 1208 - G4AssemblyVolume[.hh.cc]: 1091 - G4AssemblyVolume[.hh.cc]: 1209 o Moved accessors to assembly counters to p 1092 o Moved accessors to assembly counters to public. 1210 o Added support for user definable count ba 1093 o Added support for user definable count base for generated physical volumes. 1211 Fixes problem report #382. 1094 Fixes problem report #382. 1212 1095 1213 June 7, 2002 G. Cosmo ge 1096 June 7, 2002 G. Cosmo geommng-V04-00-07 1214 - G4AssemblyVolume[.hh.cc]: 1097 - G4AssemblyVolume[.hh.cc]: 1215 o Fixed inconsistent handling of input rota 1098 o Fixed inconsistent handling of input rotation matrices by caching them 1216 with corresponding deallocation at destru 1099 with corresponding deallocation at destruction time. 1217 Comments updated accordingly with a warni 1100 Comments updated accordingly with a warning about foreseen changes 1218 in methods' interfaces expected by next m 1101 in methods' interfaces expected by next major release 5.0. 1219 o Correctly handle cases when pointer to ro 1102 o Correctly handle cases when pointer to rotation matrix is zero. 1220 o Updated unit test. 1103 o Updated unit test. 1221 1104 1222 May 17, 2002 G. Cosmo ge 1105 May 17, 2002 G. Cosmo geommng-V04-00-06 1223 - Added ability to optionally optimise/non-op 1106 - Added ability to optionally optimise/non-optimise detector regions 1224 using logical volumes: 1107 using logical volumes: 1225 o G4LogicalVolume: 1108 o G4LogicalVolume: 1226 - Introduced additional bool argument to 1109 - Introduced additional bool argument to constructor, 1227 set to 'true' by default. 1110 set to 'true' by default. 1228 - Added method IsToOptimise() with corres 1111 - Added method IsToOptimise() with corresponding bool flag attribute. 1229 o G4GeometryManager: 1112 o G4GeometryManager: 1230 - Adapted BuildOptimisations() method to 1113 - Adapted BuildOptimisations() method to consider optional optimisation 1231 flag from G4LogicalVolume. 1114 flag from G4LogicalVolume. 1232 1115 1233 May 15, 2002 G. Cosmo ge 1116 May 15, 2002 G. Cosmo geommng-V04-00-05 1234 - G4SmartVoxelHeader: 1117 - G4SmartVoxelHeader: 1235 o Added utility method GetParamAxis() to re 1118 o Added utility method GetParamAxis() to retrieve suggested axis for 1236 optimisation of parametrised geometry. 1119 optimisation of parametrised geometry. 1237 o Enhanced BuildReplicaVoxels() to apply 3D 1120 o Enhanced BuildReplicaVoxels() to apply 3D voxelisation for non-consuming 1238 nodes if undefined axis is specified for 1121 nodes if undefined axis is specified for parametrised volumes. In such 1239 case, optimisation for parameterised volu 1122 case, optimisation for parameterised volumes is applied similarly to 1240 normal placements. 1123 normal placements. 1241 - G4PVReplica.cc: deal with 'kUndefined' EAxi 1124 - G4PVReplica.cc: deal with 'kUndefined' EAxis. 1242 - Co-works with "global-V04-00-06". 1125 - Co-works with "global-V04-00-06". 1243 1126 1244 May 13, 2002 G. Cosmo ge 1127 May 13, 2002 G. Cosmo geommng-V04-00-04 1245 - G4VSolid: use polygon clipping for limited 1128 - G4VSolid: use polygon clipping for limited voxel when != pAxis (V.Grichine). 1246 - G4GeometryManager: added method IsGeometryC 1129 - G4GeometryManager: added method IsGeometryClosed() for detecting geometry 1247 closed or open. 1130 closed or open. 1248 - G4LogicalVolumeStore, G4PhysicalVolumeStore 1131 - G4LogicalVolumeStore, G4PhysicalVolumeStore, G4SolidStore: added protection 1249 to Clean() method for checking if geometry 1132 to Clean() method for checking if geometry is closed. 1250 - G4SmartVoxelHeader.cc: cosmetics and format 1133 - G4SmartVoxelHeader.cc: cosmetics and formatting cleanup. 1251 1134 1252 April 19, 2002 G. Cosmo ge 1135 April 19, 2002 G. Cosmo geommng-V04-00-03 1253 - Moved inline constructors/destructors to no 1136 - Moved inline constructors/destructors to no inline. 1254 Affected files: G4DrawVoxels[.hh.cc], G4Sma 1137 Affected files: G4DrawVoxels[.hh.cc], G4SmartVoxelNode[.hh.cc], 1255 G4SmartVoxelProxy[.hh.cc], 1138 G4SmartVoxelProxy[.hh.cc], G4VoxelLimits[.hh.cc]. 1256 - Enhanced behavior for destructors of volume 1139 - Enhanced behavior for destructors of volumes/solids stores. 1257 o Added locking mechanism for preventing co 1140 o Added locking mechanism for preventing conflicts when destroying stores 1258 and deregistering pointers. Now destructo 1141 and deregistering pointers. Now destructors of stores will also 1259 explicitely delete pointers (and therefor 1142 explicitely delete pointers (and therefore allocated volumes/solids) 1260 dynamically allocated in the user applica 1143 dynamically allocated in the user application. 1261 o Added Clean() static method to volumes/so 1144 o Added Clean() static method to volumes/solids stores to explicitely 1262 delete pointed objects in the stores and 1145 delete pointed objects in the stores and clear all entries. 1263 o Modified files: G4LogicalVolumeStore[.hh. 1146 o Modified files: G4LogicalVolumeStore[.hh.cc], G4SolidStore[.hh.cc], 1264 G4PhysicalVolumeStore[.hh 1147 G4PhysicalVolumeStore[.hh.cc]. 1265 1148 1266 April 16, 2002 V. Grichine ge 1149 April 16, 2002 V. Grichine geommng-V04-00-02 1267 - G4VSolid[.hh.cc]: fixed bug in G4VSolid::Cl 1150 - G4VSolid[.hh.cc]: fixed bug in G4VSolid::ClipPoligon() to consider 1268 clipping related to a single axis. 1151 clipping related to a single axis. 1269 - G4VoxelLimits.cc: cosmetics changes and deb 1152 - G4VoxelLimits.cc: cosmetics changes and debug printouts ... 1270 1153 1271 February 26, 2002 G. Cosmo ge 1154 February 26, 2002 G. Cosmo geommng-V04-00-01 1272 - G4GeometryManager.cc: fixed handling of ios 1155 - G4GeometryManager.cc: fixed handling of ios manipulators and precision to reset 1273 to their original state in G4GeometryManage 1156 to their original state in G4GeometryManager::ReportVoxelStats(). 1274 Fixes problem report #343. 1157 Fixes problem report #343. 1275 1158 1276 January 08, 2002 G. Cosmo ge 1159 January 08, 2002 G. Cosmo geommng-V04-00-00 1277 - G4AffineTransform.icc: fixed trivial compil 1160 - G4AffineTransform.icc: fixed trivial compilation warning for gcc-2.95.2. 1278 - Included latest cosmetics changes to TestAs 1161 - Included latest cosmetics changes to TestAssemblyVolume/TstVADetectorConstruction.cc. 1279 1162 1280 November 23, 2001 G. Cosmo ge 1163 November 23, 2001 G. Cosmo geommng-V03-02-03 1281 - Initialise noNodes to 1 in G4SmartVoxelHead 1164 - Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case 1282 computed nodes for smartless happen to be z 1165 computed nodes for smartless happen to be zero (J.Apostolakis). 1283 1166 1284 November 08, 2001 G. Cosmo ge 1167 November 08, 2001 G. Cosmo geommng-V03-02-02 1285 - Fixed comments for reference manual in G4To 1168 - Fixed comments for reference manual in G4TouchableHandle.hh. 1286 1169 1287 October 26, 2001 G. Cosmo ge 1170 October 26, 2001 G. Cosmo geommng-V03-02-01 1288 - Improved printout in G4GeometryManager::Rep 1171 - Improved printout in G4GeometryManager::ReportVoxelStats(). 1289 1172 1290 October 22, 2001 G. Cosmo ge 1173 October 22, 2001 G. Cosmo geommng-V03-02-00 1291 - Added definition of G4TouchableHandle (R.Ch 1174 - Added definition of G4TouchableHandle (R.Chytracek) 1292 - Added class G4SmartVoxelStat for statistics 1175 - Added class G4SmartVoxelStat for statistics on geometry optimisation 1293 of volumes through voxelisation (courtesy o 1176 of volumes through voxelisation (courtesy of D.C.Williams). 1294 - Modified G4GeometryManager to make use of G 1177 - Modified G4GeometryManager to make use of G4SmartVoxelStat when run in 1295 verbose mode. 1178 verbose mode. 1296 1179 1297 May 31, 2001 G. Cosmo ge 1180 May 31, 2001 G. Cosmo geommng-V03-01-04 1298 - Adopt explicit initialisation for 'minExten 1181 - Adopt explicit initialisation for 'minExtents' and 'maxExtents' 1299 in G4SmartVoxelHeader::BuildNodes(...), to 1182 in G4SmartVoxelHeader::BuildNodes(...), to allow porting on ObjectSpace STL. 1300 1183 1301 May 23, 2001 G. Cosmo ge 1184 May 23, 2001 G. Cosmo geommng-V03-01-03 1302 - G4SmartVoxelHeader.cc: minor fix for removi 1185 - G4SmartVoxelHeader.cc: minor fix for removing pedantic warnings 1303 detected on Linux-g++ with ISO/ANSI setup. 1186 detected on Linux-g++ with ISO/ANSI setup. 1304 1187 1305 May 03, 2001 G. Cosmo ge 1188 May 03, 2001 G. Cosmo geommng-V03-01-02 1306 - G4DrawVoxels.cc: migration to STL vector ac 1189 - G4DrawVoxels.cc: migration to STL vector according to changes in 1307 graphics_reps module (greps-V03-01-01), now 1190 graphics_reps module (greps-V03-01-01), now migrated as well. 1308 1191 1309 April 27, 2001 G. Cosmo ge 1192 April 27, 2001 G. Cosmo geommng-V03-01-01 1310 - G4LogicalVolume.cc, G4SmartVoxelHeader.cc: 1193 - G4LogicalVolume.cc, G4SmartVoxelHeader.cc: fixed compilation warnings 1311 on HP-UX, concerning potential uninitialise 1194 on HP-UX, concerning potential uninitialised vector elements. 1312 1195 1313 April 20, 2001 G. Cosmo ge 1196 April 20, 2001 G. Cosmo geommng-V03-01-00 1314 - Migration to STL vector: 1197 - Migration to STL vector: 1315 o G4VSolid: migrated G4ThreeVectorList type 1198 o G4VSolid: migrated G4ThreeVectorList typedef. 1316 o G4SolidStore, G4LogicalVolumeStore, G4Phy 1199 o G4SolidStore, G4LogicalVolumeStore, G4PhysicalVolumeStore: migrated 1317 inheritance from base collection of point 1200 inheritance from base collection of pointers. 1318 o G4LogicalVolume: migrated data member "fD 1201 o G4LogicalVolume: migrated data member "fDaughters". 1319 o G4SmartVoxelHeader: migrated typedefs G4P 1202 o G4SmartVoxelHeader: migrated typedefs G4ProxyVector, G4NodeVector, 1320 G4VolumeNosVector and G4VolumeExtentVecto 1203 G4VolumeNosVector and G4VolumeExtentVector. 1321 o G4SmartVoxelNode: migrated G4SliceVector 1204 o G4SmartVoxelNode: migrated G4SliceVector typedef. 1322 1205 1323 March 07, 2001 G. Cosmo ge 1206 March 07, 2001 G. Cosmo geommng-V03-00-01 1324 - G4PVPlacement.hh: corrected comments to con 1207 - G4PVPlacement.hh: corrected comments to constructor with G4RotationMatrix* 1325 as argument, to correspond to specification 1208 as argument, to correspond to specifications in the User's Manual. 1326 - G4AssemblyVolume.cc: corrected comments abo 1209 - G4AssemblyVolume.cc: corrected comments about unique PV identifiers 1327 (by R.Chytracek). 1210 (by R.Chytracek). 1328 1211 1329 February 07, 2001 G. Cosmo ge 1212 February 07, 2001 G. Cosmo geommng-V03-00-00 1330 - Introduced first implementation of G4Assemb 1213 - Introduced first implementation of G4AssemblyVolume, a helper class to 1331 combine several volumes together in an arbi 1214 combine several volumes together in an arbitrary way in the 3D space. 1332 Added files: G4AssemblyVolume[.hh.icc.cc], 1215 Added files: G4AssemblyVolume[.hh.icc.cc], G4AssemblyTriplet[.hh.icc] 1333 (by R.Chytracek). 1216 (by R.Chytracek). 1334 - Added unit test suite for G4AssemblyVolume 1217 - Added unit test suite for G4AssemblyVolume class: TestAssemblyVolume 1335 (by R.Chytracek). 1218 (by R.Chytracek). 1336 1219 1337 December 04, 2000 G. Cosmo 1220 December 04, 2000 G. Cosmo 1338 - Minor fix to private assignment operator. 1221 - Minor fix to private assignment operator. 1339 1222 1340 November 20, 2000 G. Cosmo ge 1223 November 20, 2000 G. Cosmo geommng-V02-00-04 1341 - Fixes to remove warnings from "-Wall -ansi 1224 - Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: 1342 o commented out variables declared and not 1225 o commented out variables declared and not used. 1343 o fixed declaration of variables used befor 1226 o fixed declaration of variables used before being initialised. 1344 o fixed order of initialisation of member d 1227 o fixed order of initialisation of member data in constructors. 1345 o fixed usage of unsigned-int (size_t) for 1228 o fixed usage of unsigned-int (size_t) for array indeces. 1346 1229 1347 November 16, 2000 V.Grichine ge 1230 November 16, 2000 V.Grichine geommng-V02-00-03 1348 - Fix in G4VSolid::CalculateClippedPoligonExt 1231 - Fix in G4VSolid::CalculateClippedPoligonExtent(): removed assumption 1349 that pMin<pMax by eliminating "else" condit 1232 that pMin<pMax by eliminating "else" condition. (D.Williams) 1350 1233 1351 November 9, 2000 G.Cosmo ge 1234 November 9, 2000 G.Cosmo geommng-V02-00-02 1352 - Included test directory containing "voxel" 1235 - Included test directory containing "voxel" test by L.Grainac. 1353 1236 1354 November 1, 2000 G.Cosmo ge 1237 November 1, 2000 G.Cosmo geommng-V02-00-01 1355 - QA code revision and cleanup (+fixes from C 1238 - QA code revision and cleanup (+fixes from CodeWizard filtering): 1356 o Added (private) declarations of copy cons 1239 o Added (private) declarations of copy constructor and assignment 1357 operator where needed. 1240 operator where needed. 1358 o Added "const" qualifier to accessor metho 1241 o Added "const" qualifier to accessor methods, wherever needed. 1359 o Added equality check on operator= where n 1242 o Added equality check on operator= where needed. 1360 o Made destructor "virtual" for classes hav 1243 o Made destructor "virtual" for classes having virtual methods, 1361 wherever missing. 1244 wherever missing. 1362 o Changed virtual functions to non-inline w 1245 o Changed virtual functions to non-inline wherever's the case. 1363 o Added "inline" qualifier to methods' decl 1246 o Added "inline" qualifier to methods' declarations. 1364 o Replaced usage of "do-loops" with "while- 1247 o Replaced usage of "do-loops" with "while-loops" in 1365 G4VoxelLimits::ClipToLimits(). 1248 G4VoxelLimits::ClipToLimits(). 1366 o General cosmetics 1249 o General cosmetics 1367 1250 1368 September 11, 2000 G.Cosmo ge 1251 September 11, 2000 G.Cosmo geommng-V02-00-00 1369 - G4SolidStore.cc: fixed bug in destructor ca 1252 - G4SolidStore.cc: fixed bug in destructor causing memory corruption at 1370 application exit when Boolean solids are in 1253 application exit when Boolean solids are involved (bug #154). 1371 1254 1372 June 06, 2000 G.Cosmo ge 1255 June 06, 2000 G.Cosmo geommng-V01-01-00 1373 - G4DrawVoxels.hh: removed line '#define G4Dr 1256 - G4DrawVoxels.hh: removed line '#define G4DrawVoxelsDebug' left in place 1374 accidentally in the code... 1257 accidentally in the code... 1375 1258 1376 April 20, 2000 G. Cosmo 1259 April 20, 2000 G. Cosmo 1377 - Reorganised comments for the Software Refer 1260 - Reorganised comments for the Software Reference Manual. 1378 - Moved inlined definition to .icc files, whe 1261 - Moved inlined definition to .icc files, where needed. 1379 Created: G4SmartVoxelHeader.icc, G4SmartVox 1262 Created: G4SmartVoxelHeader.icc, G4SmartVoxelNode.icc, 1380 G4SmartVoxelProxy.icc, G4VoxelLimi 1263 G4SmartVoxelProxy.icc, G4VoxelLimits.icc. 1381 1264 1382 April 11, 2000 J. Allison 1265 April 11, 2000 J. Allison 1383 - Made virtual G4VisExtent G4VSolid::GetExten 1266 - Made virtual G4VisExtent G4VSolid::GetExtent() non-pure and implemented 1384 a default in terms of CalculateExtent. 1267 a default in terms of CalculateExtent. 1385 1268 1386 January 19, 2000 G. Cosmo ge 1269 January 19, 2000 G. Cosmo geommng-V01-00-00 1387 1270 1388 - Syncronized file versioning with HEAD (seve 1271 - Syncronized file versioning with HEAD (several CVS headers changed 1389 due to the recent migration for ISO C++) 1272 due to the recent migration for ISO C++) 1390 1273 1391 January 19, 2000 J. Allison 1274 January 19, 2000 J. Allison 1392 1275 1393 - G4DrawVoxels.cc: assured GetSlice(slice_no) 1276 - G4DrawVoxels.cc: assured GetSlice(slice_no) is called for 1394 slice_no < no_slices. 1277 slice_no < no_slices. 1395 1278 1396 November 30, 1999 G. Cosmo ge 1279 November 30, 1999 G. Cosmo geommng-V00-01-01a 1397 - G4DrawVoxels.cc: 1280 - G4DrawVoxels.cc: 1398 Fixed initialization of (const G4VPhysicalV 1281 Fixed initialization of (const G4VPhysicalVolume*) in method 1399 GetAbsoluteTransformation(). Fix needed for 1282 GetAbsoluteTransformation(). Fix needed for NT/VC++ compiler. 1400 1283 1401 November 09, 1999 J. Apostolakis ge 1284 November 09, 1999 J. Apostolakis geommng-V00-01-01 1402 - G4VPhysicalVolume: 1285 - G4VPhysicalVolume: 1403 i) Made G4RotationMatrix G4VPhysicalVolume 1286 i) Made G4RotationMatrix G4VPhysicalVolume::GetObjectRotation() const 1404 non-inline and moved it to source file 1287 non-inline and moved it to source file from inline file. 1405 ii) Added GetObjectRotationValue() method. 1288 ii) Added GetObjectRotationValue() method. 1406 iii) Minimal changes of comments for Softwar 1289 iii) Minimal changes of comments for Software Ref. Manual in header file 1407 1290 1408 [ Change i) caused problem with HP aCC comp 1291 [ Change i) caused problem with HP aCC compiler A.01.19. Atlas 1409 was patching the code to try to get arou 1292 was patching the code to try to get around this, but this 1410 resolution is much better ] 1293 resolution is much better ] 1411 1294 1412 March 17, 1999 J. Apostolakis ge 1295 March 17, 1999 J. Apostolakis geommng-01-00-02 1413 - G4AffineTransform.icc: 1296 - G4AffineTransform.icc: 1414 Corrected a typo in InverseProduct (rzy->ry 1297 Corrected a typo in InverseProduct (rzy->ryz) that caused the incorrect 1415 calculation of a compound transformation (i 1298 calculation of a compound transformation (if tf1.tz*tf2.ryz != 0). 1416 This problem was seen in ATLAS code. 1299 This problem was seen in ATLAS code.