Celeritas 0.7.0-dev.254+develop.a6804dd8
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
celeritas::SurfaceModel Class Referenceabstract

Physics to be applied during a surface crossing. More...

#include <SurfaceModel.hh>

Inheritance diagram for celeritas::SurfaceModel:
Inheritance graph
[legend]

Public Types

Type aliases
using VecSurfaceLayer = std::vector< PhysSurfaceId >
 Vector of surfaces.
 

Public Member Functions

virtual ~SurfaceModel ()=0
 Anchored default destructor.
 
virtual VecSurfaceLayer constget_surfaces () const =0
 Get the list of surfaces/layers this applies to.
 
SurfaceModelId surface_model_id () const
 Opaque ID of this surface model.
 
std::string_view label () const
 Short descriptive name of this model.
 

Protected Member Functions

 SurfaceModel (SurfaceModelId, std::string_view)
 Construct with label and model ID.
 
 SurfaceModel (SurfaceModel const &)=default
 
SurfaceModeloperator= (SurfaceModel const &)=default
 
 SurfaceModel (SurfaceModel &&)=default
 
SurfaceModeloperator= (SurfaceModel &&)=default
 

Detailed Description

Physics to be applied during a surface crossing.

Each surface model is constructed independently given some inp data. It internally maps a sequence of "global" SurfaceId to a "local" SubModelId. It additionally allows an empty surface returned by get_surfaces to indicate a default model to be applied when the user does not specify surface properties.

This is currently only used by optical physics classes.

Constructor & Destructor Documentation

◆ SurfaceModel() [1/3]

celeritas::SurfaceModel::SurfaceModel ( SurfaceModelId  id,
std::string_view  label 
)
protected

Construct with label and model ID.

Note that the label, being a string view, must (for now) point to constant memory.

◆ SurfaceModel() [2/3]

celeritas::SurfaceModel::SurfaceModel ( SurfaceModel const )
protecteddefault

Prevent assignment through base class

◆ SurfaceModel() [3/3]

celeritas::SurfaceModel::SurfaceModel ( SurfaceModel &&  )
protecteddefault

Prevent assignment through base class

Member Function Documentation

◆ get_surfaces()

virtual VecSurfaceLayer const & celeritas::SurfaceModel::get_surfaces ( ) const
pure virtual

◆ operator=() [1/2]

SurfaceModel & celeritas::SurfaceModel::operator= ( SurfaceModel &&  )
protecteddefault

Prevent assignment through base class

◆ operator=() [2/2]

SurfaceModel & celeritas::SurfaceModel::operator= ( SurfaceModel const )
protecteddefault

Prevent assignment through base class


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