![]() |
|
|||
File indexing completed on 2025-09-15 08:54:44
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/inp/FrameworkInput.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include <functional> 0010 #include <optional> 0011 0012 #include "Import.hh" 0013 #include "System.hh" 0014 0015 namespace celeritas 0016 { 0017 namespace inp 0018 { 0019 struct Problem; 0020 0021 //---------------------------------------------------------------------------// 0022 /*! 0023 * Describe how to import data into celeritas via an \c Input data structure. 0024 * 0025 * The order of initialization and loading follows the member declarations: 0026 * - System attributes (GPU activation etc.) are set 0027 * - Geant4 data is imported 0028 * - External Geant4 data files (such as EM LOW) are loaded 0029 * - Optional control/diagnostic overrides are loaded 0030 * - Optional framework-defined adjustments are applied 0031 * 0032 * \todo Add an input option for kill_offload/disable 0033 */ 0034 struct FrameworkInput 0035 { 0036 //! Base system configuration 0037 System system; 0038 0039 //! Configure what data to load from Geant4 0040 GeantImport geant; 0041 //! Load external data files (NOT YET IMPLEMENTED) 0042 GeantDataImport geant_data; 0043 //! Optionally add diagnostics and control parameters from an external file 0044 std::optional<UpdateImport> update; 0045 0046 //! User application/framework-defined adjustments 0047 std::function<void(Problem&)> adjust; 0048 }; 0049 0050 //---------------------------------------------------------------------------// 0051 } // namespace inp 0052 } // 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 |
![]() ![]() |