![]() |
|
|||
File indexing completed on 2025-03-13 09:29:24
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 UnplacedEllipticalTube class 0006 /// @file volumes/EllipticalTubeStruct.h 0007 /// @author Raman Sehgal, Evgueni Tcherniaev 0008 0009 #ifndef VECGEOM_VOLUMES_ELLIPTICALTUBESTRUCT_H_ 0010 #define VECGEOM_VOLUMES_ELLIPTICALTUBESTRUCT_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 UnplacedEllipticalTube class 0019 template <typename T = double> 0020 struct EllipticalTubeStruct { 0021 0022 // Elliptical Tube parameters 0023 // 0024 T fDx; ///< Semi-axis in X 0025 T fDy; ///< Semi-axis in Y 0026 T fDz; ///< Half length in Z 0027 0028 T fSurfaceArea; ///< Area of the surface 0029 T fCubicVolume; ///< Volume 0030 0031 // Precalculated cached values 0032 // 0033 T fRsph; ///< Radius of bounding sphere 0034 T fDDx; ///< Dx squared 0035 T fDDy; ///< Dy squared 0036 T fSx; ///< X scale factor 0037 T fSy; ///< Y scale factor 0038 T fR; ///< Resulting Radius, after scaling elipse to circle 0039 T fQ1; ///< Coefficient in the approximation of dist = Q1*(x^2+y^2) - Q2 0040 T fQ2; ///< Coefficient in the approximation of dist = Q1*(x^2+y^2) - Q2 0041 T fScratch; ///< Half length of scratching segment squared 0042 }; 0043 0044 } // namespace VECGEOM_IMPL_NAMESPACE 0045 } // namespace vecgeom 0046 0047 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |