File indexing completed on 2026-09-20 09:29:52
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef VECGEOM_VOLUMES_SPECIALIZEDTRD_H_
0010 #define VECGEOM_VOLUMES_SPECIALIZEDTRD_H_
0011
0012 #include "VecGeom/base/Global.h"
0013
0014 #include "VecGeom/volumes/kernel/TrdImplementation.h"
0015 #include "VecGeom/volumes/PlacedTrd.h"
0016 #include "VecGeom/volumes/SpecializedPlacedVolImplHelper.h"
0017
0018 namespace vecgeom {
0019 inline namespace VECGEOM_IMPL_NAMESPACE {
0020
0021 template <typename TrdTypeT>
0022 using SpecializedTrd = SpecializedVolImplHelper<TrdImplementation<TrdTypeT>>;
0023
0024 using SimpleTrd = SpecializedTrd<TrdTypes::UniversalTrd>;
0025
0026 template <typename Type>
0027 VECCORE_ATT_DEVICE VPlacedVolume *SUnplacedTrd<Type>::Create(LogicalVolume const *const logical_volume,
0028 Transformation3D const *const transformation,
0029 #ifdef VECCORE_CUDA
0030 const int id, const int copy_no, const int child_id,
0031 #endif
0032 VPlacedVolume *const placement)
0033 {
0034 (void)placement;
0035 return new SpecializedTrd<Type>(logical_volume, transformation
0036 #ifdef VECCORE_CUDA
0037 ,
0038 id, copy_no, child_id
0039 #endif
0040 );
0041 }
0042
0043 }
0044 }
0045
0046 #endif