|
||||
File indexing completed on 2025-01-30 10:26:16
0001 // This file is part of VecGeom and is distributed under the 0002 // conditions in the file LICENSE.txt in the top directory. 0003 // For the full list of authors see CONTRIBUTORS.txt and `git log`. 0004 0005 /// Declaration of a struct with data members of the UnplacedEllipticalCone class. 0006 /// @file volumes/EllipticalConeStruct.h 0007 /// @author Raman Sehgal, Evgueni Tcherniaev 0008 0009 #ifndef VECGEOM_VOLUMES_ELLIPTICALCONESTRUCT_H_ 0010 #define VECGEOM_VOLUMES_ELLIPTICALCONESTRUCT_H_ 0011 #include "VecGeom/base/Global.h" 0012 #include "VecGeom/base/Vector3D.h" 0013 0014 namespace vecgeom { 0015 0016 inline namespace VECGEOM_IMPL_NAMESPACE { 0017 0018 /// Struct with data members of the UnplacedEllipticalCone class 0019 // 0020 template <typename T = double> 0021 struct EllipticalConeStruct { 0022 0023 // Elliptical Cone parameters: (x/dx)^2 + (y/dy)^2 = (z-dz)^2 0024 // 0025 T fDx; ///< X semi-axis at Z = (height - 1), 1/dx - inclination tangent in X 0026 T fDy; ///< Y semi-axis at Z = (height - 1), 1/dy - inclination tangent in Y 0027 T fDz; ///< height, Z coordinate of apex 0028 T fZCut; ///< Z cut 0029 0030 T fSurfaceArea; ///< area of the surface 0031 T fCubicVolume; ///< volume 0032 0033 // Precalculated cached values 0034 // 0035 T fRsph; ///< radius of bounding sphere 0036 T invDx; ///< 1/dx 0037 T invDy; ///< 1/dy 0038 T cosAxisMin; ///< min cosine of inclination angle 0039 T dApex; ///< apex offset needed for "flying away" check 0040 }; 0041 0042 } // namespace VECGEOM_IMPL_NAMESPACE 0043 } // namespace vecgeom 0044 0045 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |