Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-11-07 10:11:33

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/global/CoreSizes.hh
0006 //---------------------------------------------------------------------------//
0007 #pragma once
0008 
0009 #include "corecel/Types.hh"
0010 
0011 namespace celeritas
0012 {
0013 //---------------------------------------------------------------------------//
0014 /*!
0015  * Per-process core state and buffer capacities.
0016  *
0017  * This stores the resolved values from \c inp::CoreStateCapacity: all values
0018  * have been validated and device-dependent defaults have been applied at setup
0019  * time. These should be *integrated* across streams, *per process*.
0020  */
0021 struct CoreSizes
0022 {
0023     size_type primaries{};
0024     size_type tracks{};
0025     size_type initializers{};
0026     size_type secondaries{};
0027     size_type events{};
0028 
0029     size_type streams{};
0030     size_type processes{};
0031 
0032     //! True if all values are assigned and valid
0033     explicit operator bool() const
0034     {
0035         return primaries && tracks && initializers && secondaries && events
0036                && streams && processes;
0037     }
0038 };
0039 
0040 //---------------------------------------------------------------------------//
0041 }  // namespace celeritas