Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/edm4eic/Surface.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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 v850 {
0041 using Surface = edm4eic::Surface;
0042 } // namespace v850
0043 
0044 
0045 } // namespace edm4eic
0046 
0047 
0048 #endif