|
|
|||
File indexing completed on 2025-10-30 08:37:40
0001 //------------------------------- -*- C++ -*- -------------------------------// 0002 // Copyright Celeritas contributors: see top-level COPYRIGHT file for details 0003 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 0004 //---------------------------------------------------------------------------// 0005 //! \file celeritas/track/CoreStateCounters.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include "corecel/Types.hh" 0010 0011 namespace celeritas 0012 { 0013 //---------------------------------------------------------------------------// 0014 /*! 0015 * Counters for within-step track initialization and activity. 0016 * 0017 * These counters are updated *by value on the host at every step* so they 0018 * should not be stored in TrackInitStateData because then the device-memory 0019 * copy will not be synchronized. 0020 * 0021 * For all user \c StepActionOrder (TODO: this may change if we add a 0022 * "user_end"), all but the secondaries/alive 0023 * counts are for the current step iteration, and secondaries/alive values 0024 * are from the previous step iteration. 0025 * 0026 * \todo Drop the 'num' prefix since we know they're counters. 0027 */ 0028 struct CoreStateCounters 0029 { 0030 //!@{ 0031 //! \name Set after primaries are generated 0032 size_type num_generated{0}; //!< Number of track initializers created 0033 //!@} 0034 // 0035 //!@{ 0036 //! \name Updated during generation and initialization 0037 size_type num_initializers{0}; //!< Number of track initializers 0038 size_type num_vacancies{0}; //!< Number of empty track slots 0039 //!@} 0040 0041 //!@{ 0042 //! \name Set after tracks are initialized 0043 size_type num_active{0}; //!< Number of active tracks at start 0044 //!@} 0045 0046 //!@{ 0047 //! \name Set after secondaries are generated 0048 size_type num_secondaries{0}; //!< Number of secondaries produced 0049 size_type num_alive{0}; //!< Number of alive tracks at end 0050 //!@} 0051 }; 0052 0053 //---------------------------------------------------------------------------// 0054 } // 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 |
|