|
||||
File indexing completed on 2025-01-18 09:55:32
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 /** @class Surface 0017 * 0018 * @author: 0019 */ 0020 class Surface { 0021 public: 0022 int surfaceType{}; ///< Cone = 0, Cylinder = 1, Disc = 2, Perigee = 3, Plane = 4, Straw = 5, Curvilinear = 6, Other = 7 0023 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 0024 std::uint64_t geometryId{}; ///< bit pattern volume:8,boundary:8,layer:12,approach:8,sensitive:20,extra:8 0025 std::uint64_t identifier{}; ///< identifier of associated detector element, if available 0026 std::array<double, 10> boundValues{}; ///< bound values, e.g. for RectangleBounds, BoundValues are eMinX = 0, eMinY = 1, eMaxX = 2, eMaxY = 3, eSize = 4 0027 std::uint32_t boundValuesSize{}; ///< size of bound values 0028 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 0029 0030 0031 }; 0032 0033 std::ostream& operator<<(std::ostream& o, const edm4eic::Surface& value); 0034 0035 #if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__) 0036 void to_json(nlohmann::json& j, const Surface& value); 0037 #endif 0038 0039 } // namespace edm4eic 0040 0041 0042 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |