File indexing completed on 2026-05-02 08:31:24
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef VECGEOM_VOLUMES_SPECIALIZEDCONE_H_
0009 #define VECGEOM_VOLUMES_SPECIALIZEDCONE_H_
0010
0011 #include "VecGeom/base/Global.h"
0012 #include "VecGeom/volumes/kernel/ConeImplementation.h"
0013 #include "VecGeom/volumes/PlacedCone.h"
0014 #include "VecGeom/volumes/SpecializedPlacedVolImplHelper.h"
0015
0016 namespace vecgeom {
0017 inline namespace VECGEOM_IMPL_NAMESPACE {
0018
0019 template <typename coneTypeT>
0020 using SpecializedCone = SpecializedVolImplHelper<ConeImplementation<coneTypeT>>;
0021
0022 using SimpleCone = SpecializedCone<ConeTypes::UniversalCone>;
0023
0024 template <typename Type>
0025 VECCORE_ATT_DEVICE VPlacedVolume *SUnplacedCone<Type>::Create(LogicalVolume const *const logical_volume,
0026 Transformation3D const *const transformation,
0027 #ifdef VECCORE_CUDA
0028 const int id, const int copy_no, const int child_id,
0029 #endif
0030 VPlacedVolume *const placement)
0031 {
0032 (void)placement;
0033 return new SpecializedCone<Type>(logical_volume, transformation
0034 #ifdef VECCORE_CUDA
0035 ,
0036 id, copy_no, child_id
0037 #endif
0038 );
0039 }
0040
0041 }
0042 }
0043
0044 #endif