Celeritas  0.5.0-56+6b053cd
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 UnivItems = Collection< T, W, M, UniverseId >
 
using RealId = OpaqueId< real_type >
 

Public Member Functions

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

Public Attributes

OrangeParamsScalars scalars
 
UnivItems< UniverseTypeuniverse_types
 
UnivItems< size_typeuniverse_indices
 
Items< SimpleUnitRecordsimple_units
 
Items< RectArrayRecordrect_arrays
 
Items< TransformRecordtransforms
 
BIHTreeData< W, M > bih_tree_data
 
Items< LocalSurfaceIdlocal_surface_ids
 
Items< LocalVolumeIdlocal_volume_ids
 
Items< RealIdreal_ids
 
Items< logic_intlogic_ints
 
Items< real_typereals
 
Items< FastReal3fast_real3s
 
Items< SurfaceTypesurface_types
 
Items< ConnectivityRecordconnectivity_records
 
Items< VolumeRecordvolume_records
 
Items< Daughterdaughters
 
Items< OrientedBoundingZoneRecordobz_records
 
UniverseIndexerData< W, M > universe_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 invidual 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 universe_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: