![]() |
|
|||
File indexing completed on 2025-02-22 10:31:26
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/BoundaryAction.hh 0007 //---------------------------------------------------------------------------// 0008 #pragma once 0009 0010 #include "ActionInterface.hh" 0011 0012 namespace celeritas 0013 { 0014 namespace optical 0015 { 0016 //---------------------------------------------------------------------------// 0017 /*! 0018 * Move a track across a boundary. 0019 */ 0020 class BoundaryAction final : public OpticalStepActionInterface, 0021 public ConcreteAction 0022 { 0023 public: 0024 // Construct with ID 0025 explicit BoundaryAction(ActionId); 0026 0027 // Launch kernel with host data 0028 void step(CoreParams const&, CoreStateHost&) const final; 0029 0030 // Launch kernel with device data 0031 void step(CoreParams const&, CoreStateDevice&) const final; 0032 0033 //! Dependency ordering of the action 0034 StepActionOrder order() const final { return StepActionOrder::post; } 0035 }; 0036 0037 //---------------------------------------------------------------------------// 0038 } // namespace optical 0039 } // 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 |
![]() ![]() |