Celeritas  0.5.0-86+4a8eea4
Public Types | Public Member Functions | List of all members
celeritas::Model Class Referenceabstract

Abstract base class representing a physics model with a discrete action. More...

#include <Model.hh>

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

Public Types

using UPConstGridBuilder = std::unique_ptr< ValueGridBuilder const >
 Type aliases.
 
using MicroXsBuilders = std::vector< UPConstGridBuilder >
 
using SetApplicability = std::set< Applicability >
 
- Public Types inherited from celeritas::ActionTypeTraits< P, S >
using CoreParams = P
 
using CoreStateHost = S< MemSpace::host >
 
using CoreStateDevice = S< MemSpace::device >
 
using SpanCoreStateHost = Span< S< MemSpace::host > *const >
 
using SpanCoreStateDevice = Span< S< MemSpace::device > *const >
 

Public Member Functions

virtual SetApplicability applicability () const =0
 Get the applicable particle type and energy ranges of the model.
 
virtual MicroXsBuilders micro_xs (Applicability range) const =0
 Get the microscopic cross sections for the given particle and material.
 
StepActionOrder order () const final
 Dependency ordering of the action.
 
- Public Member Functions inherited from celeritas::StepActionInterface< P, S >
virtual void step (P const &, S< MemSpace::host > &) const =0
 Execute the action with host data.
 
virtual void step (P const &, S< MemSpace::device > &) const =0
 Execute the action with device data.
 
- Public Member Functions inherited from celeritas::ActionInterface
virtual ~ActionInterface () noexcept=0
 Default destructor.
 
virtual ActionId action_id () const =0
 ID of this action for verification and ordering.
 
virtual std::string_view label () const =0
 Short unique label of the action.
 
virtual std::string_view description () const =0
 Description of the action.
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::ActionInterface
 ActionInterface ()=default
 
 CELER_DEFAULT_COPY_MOVE (ActionInterface)
 

Detailed Description

Abstract base class representing a physics model with a discrete action.

A Model is a representation (often an approximation) to a physics process such as Compton scattering that is valid for one or more particle types in a given range (or ranges) of energy.

Each Model subclass is constructed with a unique ActionId by a Process, which is effectively a group of Models. Once constructed, it is essentially immutable.

The model assumes a few responsibilities:

This class is similar to Geant4's G4VContinuousDiscrete process, but more limited.


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