Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-02 08:31:24

0001 /*
0002  * SpecializedCone.h
0003  *
0004  *  Created on: May 14, 2014
0005  *      Author: swenzel
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 } // namespace VECGEOM_IMPL_NAMESPACE
0042 } // namespace vecgeom
0043 
0044 #endif // VECGEOM_VOLUMES_SPECIALIZEDCONE_H_