Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:11

0001 /*
0002  * SpecializedPolycone.h
0003  *
0004  *  Created on: Dec 8, 2014
0005  *      Author: swenzel
0006  */
0007 
0008 #ifndef VECGEOM_VOLUMES_SPECIALIZEDPOLYCONE_H_
0009 #define VECGEOM_VOLUMES_SPECIALIZEDPOLYCONE_H_
0010 
0011 #include "VecGeom/base/Global.h"
0012 
0013 #include "VecGeom/volumes/kernel/PolyconeImplementation.h"
0014 #include "VecGeom/volumes/PlacedPolycone.h"
0015 #include "VecGeom/volumes/SpecializedPlacedVolImplHelper.h"
0016 #include "VecGeom/volumes/UnplacedPolycone.h"
0017 
0018 #include <stdio.h>
0019 
0020 namespace vecgeom {
0021 inline namespace VECGEOM_IMPL_NAMESPACE {
0022 
0023 template <TranslationCode transCodeT, RotationCode rotCodeT, typename polyconeTypeT>
0024 using SpecializedPolycone = LoopSpecializedVolImplHelper<PolyconeImplementation<polyconeTypeT>, transCodeT, rotCodeT>;
0025 
0026 using SimplePolycone = SpecializedPolycone<translation::kGeneric, rotation::kGeneric, ConeTypes::UniversalCone>;
0027 
0028 template <typename Type>
0029 template <TranslationCode transCodeT, RotationCode rotCodeT>
0030 VECCORE_ATT_DEVICE
0031 VPlacedVolume *SUnplacedPolycone<Type>::Create(LogicalVolume const *const logical_volume,
0032                                                Transformation3D const *const transformation,
0033 #ifdef VECCORE_CUDA
0034                                                const int id, const int copy_no, const int child_id,
0035 #endif
0036                                                VPlacedVolume *const placement)
0037 {
0038   (void)placement;
0039   return new SpecializedPolycone<transCodeT, rotCodeT, Type>(logical_volume, transformation
0040 #ifdef VECCORE_CUDA
0041                                                              ,
0042                                                              id, copy_no, child_id
0043 #endif
0044   );
0045 }
0046 
0047 } // namespace VECGEOM_IMPL_NAMESPACE
0048 } // namespace vecgeom
0049 
0050 #endif /* VECGEOM_VOLUMES_SPECIALIZEDPOLYCONE_H_ */