Geant4 Cross Reference |
1 # Category gdml History 2 3 See `CONTRIBUTING.rst` for details of **required** info/format for each entry, 4 which **must** added in reverse chronological order (newest at the top). 5 It must **not** be used as a substitute for writing good git commit messages! 6 7 ------------------------------------------------------------------------------- 8 9 ## 2024-06-20 Gabriele Cosmo (gdml-V11-02-04, 03) 10 - Disabled schema validation by default, as XercesC currently does 11 support only 'http' (see: https://issues.apache.org/jira/browse/XERCESC-2220). 12 - Added possibility to define G4GDML_DEFAULT_SCHEMALOCATION string as 13 environment variable, to point to local path for the schema. 14 Defined new flag G4GDML_DEFAULT_WRITE_SCHEMALOCATION for schema location 15 in writing. 16 17 ## 2024-03-08 Gabriele Cosmo (gdml-V11-02-02) 18 - Use std::map instead of std::vector to iterate on logical-skin surfaces 19 in G4GDMLWriteStructure::GetSkinSurface(). 20 Part of fix addressing problem report #2598. 21 22 ## 2024-02-29 Gabriele Cosmo (gdml-V11-02-01, 00) 23 - Fix in schema module gdml_solids.xsd for tessellated solid semantics, to 24 correctly reference facet types. Fixes schema validation errors which may 25 occur on some custom XSD validation tools. Schema updated to GDML-3.1.7. 26 Thanks to A.Trouche (Artenum) for providing the patch. 27 28 ## 2023-06-16 Ivana Hrivnacova (gdml-V11-01-02) 29 - Let G4ThreeVectorCompare obey the strict weak ordering requirements; 30 which fixes failures in inserting elements in the std::map with 31 this compare operator used in writing tessellated solid. 32 33 # 2023-05-31 Ben Morgan (gdml-V11-01-01) 34 - Allow setting of alternative grammar for schema validation via an environment 35 variable `G4GDML_SCHEMA_FILE`, which overrides the value set by `SetImportSchema` 36 if both are non-empty strings. 37 - Update checking of grammar and schema override to fail on missing schema, and 38 to force parser to ignore any schema set in the input GDML file. 39 40 ## 2023-04-26 Gabriele Cosmo (gdml-V11-01-00) 41 - Added possibility to set alternative grammar for schema validation while 42 reading a GDML file. This can be achieved by either calling the new method 43 SetImportSchema(..) from G4GDMLParser, providing the absolute path and file 44 name of the XML schema, or by using the new UI command: 45 /persistency/gdml/schema "[absolute_path]/schema_filename" 46 before importing the GDML file. 47 By setting a locally stored alternative grammar, it will instruct the parser 48 to ignore the default schema specified in the GDML file and therefore 49 no longer require access to the network for retrieving the schema. 50 - In G4GDMLWriteStructure::ExportSD(), use GetMasterSensitiveDetector() from 51 logical volume to retrieve the shadow pointer of the sensitive detector. 52 Fixes issue reported by CMS when exporting sensitive detector auxiliary 53 data in MT mode. 54 55 ## 2022-11-11 Gabriele Cosmo (gdml-V11-00-05) 56 - Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1. 57 58 ## 2022-04-04 Sergio Losilla (gdml-V11-00-04) 59 - Changed default temperature to 20 °C (followup to commit ba61d0). 60 61 ## 2022-03-14 W. Pokorski (gdml-V11-00-03) 62 - Removed a forgotten (used for debugging) cout in G4GDMLReadSolids::PropertyRead. 63 64 ## 2022-03-05 M. Asai (gdml-V11-00-02) 65 - G4GDMLReadSolids, G4GDMLReadStructure: 66 Use original find methods in G4SolidStore, G4LogicalVolumeStore and 67 G4PhysicalVolumeStore to simplify the code. 68 Co-working with geommng-V11-00-03. 69 70 ## 2022-02-16 M. Asai (gdml-V11-00-01) 71 - G4GDMLParser, G4GDMLReadDefine, G4GDMLReadSolids, G4GDMLReadStructure: 72 Addressing to the case of solid/volune name duplication when reading 73 more than one gdml files. 74 75 ## 2021-12-10 Ben Morgan (gdml-V11-00-00) 76 - Change to new Markdown History format 77 78 --- 79 80 # History entries prior to 11.0 81 82 05 November 2021 G. Cosmo (gdml-V10-07-15) 83 - G4GDMLParser: issue notification warning in ImportRegions() in case 84 more than one logical volume with same name is found, to be set a 85 root logical volume for a region. 86 87 02 November 2021 G. Cosmo (gdml-V10-07-14) 88 - G4GDMLParser: scan for all possible logical volumes with same name in 89 ImportRegions() and set them as root logical volumes. 90 91 13 October 2021 D. Sawkey (gdml-V10-07-13) 92 - G4GDMLWriteMaterials, G4GDMLWriteSolids: G4MaterialProperties table now 93 returns references to vectors, rather than maps that had to be allocated 94 on the heap. Adjust code to iterate over the vectors. 95 96 30 September 2021 G. Cosmo (gdml-V10-07-12) 97 - G4GDMLWriteMaterials, G4GDMLWriteSolids: fixed leaks introduced with recent 98 changes to G4MaterialPropertiesTable, where now maps are returned allocated 99 on the heap, leaving ownership to clients... 100 101 15 September 2021 G. Cosmo (gdml-V10-07-11) 102 - G4GDMLWriteStructure: added fatal exception in AssemblyWrite() for the case 103 of nested assemblies, not yet supported for exporting. 104 105 13 September 2021 D. Sawkey (gdml-V10-07-10) 106 - G4GDMLReadMaterials, G4GDMLReadSolids: add parameter createNewKey=true to 107 G4Material[Const]PropertiesTable::AddProperty() 108 109 17 August 2021 G. Cosmo (gdml-V10-07-09) 110 - G4GDMLRead: added missing update to internal maps for solids and volumes 111 stores, after stripping of names execution. Addressing problem report #2403. 112 113 13 July 2021 G. Cosmo (gdml-V10-07-08) 114 - G4GDMLParser: added utility method to retrieve a generic physical volume 115 by its name. 116 117 21 May 2021 G. Cosmo (gdml-V10-07-07) 118 - G4GDMLReadSolids: updated optical surface properties based on relatively 119 recent introduction of DAVIS interface. 120 Addressing problem report #2371. 121 122 18 May 2021 V. Ivanchenko (gdml-V10-07-06) 123 - G4GDMLWriteMaterials: use G4PhysicsFreeVector instead 124 of G4PhysicsOrderedFreeVector. 125 126 1 April 2021 B. Morgan (gdml-V10-07-05) 127 - Migrate build to modular CMake API. 128 129 17 March 2021 Witek Pokorski (gdml-V10-07-04) 130 - Solves the problem #2343 of not all assemblies being written out to the GDML file. 131 Fix provided by Laurie Nevay. 132 133 16 March 2021 Witek Pokorski (gdml-V10-07-03) 134 - Solves the problem #2342 of multiUnion and assembly write creating degenerated names 135 (position, rotation and nodes). Fix provided by Laurie Nevay. 136 137 4 March 2021 Witek Pokorski (gdml-V10-07-02) 138 - Removed the hardcoded size 10000 in G4GDMLWrite causing the values in GDML truncated. 139 Adressing problem report #2336. Fix by Tao Lin. 140 141 3 February 2021 Gabriele Cosmo (gdml-V10-07-01) 142 - Fixed parsing of regions in G4GDMLParser::ImportRegions(). 143 Allow for proper deletion of meta-data lists in destructor. 144 Based on GitHub PR#19 by shangjiaxuan. 145 - Fixed reading of units for GenericTrap in G4GDMLReadSolids. 146 Addressing problem report #2317. 147 148 18 January 2021 Witek Pokorski (gdml-V10-07-00) 149 - Fixed importing of skin/border-surface properties by changing the key of 150 the G4GDMLReadSolids property vector map from 'name' to 'name + ref'. 151 Addressing problem report #2305 152 153 5 November 2020 Witek Pokorski (gdml-V10-06-05) 154 - Adding new method to the parser SetOutputFileOverwrite(G4bool flag) which 155 allows to set the flag to enable overwriting of the output GDML file. 156 157 19 October 2020 Witek Pokorski (gdml-V10-06-04) 158 - Fix for problem 2273 (fixing loops when from == to). 159 160 7 October 2020 Gabriele Cosmo (gdml-V10-06-03) 161 - Minor c++11 review. Code cleanup and formatting. 162 163 6 October 2020 Gabriele Cosmo (gdml-V10-06-02) 164 - Use std::map instead of std::vector to iterate on logical-border surfaces 165 in G4GDMLWriteStructure::GetBorderSurface(). 166 Based on GitHub PR #6 by J.Brodsky. 167 - Some code cleanup and formatting in G4GDMLWriteStructure source. 168 169 21 February 2020 Witek Pokorski (gdml-V10-06-01) 170 - Fixed writing out and reading in of const properties of material. 171 172 11 December 2019 Ben Morgan (gdml-V10-06-00) 173 - Cleanup CMake build, removing obsolete granular library options and 174 explicit include_directories. 175 176 13 November 2019 Makoto Asai (gdml-V10-05-09) 177 - G4GDMLRead.cc : avoid double-definition of units. 178 179 25th September 2019 Ben Morgan (gdml-V10-05-08) 180 - sources.cmake: Replace use of XercesC include/library by imported 181 XercesC::XercesC target 182 183 18,19 July 2019 Makoto Asai (gdml-V10-05-06, -07) 184 - G4GDMLMessenger.cc : avoid UI commands from being broadcasted to worker 185 threads. 186 187 17 May 2019 Witek Pokorski (gdml-V10-05-05) 188 - Adding support for writing out assemblies. 189 190 2 May 2019 Witek Pokorski (gdml-V10-05-04) 191 - Improvement in the optical properties reader allowing to reuse the same 192 G4MaterialPropertyVector object for identical properties. 193 194 12 April 2019 Witek Pokorski (gdml-V10-05-03) 195 - Fixes to BorderSurface and OpticalSurface writer provided by Binbin Qi. 196 Addressing problem reports #2143 and #2142. 197 198 2 April 2019 Gabriele Cosmo (gdml-V10-05-02) 199 - Added more protections for workers also for writing modules and read. 200 201 1 April 2019 Gabriele Cosmo (gdml-V10-05-01) 202 - Added protection to G4GDMLParser::Write() to dump geometry only through 203 the master thread. Addressing problem report #2156. 204 205 4 March 2019 Gabriele Cosmo (gdml-V10-05-00) 206 - Fix in G4GDMLReadStructure::PhysvolRead() to allow correct import of 207 recursive assembly structures. Thanks to B.Qi for the suggested fix. 208 Addressing problem report #2141. 209 210 5 October 2018 Gabriele Cosmo (gdml-V10-04-04) 211 - Added stripping of invalid characters for names generation in writer classes 212 to prevent invalid NCName strings in exported GDML files. Adopt properly 213 stripped generated strings for exporting names of optical surfaces. 214 Patch provided courtesy of B.Couturier (LHCb). 215 216 7 June 2018 Gabriele Cosmo (gdml-V10-04-03) 217 - Clear also auxiliary map information in G4GDMLReadStructure::Clear(). 218 Addressing problem report #2064. 219 220 15 March 2018 Gabriele Cosmo (gdml-V10-04-02) 221 - Protect printout of progress in reading/writing by G4VERBOSE. 222 223 7 February 2018 Daren Sawkey (gdml-V10-04-01) 224 - Updates to changes in G4Material[Const]PropertiesTable in 225 G4GDMLWriteSolids and G4GDMLWriteMaterials. 226 Addressing problem report #2030. 227 228 19 December 2017 Gabriele Cosmo (gdml-V10-04-00) 229 - Fixed self-consistency in G4GDMLAuxStructType header (missing #include). 230 Thanks to Raphael Isemann for reporting this. 231 232 02 October 2017 Witek Pokorski (gdml-V10-03-09) 233 - Added handling of null pointer to material in case of parallel geometries 234 235 15 September 2017 Soon Yung Jun (gdml-V10-03-08) 236 - use GetPropertyMap and GetConstPropertyMap instead of GetPropertiesMap 237 and GetPropertiesCMap in G4GDMLWriteMaterials and G4GDMLWriteSolids 238 239 11 September 2017 Soon Yung Jun (gdml-V10-03-07) 240 - corresponding updates due to changes in G4MaterialPropertiesTable maps 241 in G4GDMLWriteMaterials and G4GDMLWriteSolids 242 243 23 August 2017 Gabriele Cosmo (gdml-V10-03-06) 244 - Handle all possible variants for G4TwistedTubs, included asymmetric ones. 245 Updated TwistedtubsRead/Write() in G4GDMLRead/WriteSolids accordingly. 246 Extended schema for coping with all possible parameters for G4TwistedTubs 247 shape (updated file gdml_solids.xsd). New GDML schema version 3.1.6. 248 Thanks to Yimin Wang (MIT) for reporting this. 249 250 17 August 2017 Gabriele Cosmo (gdml-V10-03-05) 251 - Fix in G4GDMLWriteSolids::TwistedtubsWrite() to correctly export 252 end-inner/outer radii for G4TwistedTubs shape. 253 254 13 July 2017 Gabriele Cosmo (gdml-V10-03-04) 255 - Added commands to G4GDMLMessenger for enable/disable stripping of names 256 for reading and for appending or not pointers to names for writing. 257 258 20 June 2017 Witek Pokorski (gdml-V10-03-03) 259 - Added optical surface properties to the schema 260 261 12 June 2017 Gabriele Cosmo (gdml-V10-03-02) 262 - Added ability to export limited number of levels in the geometry hierarchy, 263 by specifying this through the G4GDMLParser::SetMaxExportLevel(G4int) method. 264 265 7 April 2017 Gabriele Cosmo (gdml-V10-03-01) 266 - Enabled import/export of G4MultiUnion as a native type, no longer bound 267 to USolids module only. Requires co-working tags in geometry. 268 269 23 March 2017 Witek Pokorski (gdml-V10-03-00) 270 - Fixed schema for replicas along angular axis. 271 Changing the schema to GDML version 3.1.5. 272 Addressing problem report #1917. 273 - Added possibility to specify material properties tables for optical 274 surfaces (Wouter Deconinck). Addressing enhancement request #1947. 275 276 18 November 2016 Witek Pokorski (gdml-V10-02-09) 277 - Fixing check for correctness of the units for replicas in case of angular 278 axis. 279 280 13 September Gabriele Cosmo (gdml-V10-02-08) 281 - Replaced obsolete call to 'Invisible' with 'G4VisAttributes::GetInvisible()' 282 in G4GDMLReadStructure::GetWorldVolume(). 283 284 26 July 2016 Witek Pokorski (gdml-V10-02-07) 285 - Fixing check for correctness of the units for divisions along angular axis. 286 287 29 April 2016 Gabriele Cosmo (gdml-V10-02-06) 288 - Added missing new dependency on digits_hits/detector in GNUmakefile. 289 290 28 April 2016 Witek Pokorski (gdml-V10-02-05) 291 - Added ability to automatically export the names of sensitive detectors 292 as the auxiliary information. 293 294 22 March 2016 Witek Pokorski (gdml-V10-02-04) 295 - adding check for correctness of the units 296 297 21 March 2016 Witek Pokorski (gdml-V10-02-03) 298 - increasing max_chars in the transcode() calls in G4GDLWrite (bug #1847) 299 300 16 March 2016 Gabriele Cosmo (gdml-V10-02-02, 01) 301 - Added ability to import and export scaled shapes. 302 Extended GDML schema by adding "scaledSolid" tag supporting scaled shapes. 303 New GDML schema version 3.1.4 (files: gdml.xsd, gdml_solids.xsd). 304 Requires tags "geommng-V10-02-00" and "geom-bool-V10-02-01". 305 306 14 December 2015 Gabriele Cosmo (gdml-V10-02-00) 307 - Corrected broken URLs and version number to schema. 308 309 07 October 2015 Gabriele Cosmo (gdml-V10-01-24) 310 - Protected compilation of G4MultiUnion wrapper with G4GEOM_USE_USOLIDS flag. 311 312 02 October 2015 Gabriele Cosmo (gdml-V10-01-23) 313 - Restored left-hand rule in G4GDMLWriteDefine. Use more relaxed precision 314 constant for formula evaluation, to allow for proper treatment of 315 singularities. 316 317 01 October 2015 Gabriele Cosmo (gdml-V10-01-22, 21) 318 - Apply right-hand rule (counterclockwise rotation) for matrix-to-angles 319 conversion in G4GDMLWriteDefine. 320 Attempt to debug CMS dumped geometry. 321 322 24 September 2015 Gabriele Cosmo (gdml-V10-01-20) 323 - Rectify rotation matrices in reading and writing GDML files to get rid of 324 spurious roundoff errors in stored values. 325 326 06 August 2015 Gabriele Cosmo (gdml-V10-01-19) 327 - Fixed typo in exported name for electron cuts in G4GDMLWriteStructure. 328 329 30 July 2015 Witek Pokorski (gdml-V10-01-18) 330 - Small modification to previous tag to avoid writing out 0 copy-number. 331 332 30 July 2015 Witek Pokorski (gdml-V10-01-17) 333 - Added support for writing and reading copy-numbers associated to placements. 334 New GDML schema version 3.1.3 (files: gdml.xsd). 335 336 08 May 2015 Witek Pokorski (gdml-V10-01-16) 337 - Modification in the import/export of the regions to deal with reflected 338 volumes. 339 340 07 May 2015 Witek Pokorski (gdml-V10-01-15) 341 - Fixing bug introduced in the previous tag V10-01-13. 342 343 30 April 2015 Gabriele Cosmo (gdml-V10-01-14) 344 - Fixed non-initialised boolean flag in G4GDMLRead, reported by Coverity. 345 346 28 April 2015 Witek Pokorski (gdml-V10-01-13) 347 - One more fix for writing out reflected volumes to cover the case when _only_ 348 the reflected volume is present. 349 350 27 April 2015 Gabriele Cosmo (gdml-V10-01-12) 351 - Allow for optional stripping of references from regions names 352 when exporting. 353 354 20 April 2015 Gabriele Cosmo (gdml-V10-01-11) 355 - Corrected parsing of shape type-ID for MultiUnion in G4GDMLWriteSolids. 356 357 16 April 2015 Gabriele Cosmo (gdml-V10-01-10) 358 - Improved text in G4Exception for failed import of file in G4GDMLRead. 359 360 14 April 2015 Gabriele Cosmo (gdml-V10-01-09) 361 - Code cleanup and formatting. 362 363 13 April 2015 Witek Pokorski (gdml-V10-01-08) 364 - Fixed writing out of reflected volumes. No more redundant duplicated 365 logical volumes in the store after import of geometry. 366 - Correction for optional stripping of world-volume. 367 368 9 April 2015 Gabriele Cosmo (gdml-V10-01-07) 369 - Added "dichroic" surface model for optical property, consistent with 370 addition done in release 10.0. 371 372 9 April 2015 Gabriele Cosmo (gdml-V10-01-06) 373 - Simplified retrivial of energy cuts by directly using G4ProductionCutsTable. 374 375 8 April 2015 Gabriele Cosmo (gdml-V10-01-05) 376 - Implemented ability to optionally export (export only!) energy cuts 377 associated to logical volumes (default is OFF). Export of energy cuts for 378 volumes can be activated/de-activated by means of a new UI command 379 "/persistency/gdml/export_Ecuts [true/false]". 380 - Corrected signature for import/export of auxiliary information and 381 execute dump of the auxiliary information after all volume's content, 382 included daughters tree, to be consistent with schema definition. 383 384 30 March 2015 Gabriele Cosmo (gdml-V10-01-04) 385 - Enable also export of default world region, for consistency. 386 387 27 March 2015 Gabriele Cosmo (gdml-V10-01-03) 388 - Fixed compilation warnings on SLC5. 389 390 27 March 2015 Gabriele Cosmo (gdml-V10-01-02) 391 - Implemented import/export of geometrical regions associated to volumes 392 for importing and storing production cuts and user-limits, as global 393 auxiliary_info entity. NOTE: regions in parallel worlds not supported! 394 Updated G4GDMLParser to optionally activate export of regions (default 395 is OFF). Export of regions can be activated/de-activated by means of 396 the new UI command "/persistency/gdml/export_regions [true/false]". 397 - Avoid use of standard evaluator for import of units; adopt G4UnitsTable 398 instead, in order to avoid loss of precision due to unit's conversion. 399 400 19 March 2015 Gabriele Cosmo 401 - Added missing file to headers list in sources.cmake. 402 - Minor code cleanup... 403 404 18 March 2015 Witek Pokorski (gdml-V10-01-01) 405 - Added 'userinfo' to GDML schema to allow 'global' auxiliary fields. 406 - Extended auxiliary field in the schema by 'auxunit' and pointer to 407 sub-auxiliary fields (no limit on the number of levels). 408 New GDML schema version 3.1.2 (files: gdml.xsd, gdml_core.xsd). 409 - Added writer support for auxiliary info (global and volume-specific). 410 411 3 February 2015 Gabriele Cosmo (gdml-V10-01-00) 412 - Allow for return of NULL pointer in call to GetWorldVolume() in case 413 read command for importing a GDML file has not been yet issued. 414 Addressing enhancement request #1412. 415 416 24 November 2014 Gabriele Cosmo (gdml-V10-00-11) 417 - Fixed typo in G4GDMLWriteSolids::BooleanWrite() for the case of repeated 418 displacements of the reference solid in the same Boolean operation (issue 419 reported by ATLAS). 420 421 18 November 2014 Gabriele Cosmo (gdml-V10-00-10) 422 - Issue exception when attempting to load multi-union structures 423 without USolids. 424 425 11 November 2014 Makoto Asai (gdml-V10-00-09) 426 - G4GDMLMessenger: /persistency/gdml/clear now invokes G4RunManager to 427 cleanly delete entire geometry. 428 429 10 November 2014 Witold Pokorski (gdml-V10-00-08) 430 - Correction to G4GDMLReadMaterials::MixtureRead() to revert order of 431 reading (first elements then materials) for mixtures by fraction; 432 corrects referencing for cases when elements and materials may carry 433 the same name (case reported by ATLAS). 434 435 29 October 2014 Gabriele Cosmo (gdml-V10-00-07) 436 - Moved USolids module from geometry/solids to externals. 437 438 18 July 2014 Gabriele Cosmo (gdml-V10-00-06) 439 - Added implementation for import/export of Multi-Union (G4MultiUnion) 440 structures. 441 Requiring updated GDML schema for multiUnionNode entity (GDML version 3.1.1). 442 - Updated internal schema to reflect new GDML schema release 3.1.1, for 443 updated gdml_solids.xsd module. 444 445 21 May 2014 Gabriele Cosmo (gdml-V10-00-05) 446 - Added better description to fatal exception in case document content 447 imported happens to be empty in G4GDMLRead::Read(). 448 449 20 May 2014 Gabriele Cosmo (gdml-V10-00-04) 450 - Correction to G4GDMLRead::Read() for the case when schema validation 451 is turned off, to disable initialisation of validation machinery in the 452 parser and allow for standalone parsing off-network. 453 454 15 May 2014 Gabriele Cosmo (gdml-V10-00-03) 455 - Corrected minor Coverity defect in G4GDMLParser for uninitialised 456 'strip' flag in constructors. 457 - Corrected potential memory leak in G4GDMLReadSolids. 458 459 11 April 2014 Gabriele Cosmo (gdml-V10-00-02) 460 - Corrected dump of 'phi' and 'theta' for G4Trap and G4Para in writer. 461 Addressing problem report #1602. 462 463 10 April 2014 Gabriele Cosmo (gdml-V10-00-01) 464 - Get rid of deprecated 'register' storage class specifier in source files. 465 466 13 March 2014 Gabriele Cosmo (gdml-V10-00-00) 467 - Added comparison operator for 3-vector key in 'vertexMap' in 468 G4GDMLWriteSolids for export of tessellated solid. 469 Addressing problem report #1573. 470 471 29 November 2013 Tatiana Nikitina (gdml-V09-06-09) 472 - Fixed GDML schema for spurious validation errors on last changes introduced 473 for parameterisation of polycone and polyhedra and multi-union. 474 - Fixed typo in G4GDMLReadParamvol and some code cleanup. 475 476 23 November 2013 Gabriele Cosmo (gdml-V09-06-08) 477 - Fixed compilation warnings on SLC5/gcc-4.1. 478 479 22 November 2013 Tatiana Nikitina (gdml-V09-06-07) 480 - Added support for parameterisation of polycone and polyhedra in GDML schema. 481 Extended related classes accordingly in reader and writer. 482 - Added warning in reader for multi-union structure not yet supported. 483 484 7 November 2013 Gabriele Cosmo (gdml-V09-06-06) 485 - Replaced deprecated calls to G4Sphere accessor methods. 486 487 29 October 2013 Tatiana Nikitina 488 - Added 'generic' Polycone and Polyhedra to GDML Reader and Writer. 489 Splitted definition of Polycone to ordinary and generic. 490 - Added parameterisation for Ellipsoid to readear/writer and schema. 491 - Added MultiUnion solid and 'generic' Polycone and Polyhedra to the schema 492 GDML schema updated to version 3.1.0. 493 - Fix in G4GDMLReadParamvol::ParametersRead() for reading parameterised 494 Sphere, Orb, Torus and Para. 495 496 27 August 2013 Gabriele Cosmo (gdml-V09-06-05, gdml-V09-06-04) 497 - Added G4Ellipsoid among solids enabled for parameterisation in 498 G4GDMLParameterisation. 499 500 5 June 2013 Gabriele Cosmo (gdml-V09-06-03) 501 - Replaced use of 'pascal' with 'hep_pascal' to avoid conflicts on Windows. 502 503 10 April 2013 Gabriele Cosmo (gdml-V09-06-02) 504 - Removed TLS changes in G4GDMLWrite as not necessary. 505 506 26 February 2013 Gabriele Cosmo (gdml-V09-06-01) 507 - Removed unused data member in G4STRead. 508 - Cleanup of MT changes in G4GDMLWrite. 509 510 25 October 2012 Gabriele Cosmo (gdml-V09-05-05) 511 - Added inclusion of headers to G4STRead.cc to make it self consistent. 512 513 18 July 2012 Witek Pokorski (gdml-V09-05-04) 514 - Corrected handling of constant material properties. 515 516 5 July 2012 - Gabriele Cosmo (gdml-V09-05-03) 517 - Explicitly use inclusion of headers for system of units and physical 518 constants, in plan to remove implicit inclusion from globals.hh. 519 520 30 May 2012 - Gabriele Cosmo (gdml-V09-05-02) 521 - Fixed typo introduced in previous tag... 522 523 25 May 2012 - Gabriele Cosmo (gdml-V09-05-01) 524 - Fixed trivial cases of variable shadowing. 525 526 20 March 2012 Witek Pokorski (gdml-V09-05-00, gdml-V09-04-11) 527 - Bug fix in material properties. 528 529 23 November 2011 Gabriele Cosmo (gdml-V09-04-10) 530 - Additional fix on G4EllipticalTube, to not consider units in import for 531 semi-axes ratios. 532 533 23 November 2011 Gabriele Cosmo (gdml-V09-04-09) 534 - Same fix for G4TessellatedSolid and G4Tet, to consider units in import 535 for vertices. 536 537 23 November 2011 Gabriele Cosmo (gdml-V09-04-08) 538 - Fix in reader for G4GenericTrap shape to consider units in import for 539 vertices. 540 541 1 November 2011 Tatiana Nikitina (gdml-V09-04-07) 542 - Extended reader and writer to support new shape G4CutTubs. 543 544 14 October 2011 Peter Gumplinger (gdml-V09-04-06) 545 - Completed migration to work with tag "materials-V09-04-15" also for writer. 546 547 13 October 2011 Peter Gumplinger (gdml-V09-04-05) 548 - Modify to comply with modifications in tag "materials-V09-04-14". 549 550 27 September 2010 Anton Pytel (gdml-V09-04-04) 551 - Extended GDML schema for materials to include ionisation potential (mean 552 excitation energy) property to materials (GDML-3.0.1). Adapted reader and 553 writer plugins accordingly. 554 555 23 May 2010 Gabriele Cosmo (gdml-V09-04-03) 556 - G4GDMLWriteMaterials: avoid dereferencing of null pointer in PropertyWrite() 557 for materials without property assigned; issue a warning message. 558 Addressing problem report #1214. 559 560 13 May 2011 Gabriele Cosmo (gdml-V09-04-02) 561 - Fixed compilation warnings from gcc-4.6.0 for variables set but not used. 562 563 5 May 2010 Gabriele Cosmo (gdml-V09-04-01) 564 - Make use of G4Evaluator typedef for evaluator instance. 565 566 10 Jan 2010 Ivana Hrivnakova (gdml-V09-04-00) 567 - Correction in G4GDMLWriteMaterials::MaterialWrite() to properly treat 568 export of materials with single element defined as isotope composition. 569 570 30 Nov 2010 Gabriele Cosmo (gdml-V09-03-10) 571 - Fixed ambiguity in signature of Write() method in G4GDMLParser. 572 573 17 Nov 2010 Gabriele Cosmo (gdml-V09-03-09) 574 - Added possibility to de-activate/activate names stripping when reading files, 575 by invoking a new method G4GDMLParser::SetStripFlag(bool) before importing 576 the GDML file. Stripping is activated by default. 577 - Corrected initialization of messenger for all constructors of G4GDMLParser. 578 579 04 Nov 2010 Gabriele Cosmo (gdml-V09-03-08) 580 - Fixed compilation warning on G4GDMLEvaluator. 581 582 02 Nov 2010 Gabriele Cosmo (gdml-V09-03-07) 583 - Fixed minor left Coverity reports. 584 - Some code cleanup and updated CMake scripts. 585 586 25 Oct 2010 Witold Pokorski 587 - New class G4GDMLMessenger instantiated with G4GDMLParser and defining 588 UI commands for importing and exporting GDML files, through the various 589 options the parser provides. 590 - Corrected GetWorldVolume() in G4GDMLReadStructure, to make use of structure 591 stored in memory in case geometry is already imported. 592 593 14 Oct 2010 Gabriele Cosmo (gdml-V09-03-06) 594 - Fixed dummy initialisation of members in constructors in classes 595 G4GDMLParameterisation, G4GDMLReadParamvol, G4GDMLReadStructure, 596 G4GDMLWrite, G4GDMLWriteDefine, G4GDMLWriteMaterials, G4GDMLWriteSolids. 597 - Added exceptions asserting validity of dynamic casted pointers. 598 599 11 Oct 2010 Witold Pokorski (gdml-V09-03-05) 600 - Added GetAuxMap() method to G4GDMLParser and removed 'const' qualifier to 601 types in internal map of logical-volumes. Changed value type to 'string' in 602 G4GDMLAuxPairType to avoid extra type evaluation while parsing. 603 604 19 Aug 2010 Gabriele Cosmo (gdml-V09-03-04) 605 - Fixed printout of unit in G4GDMLWriteStructure for replicas and divisions, 606 in the case of angles. 607 608 02 Jun 2010 Gabriele Cosmo (gdml-V09-03-03) 609 - Added G4GenericTrap among the set of supported solids in both reader and 610 writer, treating as 'arb8' GDML type. 611 612 20 May 2010 Gabriele Cosmo (gdml-V09-03-02) 613 - Corrected dump of division axis in writer. 614 615 18 Feb 2010 Gabriele Cosmo (gdml-V09-03-01) 616 - Added missing reference attribute in G4GDMLWriteMaterials for dumping 617 of materials property vectors. Increased string buffer in G4GDMLWrite. 618 Addressing problem report #1104. 619 - Corrected import of surface properties in G4GDMLReadSolids for the case 620 of recursive read of files. 621 622 17 Feb 2010 Gabriele Cosmo (gdml-V09-03-00) 623 - Added IsValid() method to parser to verify if variable/constant/quantity 624 is defined and is valid. Added const qualifier to reader accessors in parser. 625 626 04 Dec 2009 Gabriele Cosmo (gdml-V09-02-18) 627 - Updated list of optical properties in G4GDMLReadSolid according to 628 last changes to G4OpticalSurface and G4SurfaceProperty. 629 630 14 Oct 2009 Gabriele Cosmo (gdml-V09-02-17) 631 - Added support for GDML 'expression' tag, implementing generic expressions 632 stored as literal constants. 633 - Corrected handling of 'quantity' tag; added missing caching of evaluation. 634 635 24 Sep 2009 Gabriele Cosmo (gdml-V09-02-16) 636 - Added support for the GDML 'assembly' tag, implementing assemblies of 637 simple placements through G4AssemblyVolume. 638 639 12 May 2009 Gabriele Cosmo (gdml-V09-02-15) 640 - Restricted usage of loops only for placement of volumes. Now correctly 641 handling most common use-case of multiple copies of the same volume/solid 642 through loop statement. Addressing problem report #1063. 643 644 11 May 2009 Gabriele Cosmo (gdml-V09-02-14) 645 - Allow for name stripping of volumes which are included in loops; do not 646 store appended internal counter reference. 647 648 27 April 2009 Gabriele Cosmo (gdml-V09-02-13) 649 - Get rid of unused parameter in G4GDMLWriteMaterials::PropertyVectorWrite(). 650 651 24 April 2009 Gabriele Cosmo (gdml-V09-02-12) 652 - Some code cleanup: rationalised inclusion of headers, replacing them 653 with forward declarations where possible. 654 655 24 April 2009 Gabriele Cosmo (gdml-V09-02-11) 656 - Allow for reading/writing of constant material properties. 657 - Implemented ability to write surface properties associated to volumes 658 and material properties. 659 660 17 April 2009 Gabriele Cosmo (gdml-V09-02-10) 661 - Defined missing copy constructor and operator=() to G4GDMLMatrix 662 internal class, to avoid cases of memory corruption when handling matrices. 663 664 15 April 2009 Gabriele Cosmo (gdml-V09-02-09) 665 - Completed virtual layer for allowing customisation of the writer for 666 user-extended schemas. 667 668 09 April 2009 Gabriele Cosmo (gdml-V09-02-08) 669 - Correction in G4GDMLWriteSolids::BooleanWrite() in order to handle 670 cases of nested displaced solids given to both operands in a Boolean 671 operation (ATLAS use case). 672 - Renamed flag for maximum number of transformations applied to a solid 673 and moved to G4GDMLWriteSolids base class. 674 - First virtual layer for custom writer classes G4GDMLWriteSolids and 675 G4GDMLWriteStructure. 676 677 03 April 2009 Tatiana Nikitina (gdml-V09-02-07) 678 - Correction in materials and solids tags for allowing parsing of 679 definitions within the tag scope; possibility foreseen by the schema. 680 681 24 March 2009 Gabriele Cosmo (gdml-V09-02-06) 682 - Added empty default constructor and virtual destructor to classes in the 683 inheritance chain. 684 685 02 March 2009 Gabriele Cosmo (gdml-V09-02-05) 686 - Fixed association of entities in nested loops for solids and materials. 687 Definitions of materials are not supposed to be included in loops being 688 therefore repeated... 689 - Strip off white spaces from names G4GDMLWrite::GenerateName(), to avoid 690 parsing problems in imported files. 691 692 26 February 2009 Tatiana Nikitina (gdml-V09-02-04) 693 - Corrected treatment of brackets and indices for matrices in G4GDMLEvaluator. 694 Fixes problem report #1048. 695 696 24 February 2009 Gabriele Cosmo (gdml-V09-02-03) 697 - Removed useless 'const' qualifier from GetAuxMap() signature. 698 699 19 February 2009 Gabriele Cosmo (gdml-V09-02-02) 700 - Fix in G4GDMLStructure class for missing caching of auxiliary information 701 from child modules, causing auxiliary information defined within separated 702 modules to get lost and therefore not assigned to volumes. 703 Fixes problem report #1049. 704 705 23 January 2009 Gabriele Cosmo (gdml-V09-02-01) 706 - Changed post-fix"_refl" to "_PV" for placements made through the 707 reflection-factory. 708 709 22 January 2009 Gabriele Cosmo (gdml-V09-02-00) 710 - Added possibility to check overlaps by activating/de-activating the 711 built-in surface check for placement and parameterised volumes. 712 By default the overlap check is off. To activate it, use call to the 713 parser 'SetOverlapCheck(true)' before reading the GDML file. 714 715 4 December 2008 Gabriele Cosmo (gdml-V09-01-21) 716 - Updated default GDML schema location in G4GDMLParser to point to new 717 GDML schema. 718 719 21 November 2008 Tatiana Nikitina (gdml-V09-01-20) 720 - Updated schema to include new features introduced in reader/writer plugin. 721 722 21 November 2008 Gabriele Cosmo (gdml-V09-01-19) 723 - Added missing solid Elliptical-Cone to reader and writer. 724 725 20 November 2008 Gabriele Cosmo (gdml-V09-01-18) 726 - Implemented mechanism for importing GDML descriptions with extensions 727 to the GDML schema, identified by a new tag "extension". 728 - Added implementation .cc file for G4GDMLParser. 729 730 17 November 2008 Gabriele Cosmo (gdml-V09-01-17) 731 - Get rid of module-name pre-pended to entity names. 732 - Added StripNamePointers() method to G4GDMLParser, utility to be invoked in 733 the user-code to strip off pointers from entity names in a GDML modular setup 734 after loading all modules. 735 736 14 November 2008 Gabriele Cosmo (gdml-V09-01-16) 737 - Enhanced name stripping in G4GDMLRead, to remove also additional IDs 738 prepended to the original name of entities in the case of modular GDML files. 739 740 13 November 2008 Gabriele Cosmo (gdml-V09-01-15) 741 - Added support for new serializer API as introduced in Xerces-3.0.0. 742 - Cleared compilation warnings on Intel-icc compiler. 743 744 22 August 2008 Tatiana Nikitina (gdml-V09-01-14) 745 - G4GDMLReadStructure: added methods ReplicaRead(), AxisRead(), QuantityRead() 746 and introduced corrections in order to read replica volumes conforming to the 747 GDML Schema. Added possibility to read/write replication for Rho and Phi axes. 748 - G4GDMLWriteStructure: introduced corrections in order to write replica 749 volumes conforming to the GDML Schema. 750 751 20 August 2008 Gabriele Cosmo (gdml-V09-01-13) 752 - G4GDMLParser: added argument to Write() for specify if appending or not 753 reference pointer to generated names. Default is TRUE. 754 - G4GDMLRead: implemented filtering of names to remove from entity names 755 appended reference pointer which may have been generated. Simplified 756 name generated for physical-volumes to only append "_PV" to its logical 757 volume name. 758 - Removed wherever applicable additional strings appended to names. 759 760 18 August 2008 Gabriele Cosmo (gdml-V09-01-12) 761 - G4GDMLWriteSolids: fixes in naming convention for solids; added specification 762 of units where missing. Introduced parsing of vertices for tessellated solids 763 to avoid duplication in writing. 764 765 29 July 2008 Tatiana Nikitina 766 - Fixes to parameterisation read and write to match the schema. 767 768 24 July 2008 Tatiana Nikitina 769 - Added to reader the possibility to have a reference to position and rotation 770 for Boolean solids, as it was possible in GDML_2_10_0. 771 772 24 July 2008 Tatiana Nikitina 773 - Fixes in reading/writing G4TwistedTrap shapes. 774 775 22 July 2008 Tatiana Nikitina 776 - Added G4Paraboloid to list of supported solids for reader and writer. 777 778 16 July 2008 Gabriele Cosmo (gdml-V09-01-11) 779 - Renamed internal methods wherever needed to match code policy and having 780 them starting with capital letter. 781 782 15 July 2008 Gabriele Cosmo (gdml-V09-01-10) 783 - Code review, formatting and adoption of canonical form for calls to 784 G4Exception. Usage of std:: namespace for calls to standard mathematical 785 functions. 786 - Added class G4STRead, copy of the original class implemented by Z.Torzsok. 787 - Corrected compilation error on Windows/VC++8 compiler for incorrect 788 signature of method in base class. 789 790 3 July 2008 Gabriele Cosmo (gdml-V09-01-09) 791 - Corrected bugs introduced in last commits for modularization of files; 792 Restored original use of maps. 793 - Corrected syntax for parser writer to (optionally) take a pointer to the 794 top physical-volume instead of the logical volume. 795 796 25 June 2008 Zoltan Torzsok (gdml-V09-01-08) 797 - Units are set according to CLHEP units in G4GDMLEvaluator. 798 799 23 June 2008 Zoltan Torzsok 800 - Optimised string handling. Schema location can be set in the writer. 801 802 20 June 2008 Zoltan Torzsok (gdml-V09-01-07) 803 - Set correct URL for schema for 'noNamespaceSchemaLocation' parameter. 804 805 17 June 2008 Zoltan Torzsok 806 - Added schema validation. 807 - Added schema definition files. 808 809 10 June 2008 Zoltan Torzsok (gdml-V09-01-06) 810 - Modularization can be done either by physvol/depth/mixed. 811 Volume auxiliary information is requested by pointer instead of by name. 812 813 9 June 2008 Zoltan Torzsok 814 - Naming convention can be configured in the writer. 815 816 5 June 2008 Zoltan Torzsok 817 - Module name is optional now. If no name is specified, 818 the logical volume name will be the filename. 819 820 2 June 2008 Zoltan Torzsok (gdml-V09-01-05) 821 - Writer checks if the file to be created does already exist. 822 - Added GetVolume() function. 823 824 29 May 2008 Zoltan Torzsok 825 - Added support for writing modular files. 826 827 28 May 2008 Zoltan Torzsok 828 - Only the referenced materials/elements/isotopes are written out, not the 829 whole material/element/isotope store. 830 - Assigned the name to world physical volume. 831 832 27 May 2008 Zoltan Torzsok 833 - Optimized/simplified writing of structure: no array required for sorting. 834 - Only the referenced solids are written out, not the whole solid store. 835 836 23 May 2008 Zoltan Torzsok 837 - Writer: precision is now considered in case of scale, rotation and position 838 of the physical-volume. DBL_EPSILON is used to filter precision for avoiding 839 unnecessary scaling, rotation or positioning. 840 841 6 May 2008 Zoltan Torzsok (gdml-V09-01-04) 842 - Added a constant limiting the maximum number of reflections/displacements of a single solid 843 844 21 April 2008 Zoltan Torzsok 845 - Divisionvol, replicavol and paramvol are resolved now. 846 847 11 April 2008 Zoltan Torzsok (gdml-V09-01-03) 848 - Referenced solid in volume is resolved in case of displacements/reflections. 849 850 10 April 2008 Zoltan Torzsok 851 - Added text output to console to inform of progress during processing. 852 853 9 April 2008 Zoltan Torzsok 854 - Worked out an algorithm for sorting logical volumes in the writer. 855 856 4 April 2008 Zoltan Torzsok 857 - Modified writing out of volumes to happen in recursive way. 858 Still needs optimization. Does not recompute touched branches! 859 860 1 April 2008 Z.Torzsok 861 - Corrected function names to have all starting with capital letter. 862 863 11 March 2008 Z.Torzsok (gdml-V09-01-02) 864 - Added border surface to reader. 865 - Added skin surface to reader. 866 - Fixed compilation problems on Intel/icc compiler. 867 868 7 March 2008 Z.Torzsok (gdml-V09-01-01) 869 - Material properties added to reader 870 871 20 February 2008 Z.Torzsok 872 - Completed support for parameterised volumes in writer. 873 - Name is added to physvol in reader. 874 875 19 February 2008 Z.Torzsok 876 - Replicavol is simplified and no longer restricted to replication along axes. 877 878 18 February 2008 Z.Torzsok 879 - Added G4GDMLWriteParamvol class implementing the parameterised volumes 880 in the writer. Added box parameterisation and succesfully tested. 881 882 15 February 2008 Z.Torzsok 883 - Division volumes added to writer and succesfully tested. 884 885 14 February 2008 Z.Torzsok 886 - Replica volumes added to writer and succesfully tested. 887 888 13 February 2008 Z.Torzsok 889 - Added getRotationMatrix() function to G4GDMLReadDefine: this function 890 converts rotation angles into a rotation matrix. This wad used in physvol, 891 reflectedSolid and boolean solid. Now this conversion is in one place 892 - Added 'firstrotation' and 'firstposition' to boolean solid. Now the first 893 solid can be transformed too (Boolean solid is succesfully tested). 894 895 11 February 2008 Z.Torzsok 896 - Added matrices to writer. 897 - Exception handling is added to loops (identify infinite loops). 898 899 8 Febryary 2008 Z.Torzsok 900 - Naming of physvol changed to 'ReferencedVolumeName_in_MotherVolumeName'. 901 902 7 February 2008 Z.Torzsok 903 - Added twistedtrap and twistedtubs to writer. 904 905 6 february 2008 Z.Torzsok 906 - Tet, Twistedbox and Twistedtrd added to writer and succesfully tested. 907 908 5 February 2008 Z.Torzsok 909 - Hype, orb and para added to writer. 910 Succesfully tested, except the para. 911 912 1 February 2008 Z.Torzsok 913 - Ellipsoid and elliptical-tube added to writer. 914 915 31 January 2008 Z.Torzsok 916 - Quantities now can be referenced 917 - Naming of physical volumes changed: MotherLogicalName_daughter(index) 918 919 30 January 2008 Z.Torzsok 920 - If there is only one setup defined, name does not matter, that setup 921 will be loaded. 922 - Temperature, pressure and state are now processed in the reader. 923 Added Nist support. 924 925 28 January 2008 Z.Torzsok 926 - Element added to writer. 927 - Polyhedra and torus added to writer. 928 - Now the package is able to read/write the CMS geometry. 929 930 25 January 2008 Z.Torzsok 931 - Bugs fixed in the writer in G4GMLWriteStructure::physvolWrite(): 932 the signs of the rotational angles were incorrect in certain cases 933 (180 degrees, 90 degrees,...). The reflection was incorrect in case 934 of reflecting a subtree. 935 - Now the package is capable of reading and writing back the LHCb 936 geometry correctly. 937 938 23 January 2008 Z.Torzsok 939 - Composite materials added to writer. 940 - Cone and tube added to writer. 941 - Boolean solid (intersection, subtraction, union) added to writer. 942 943 22 January 2008 Z.Torzsok 944 - Extruded solid is added to writer. 945 - Reflected solid is removed from the written GDML files. 946 Scale transformation is used instead. 947 - Optimization to tha case of reading multiple GDML files and writing out 948 into a single GDML file: 949 The mother volume is moved to the end of the list after its daugthers are 950 processed... only when necessary, when new logical volumes come from the 951 daughters! 952 953 21 January 2008 Z.Torzsok 954 - Reflected solid is added to the writer. 955 - Solved problem of reading multiple GDML files and writing out into a single 956 GDML file: 957 if a logical volume (let's say the mother volume) is instantiated, it will 958 be added to the end of list of volumes (G4LogicalVolumeStore). 959 Once this logical volume is instantiated we can add daughters. 960 If a daughter refers to an external file, additional logical volumes will 961 come. These logical volumes will be added to the list as well, AFTER the 962 mother volume. In the mother volume these logical volumes can be referenced 963 ...but these logical volumes are not instantiated yet when we instantiate 964 the mother! That's why we move the mother volume at the end of the list 965 after the daughters are processed. 966 967 18 January 2008 Z.Torzsok 968 - The class hierarchy of the GDML parser/writer is finished: 969 Write <- WriteDefine <- WriteMaterials <- WriteSolids 970 <- WriteSetup <- WriteStructure 971 Parser Read <- ReadDefine <- ReadMaterials <- ReadSolids 972 <- ReadSetup <- ReadParamvol <- ReadStructure. 973 974 16 January 2008 Z.Torzsok 975 - Starting the materials section. 976 977 15 January 2008 Z.Torzsok 978 - Writer implements the setup section too. 979 980 11 January 2008 Z.Torzsok (gdml-V09-01-00) 981 - Reader is now capable of resolving entities. 982 983 08 January 2008 Z.Torzsok 984 - Vertex referencing is fixed in tessellated solid 985 (using the identifier "vertex" according to the schema). 986 987 07 January 2008 Z.Torzsok 988 - Starting to implement the writer. 989 990 30 November, 07 Z.Torzsok (gdml-V09-00-04) 991 - Fine tuning of the class hierarchy and fixed issue with reflections. 992 993 23 November, 07 Z.Torzsok (gdml-V09-00-03) 994 - Better handling of embedded loops and first adaptation. 995 996 22 November, 07 Z.Torzsok (gdml-V09-00-02) 997 - Handling of embedded loops added. 998 - Fixed compilation problems on Windows platform. 999 1000 19 November, 07 G.Cosmo (gdml-V09-00-01) 1001 - Better handling of modular GDML files and reflections (Z.Torzsok). 1002 - Added disclaimer to all files. Use G4 types. 1003 - Fixed compilation problems on SUN platform. 1004 1005 15 November, 07 Z.Torzsok (gdml-V09-00-00) 1006 - Added support for modular files. 1007 - Completed set of specific solids. Supported reflections and divisions. 1008 1009 02 November, 07 G.Cosmo (persistency-V09-00-00) 1010 - Added G4LIB_BUILD_GDML/G4LIB_USE_GDML flags to trigger compilation through 1011 the central scripts. Moved setup for XERCESC (includes and libs paths) to 1012 central scripts. 1013 - Coworks with tag "config-V09-00-06". 1014 1015 17 October, 07 Z.Torzsok 1016 - Introduced new "gdml" plugin sub-module, based on new GDML release 3.