Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-19 08:49:55

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/FrameworkInput.hh
0006 //---------------------------------------------------------------------------//
0007 #pragma once
0008 
0009 #include <memory>
0010 
0011 #include "Problem.hh"
0012 
0013 class G4VPhysicalVolume;
0014 
0015 namespace celeritas
0016 {
0017 class CoreParams;
0018 
0019 namespace inp
0020 {
0021 struct FrameworkInput;
0022 }
0023 namespace setup
0024 {
0025 //---------------------------------------------------------------------------//
0026 //! Result from loaded standalone input to be used in front-end apps
0027 struct FrameworkLoaded
0028 {
0029     //! Loaded problem
0030     ProblemLoaded problem;
0031     //! Geant4 world volume
0032     G4VPhysicalVolume const* world{nullptr};
0033 };
0034 
0035 //---------------------------------------------------------------------------//
0036 // Completely set up a Celeritas problem from a framework input
0037 FrameworkLoaded framework_input(inp::FrameworkInput& fi);
0038 
0039 //---------------------------------------------------------------------------//
0040 }  // namespace setup
0041 }  // namespace celeritas