![]() |
|
|||
File indexing completed on 2025-09-17 08:53:42
0001 //----------------------------------*-C++-*----------------------------------// 0002 // Copyright 2024 UT-Battelle, LLC, and other Celeritas developers. 0003 // See the top-level COPYRIGHT file for details. 0004 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 0005 //---------------------------------------------------------------------------// 0006 //! \file celeritas/optical/action/DiscreteSelectAction.hh 0007 //---------------------------------------------------------------------------// 0008 #pragma once 0009 0010 #include "corecel/Assert.hh" 0011 #include "corecel/Macros.hh" 0012 0013 #include "ActionInterface.hh" 0014 0015 namespace celeritas 0016 { 0017 namespace optical 0018 { 0019 //---------------------------------------------------------------------------// 0020 /*! 0021 * Select a model for tracks undergoing a discrete interaction. 0022 */ 0023 class DiscreteSelectAction final : public OpticalStepActionInterface, 0024 public StaticConcreteAction 0025 { 0026 public: 0027 // Construct with ID 0028 explicit DiscreteSelectAction(ActionId); 0029 0030 // Launch kernel with host data 0031 void step(CoreParams const&, CoreStateHost&) const final; 0032 0033 // Launch kernel with device data 0034 void step(CoreParams const&, CoreStateDevice&) const final; 0035 0036 //! Dependency ordering of the action 0037 StepActionOrder order() const final { return StepActionOrder::pre_post; } 0038 }; 0039 0040 //---------------------------------------------------------------------------// 0041 } // namespace optical 0042 } // namespace celeritas
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |