|
|
|||
File indexing completed on 2026-09-19 09:18:21
0001 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT 0002 0003 #ifndef EDM4EIC_Surface_H 0004 #define EDM4EIC_Surface_H 0005 0006 #include <array> 0007 #include <cstdint> 0008 #include <ostream> 0009 0010 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__) 0011 #include "nlohmann/json_fwd.hpp" 0012 #endif 0013 0014 namespace edm4eic { 0015 0016 0017 /** @class Surface 0018 * 0019 * @author: 0020 */ 0021 class Surface { 0022 public: 0023 int surfaceType{}; ///< Cone = 0, Cylinder = 1, Disc = 2, Perigee = 3, Plane = 4, Straw = 5, Curvilinear = 6, Other = 7 0024 int boundsType{}; ///< eCone = 0, eCylinder = 1, eDiamond = 2, eDisc = 3, eEllipse = 4, eLine = 5, eRectangle = 6, eTrapezoid = 7, eTriangle = 8, eDiscTrapezoid = 9, eConvexPolygon = 10, eAnnulus = 11, eBoundless = 12, eOther = 13 0025 std::uint64_t geometryId{}; ///< bit pattern volume:8,boundary:8,layer:12,approach:8,sensitive:20,extra:8 0026 std::uint64_t identifier{}; ///< identifier of associated detector element, if available 0027 std::array<double, 10> boundValues{}; ///< bound values, e.g. for RectangleBounds, BoundValues are eMinX = 0, eMinY = 1, eMaxX = 2, eMaxY = 3, eSize = 4 0028 std::uint32_t boundValuesSize{}; ///< size of bound values 0029 std::array<double, 16> transform{}; ///< row-wise 4x4 affine transform [R T; 0 1] with 3x3 rotation matrix R and translation column 3-vector T 0030 0031 0032 }; 0033 0034 std::ostream& operator<<(std::ostream& o, const Surface& value); 0035 0036 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__) 0037 void to_json(nlohmann::json& j, const Surface& value); 0038 #endif 0039 0040 namespace v81000 { 0041 using Surface = edm4eic::Surface; 0042 } // namespace v81000 0043 0044 0045 } // namespace edm4eic 0046 0047 0048 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|