Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-01-10 10:05:51

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/setup/Model.hh
0006 //---------------------------------------------------------------------------//
0007 #pragma once
0008 
0009 #include <memory>
0010 
0011 #include "celeritas/geo/GeoFwd.hh"
0012 
0013 namespace celeritas
0014 {
0015 //---------------------------------------------------------------------------//
0016 namespace inp
0017 {
0018 struct Model;
0019 }  // namespace inp
0020 
0021 class SurfaceParams;
0022 class VolumeParams;
0023 
0024 namespace setup
0025 {
0026 //---------------------------------------------------------------------------//
0027 //! Result from loaded model input to be used in unit tests
0028 struct ModelLoaded
0029 {
0030     std::shared_ptr<CoreGeoParams> geometry;
0031     std::shared_ptr<SurfaceParams> surface;
0032     std::shared_ptr<VolumeParams> volume;
0033 };
0034 
0035 //---------------------------------------------------------------------------//
0036 // Load a model (for unit tests and problem load only)
0037 ModelLoaded model(inp::Model const&);
0038 
0039 //---------------------------------------------------------------------------//
0040 }  // namespace setup
0041 }  // namespace celeritas