Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-17 09:07:52

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 orange/OrangeGeoTraits.hh
0006 //---------------------------------------------------------------------------//
0007 #pragma once
0008 
0009 #include "geocel/GeoTraits.hh"
0010 
0011 namespace celeritas
0012 {
0013 //---------------------------------------------------------------------------//
0014 class OrangeParams;
0015 class OrangeTrackView;
0016 template<Ownership W, MemSpace M>
0017 struct OrangeParamsData;
0018 template<Ownership W, MemSpace M>
0019 struct OrangeStateData;
0020 
0021 //---------------------------------------------------------------------------//
0022 /*!
0023  * Traits specialization for ORANGE geometry.
0024  */
0025 template<>
0026 struct GeoTraits<OrangeParams>
0027 {
0028     //! Params data used during runtime
0029     template<Ownership W, MemSpace M>
0030     using ParamsData = OrangeParamsData<W, M>;
0031 
0032     //! State data used during runtime
0033     template<Ownership W, MemSpace M>
0034     using StateData = OrangeStateData<W, M>;
0035 
0036     //! Geometry track view
0037     using TrackView = OrangeTrackView;
0038 
0039     //! Descriptive name for the geometry
0040     static constexpr char const name[] = "ORANGE";
0041 
0042     //! TO BE REMOVED: "native" file extension for this geometry
0043     static constexpr char const ext[] = ".org.json";
0044 };
0045 
0046 //---------------------------------------------------------------------------//
0047 }  // namespace celeritas