Celeritas  0.5.0-56+6b053cd
Classes | Public Member Functions | Static Public Member Functions | List of all members
celeritas::optical::MaterialParams Class Referencefinal

Manage properties for optical materials. More...

#include <MaterialParams.hh>

Inheritance diagram for celeritas::optical::MaterialParams:
Inheritance graph
[legend]

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< MaterialParamsfrom_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)
 

Detailed Description

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.


The documentation for this class was generated from the following files: