Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-11-13 11:00:09

0001 //------------------------------- -*- C++ -*- -------------------------------//
0002 // Copyright VecGeom contributors: see top-level LICENSE file for details
0003 // SPDX-License-Identifier: Apache-2.0
0004 //---------------------------------------------------------------------------//
0005 //! \file VecGeom/navigation/NavParams.h
0006 //---------------------------------------------------------------------------//
0007 #pragma once
0008 
0009 #include "VecGeom/base/MemSpace.h"
0010 #include "VecGeom/base/Cuda.h"
0011 #include "VecGeom/volumes/PlacedVolume.h"
0012 
0013 namespace vecgeom {
0014 
0015 VECGEOM_HOST_FORWARD_DECLARE(class VPlacedVolume;);
0016 VECGEOM_DEVICE_FORWARD_DECLARE(class VPlacedVolume;);
0017 
0018 // Placed volumes are different types on host and device
0019 template <MemSpace M>
0020 using PlacedVolume = MemSpaceCond_t<M, vecgeom::cxx::VPlacedVolume, vecgeom::cuda::VPlacedVolume>;
0021 
0022 //! NavView setup for host or device code
0023 template <MemSpace M>
0024 struct NavParams {
0025   //! World pointer used in \c UnknownPath initialization
0026   PlacedVolume<M> const *world{nullptr};
0027 };
0028 
0029 } // namespace vecgeom