Celeritas 0.7.0-dev.555+develop.5c5a8f0a7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
celeritas::OrangeParamsData< W, M > Struct Template Reference

Persistent data used by ORANGE implementation. More...

#include <OrangeData.hh>

Public Types

template<class T >
using Items = Collection< T, W, M >
 
template<class T >
using ImplVolumeItems = Collection< T, W, M, ImplVolumeId >
 
template<class T >
using UnivItems = Collection< T, W, M, UnivId >
 
using RealId = SurfacesRecord::RealId
 

Public Member Functions

 operator bool () const
 True if assigned.
 
template<Ownership W2, MemSpace M2>
OrangeParamsData & operator= (OrangeParamsData< W2, M2 > const &other)
 Assign from another set of data.
 

Public Attributes

OrangeParamsScalars scalars
 
UnivItems< UnivType > univ_types
 
UnivItems< size_type > univ_indices
 
Items< SimpleUnitRecord > simple_units
 
Items< RectArrayRecord > rect_arrays
 
Items< TransformRecord > transforms
 
ImplVolumeItems< VolumeId > volume_ids
 
ImplVolumeItems< VolumeInstanceId > volume_instance_ids
 
detail::BvhTreeData< W, M > bvh_tree_data
 
Items< LocalSurfaceId > local_surface_ids
 
Items< LocalVolumeId > local_volume_ids
 
Items< RealId > real_ids
 
Items< vol_level_uint > vl_uints
 
Items< logic_int > logic_ints
 
Items< real_type > reals
 
Items< SurfaceType > surface_types
 
Items< ConnectivityRecord > connectivity_records
 
Items< LocalVolumeRecord > volume_records
 
Items< Daughter > daughters
 
Items< OrientedBoundingZoneRecord > obz_records
 
UniverseIndexerData< W, M > univ_indexer_data
 

Detailed Description

template<Ownership W, MemSpace M>
struct celeritas::OrangeParamsData< W, M >

Persistent data used by ORANGE implementation.

Most data will be accessed through the individual units, which reference data in the "storage" below. The type and index for a universe ID will determine the class type and data of the Tracker to instantiate. If only simple units are present, then the simple_units data structure will just be equal to a range (with the total number of universes present). Use univ_types to switch on the type of universe; then universe_indices to index into simple_units or rect_arrays or ...


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