Celeritas 0.7-develop+ddcb429
Loading...
Searching...
No Matches
Friends | List of all members
celeritas::inp::OrangeGeoFromGeant Struct Reference

Construction options for Geant4 conversion. More...

#include <Import.hh>

Inheritance diagram for celeritas::inp::OrangeGeoFromGeant:
Inheritance graph
[legend]

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.
 

Detailed Description

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.

Friends And Related Symbol Documentation

◆ operator>>

std::istream & operator>> ( std::istream &  is,
OrangeGeoFromGeant &  inp 
)
friend

Helper to read the import options from a file or stream.

Example to read from a file:

Options inp;
std::ifstream("foo.json") >> inp;

Member Data Documentation

◆ align_daughter_fraction

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.

◆ align_daughter_threshold

unsigned int celeritas::inp::OrangeGeoFromGeant::align_daughter_threshold {10}

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.

◆ universe_alignment

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.


The documentation for this struct was generated from the following file: