EDM4eic
EIC data model
Loading...
Searching...
No Matches
Surface.h
Go to the documentation of this file.
1// AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2
3#ifndef EDM4EIC_Surface_H
4#define EDM4EIC_Surface_H
5
6#include <array>
7#include <cstdint>
8#include <ostream>
9
10#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
11#include "nlohmann/json_fwd.hpp"
12#endif
13
14namespace edm4eic {
15
16/** @class Surface
17 *
18 * @author:
19 */
20class Surface {
21public:
22 int surfaceType{}; ///< Cone = 0, Cylinder = 1, Disc = 2, Perigee = 3, Plane = 4, Straw = 5, Curvilinear = 6, Other = 7
23 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
24 std::uint64_t geometryId{}; ///< bit pattern volume:8,boundary:8,layer:12,approach:8,sensitive:20,extra:8
25 std::uint64_t identifier{}; ///< identifier of associated detector element, if available
26 std::array<double, 10> boundValues{}; ///< bound values, e.g. for RectangleBounds, BoundValues are eMinX = 0, eMinY = 1, eMaxX = 2, eMaxY = 3, eSize = 4
27 std::uint32_t boundValuesSize{}; ///< size of bound values
28 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
29
30
31};
32
33std::ostream& operator<<(std::ostream& o, const edm4eic::Surface& value);
34
35#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
36void to_json(nlohmann::json& j, const Surface& value);
37#endif
38
39} // namespace edm4eic
40
41
42#endif
Definition Surface.h:20
int surfaceType
Cone = 0, Cylinder = 1, Disc = 2, Perigee = 3, Plane = 4, Straw = 5, Curvilinear = 6,...
Definition Surface.h:22
std::array< double, 10 > boundValues
bound values, e.g. for RectangleBounds, BoundValues are eMinX = 0, eMinY = 1, eMaxX = 2,...
Definition Surface.h:26
std::uint64_t geometryId
bit pattern volume:8,boundary:8,layer:12,approach:8,sensitive:20,extra:8
Definition Surface.h:24
int boundsType
eCone = 0, eCylinder = 1, eDiamond = 2, eDisc = 3, eEllipse = 4, eLine = 5, eRectangle = 6,...
Definition Surface.h:23
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
Definition Surface.h:28
std::uint32_t boundValuesSize
size of bound values
Definition Surface.h:27
std::uint64_t identifier
identifier of associated detector element, if available
Definition Surface.h:25
Definition CalorimeterHit.cc:18
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:97