|
Celeritas 0.7-develop+ddcb429
|
Construction options for Geant4 conversion. More...
#include <Import.hh>

Public Attributes | |
Volume-to-universe conversion | |
| unsigned int | explicit_interior_threshold {2} |
| Volumes with up to this many children construct an explicit interior. | |
| bool | inline_childless {true} |
| Forcibly inline volumes that have no children. | |
| InlineSingletons | inline_singletons {InlineSingletons::untransformed} |
| Forcibly inline volumes that are only used once. | |
| bool | inline_unions {true} |
| Forcibly copy child volumes that have union boundaries. | |
| std::map< std::string, SquareMatrixReal3 > | universe_alignment |
| Rotation matrices that makes the daughters within LVs axis-aligned, to improve acceleration. | |
| unsigned int | align_daughter_threshold {10} |
| The minimum number of daughters required for an LV to be a candidate for automatic alignment (zero disables). | |
| double | align_daughter_fraction {0.8} |
| Fraction of daughters that must share a rotation to automatically align an LV. | |
Debug output | |
| bool | verbose_volumes {false} |
| Write output about volumes being converted. | |
| bool | verbose_structure {false} |
| Write output about proto-universes being constructed. | |
Public Attributes inherited from celeritas::inp::OrangeGeoFromCsg | |
| double | unit_length {celeritas::lengthunits::millimeter} |
| Scale factor (input unit length), customizable for unit testing. | |
| Tolerance | tol |
| Construction and tracking tolerance (native units) | |
| bool | implicit_parent_boundary {true} |
| Remove bounding surfaces from lower-level universes. | |
| LogicNotation | logic {LogicNotation::infix} |
| Logic expression notation for runtime: simplified if infix. | |
| std::string | objects_output_file |
| Write converted Geant4 object structure to a JSON file. | |
| std::string | csg_output_file |
| Write constructed CSG surfaces and tree to a JSON file. | |
| std::string | org_output_file |
| Write final org.json to a JSON file. | |
Friends | |
| std::istream & | operator>> (std::istream &is, OrangeGeoFromGeant &) |
| Helper to read the import options from a file or stream. | |
| std::ostream & | operator<< (std::ostream &os, OrangeGeoFromGeant const &) |
| Helper to write the options to a file or stream. | |
Construction options for Geant4 conversion.
Note that most of these should never be touched when running an actual problem. If the length unit is changed, the resulting geometry is inconsistent with Geant4's scale.
|
friend |
Helper to read the import options from a file or stream.
Example to read from a file:
| double celeritas::inp::OrangeGeoFromGeant::align_daughter_fraction {0.8} |
Fraction of daughters that must share a rotation to automatically align an LV.
Must be > 0.5.
The minimum number of daughters required for an LV to be a candidate for automatic alignment (zero disables).
This requirement is bypassed for LVs that are entries in the user-supplied universe_alignment map.
| std::map<std::string, SquareMatrixReal3> celeritas::inp::OrangeGeoFromGeant::universe_alignment |
Rotation matrices that makes the daughters within LVs axis-aligned, to improve acceleration.
Keys are LV names.