Celeritas
0.5.0-86+4a8eea4
|
Manage properties for optical materials. More...
#include <MaterialParams.hh>
Classes | |
struct | Input |
Public Member Functions | |
MaterialParams (Input const &inp) | |
Construct with optical property data. | |
OpticalMaterialId::size_type | num_materials () const |
Number of optical materials. | |
HostRef const & | host_ref () const final |
Access optical material on the host. | |
DeviceRef const & | device_ref () const final |
Access optical material on the device. | |
Public Member Functions inherited from celeritas::ParamsDataInterface< MaterialParamsData > | |
MaterialParamsData< Ownership::const_reference, M > const & | ref () const |
Dispatch a "ref" call to host or device data. | |
Static Public Member Functions | |
static std::shared_ptr< MaterialParams > | from_import (ImportData const &data, ::celeritas::GeoMaterialParams const &geo_mat, ::celeritas::MaterialParams const &mat) |
Construct with imported data and material/volume data. | |
Additional Inherited Members | |
Public Types inherited from celeritas::ParamsDataInterface< MaterialParamsData > | |
using | HostRef = HostCRef< MaterialParamsData > |
using | DeviceRef = DeviceCRef< MaterialParamsData > |
Protected Member Functions inherited from celeritas::ParamsDataInterface< MaterialParamsData > | |
CELER_DEFAULT_COPY_MOVE (ParamsDataInterface) | |
Manage properties for optical materials.
Each "physics material" (the combination of a geometry-specified material and a user-specified region) can map to a single optical material. Many materials—especially those in mechanical structures and components not optically connected to the detector—may have no optical properties at all.
Optical volume properties are imported from Geant4 into the ImportData
container. The celeritas::MaterialParams
class loads the mapping of MaterialId
to OpticalMaterialId
and makes it accessible via the main loop's material view. By combining that with the GeoMaterialParams
which maps volumes to MaterialId
, this class maps the geometry volumes to optical materials for use in the optical tracking loop.
When surface models are implemented, surface properties will also be added to this class.