Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-12 09:29:34

0001 /// @file SpecializedHype.h
0002 /// @author Raman Sehgal (raman.sehgal@cern.ch)
0003 
0004 #ifndef VECGEOM_VOLUMES_SPECIALIZEDHYPE_H_
0005 #define VECGEOM_VOLUMES_SPECIALIZEDHYPE_H_
0006 
0007 #include "VecGeom/base/Global.h"
0008 #include "VecGeom/volumes/kernel/HypeImplementation.h"
0009 #include "VecGeom/volumes/PlacedHype.h"
0010 #include "VecGeom/volumes/SpecializedPlacedVolImplHelper.h"
0011 
0012 #include <stdio.h>
0013 
0014 namespace vecgeom {
0015 inline namespace VECGEOM_IMPL_NAMESPACE {
0016 
0017 template <typename hypeTypeT>
0018 using SpecializedHype = SpecializedVolImplHelper<HypeImplementation<hypeTypeT>>;
0019 
0020 using SimpleHype = SpecializedHype<HypeTypes::UniversalHype>;
0021 
0022 template <typename Type>
0023 VECCORE_ATT_DEVICE VPlacedVolume *SUnplacedHype<Type>::Create(LogicalVolume const *const logical_volume,
0024                                                               Transformation3D const *const transformation,
0025 #ifdef VECCORE_CUDA
0026                                                               const int id, const int copy_no, const int child_id,
0027 #endif
0028                                                               VPlacedVolume *const placement)
0029 {
0030   (void)placement;
0031   return new SpecializedHype<Type>(logical_volume, transformation
0032 #ifdef VECCORE_CUDA
0033                                    ,
0034                                    id, copy_no, child_id
0035 #endif
0036   );
0037 }
0038 
0039 } // namespace VECGEOM_IMPL_NAMESPACE
0040 } // namespace vecgeom
0041 
0042 #endif // VECGEOM_VOLUMES_SPECIALIZEDHYPE_H_