File indexing completed on 2025-01-18 10:14:11
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef VECGEOM_VOLUMES_SCALEDSHAPESTRUCT_H_
0009 #define VECGEOM_VOLUMES_SCALEDSHAPESTRUCT_H_
0010 #include "VecGeom/base/Global.h"
0011 #include "VecGeom/base/Scale3D.h"
0012
0013 namespace vecgeom {
0014
0015 inline namespace VECGEOM_IMPL_NAMESPACE {
0016
0017 class VPlacedVolume;
0018
0019
0020
0021
0022 template <typename T = double>
0023 struct ScaledShapeStruct {
0024 VPlacedVolume const *fPlaced;
0025 Scale3D fScale;
0026
0027 VECCORE_ATT_HOST_DEVICE
0028 ScaledShapeStruct() : fPlaced(nullptr), fScale() {}
0029
0030 VECCORE_ATT_HOST_DEVICE
0031 ScaledShapeStruct(VPlacedVolume const *placed, Precision sx, Precision sy, Precision sz)
0032 : fPlaced(placed), fScale(sx, sy, sz)
0033 {
0034 }
0035 };
0036 }
0037 }
0038
0039 #endif