Back to home page

EIC code displayed by LXR

 
 

    


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/Model.hh
0006 //---------------------------------------------------------------------------//
0007 #pragma once
0008 
0009 #include <string>
0010 #include <variant>
0011 
0012 class G4VPhysicalVolume;
0013 
0014 namespace celeritas
0015 {
0016 namespace inp
0017 {
0018 //---------------------------------------------------------------------------//
0019 /*!
0020  * Set up geometry/material model.
0021  *
0022  * The geometry filename should almost always be a GDML path. As a temporary
0023  * measure we also support loading from a \c .org.json file if the \c
0024  * StandaloneInput::physics_import is a ROOT file with serialized physics data.
0025  */
0026 struct Model
0027 {
0028     //! Path to GDML file, or Geant4 world
0029     std::variant<std::string, G4VPhysicalVolume const*> geometry;
0030 
0031     // TODO: Materials
0032     // TODO: Regions
0033 };
0034 
0035 //---------------------------------------------------------------------------//
0036 }  // namespace inp
0037 }  // namespace celeritas