Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-16 09:29:39

0001 #ifndef VECGEOM_VOLUMES_SPECIALIZEDTUBE_H_
0002 #define VECGEOM_VOLUMES_SPECIALIZEDTUBE_H_
0003 
0004 #include "VecGeom/base/Global.h"
0005 
0006 #include "VecGeom/volumes/kernel/TubeImplementation.h"
0007 #include "VecGeom/volumes/PlacedTube.h"
0008 #include "VecGeom/volumes/SpecializedPlacedVolImplHelper.h"
0009 
0010 namespace vecgeom {
0011 inline namespace VECGEOM_IMPL_NAMESPACE {
0012 
0013 template <typename tubeTypeT>
0014 using SpecializedTube = SpecializedVolImplHelper<TubeImplementation<tubeTypeT>>;
0015 
0016 using SimpleTube = SpecializedTube<TubeTypes::UniversalTube>;
0017 
0018 template <typename Type>
0019 VECCORE_ATT_DEVICE VPlacedVolume *SUnplacedTube<Type>::Create(LogicalVolume const *const logical_volume,
0020                                                               Transformation3D const *const transformation,
0021 #ifdef VECCORE_CUDA
0022                                                               const int id, const int copy_no, const int child_id,
0023 #endif
0024                                                               VPlacedVolume *const placement)
0025 {
0026   (void)placement;
0027   return new SpecializedTube<Type>(logical_volume, transformation
0028 #ifdef VECCORE_CUDA
0029                                    ,
0030                                    id, copy_no, child_id
0031 #endif
0032   );
0033 }
0034 
0035 } // namespace VECGEOM_IMPL_NAMESPACE
0036 } // namespace vecgeom
0037 
0038 #endif // VECGEOM_VOLUMES_SPECIALIZEDTUBE_H_