![]() |
|
|||
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/Problem.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include "Control.hh" 0010 #include "Diagnostics.hh" 0011 #include "Field.hh" 0012 #include "Model.hh" 0013 #include "Physics.hh" 0014 #include "Scoring.hh" 0015 #include "Tracking.hh" 0016 0017 namespace celeritas 0018 { 0019 //---------------------------------------------------------------------------// 0020 /*! 0021 * Configure Celeritas input. 0022 * 0023 * Note that many of these input structs match up with the runtime classes that 0024 * they help construct. Future restructuring of the code may result in more 0025 * direct correspondence. 0026 */ 0027 namespace inp 0028 { 0029 //---------------------------------------------------------------------------// 0030 /*! 0031 * Celeritas problem input definition. 0032 * 0033 * This should specify all the information necessary to track particles 0034 * within Celeritas for offloading or standalone execution. (It does \em not 0035 * contain system configuration such as GPU, or event/offload information.) 0036 * 0037 * Multiple problems can be run independently across the same program 0038 * execution. 0039 * 0040 * Eventually this class and its daughters will subsume all the data in 0041 * \c celeritas/io/ and all the input options from Models, Processes, 0042 * Params, and other classes that are not implementation details. 0043 * 0044 * After loading, the struct will be able to be serialized to ROOT or JSON or 0045 * some other struct for reproducibility. 0046 */ 0047 struct Problem 0048 { 0049 //! Geometry, material, and region definitions 0050 Model model; 0051 //! Physics models and options 0052 Physics physics; 0053 //! Set up the magnetic field 0054 Field field; 0055 //! Manage scoring of hits and other quantities 0056 Scoring scoring; 0057 //! Tuning options that affect the physics 0058 Tracking tracking; 0059 0060 //! Low-level performance tuning and simulation control options 0061 Control control; 0062 //! Monte Carlo tracking, performance, and debugging diagnostics 0063 Diagnostics diagnostics; 0064 }; 0065 0066 //---------------------------------------------------------------------------// 0067 } // namespace inp 0068 } // 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 |
![]() ![]() |