File indexing completed on 2023-03-17 10:51:37
0001 #ifndef DETECTOR_DESCRIPTION_CORE_DD_SOLID_SHAPES_H
0002 #define DETECTOR_DESCRIPTION_CORE_DD_SOLID_SHAPES_H
0003
0004 #include <iosfwd>
0005
0006 enum class DDSolidShape {
0007 dd_not_init = 0,
0008 ddbox = 1,
0009 ddtubs = 2,
0010 ddtrap = 3,
0011 ddcons = 4,
0012 ddpolycone_rz = 5,
0013 ddpolyhedra_rz = 6,
0014 ddpolycone_rrz = 7,
0015 ddpolyhedra_rrz = 8,
0016 ddtorus = 9,
0017 ddunion = 10,
0018 ddsubtraction = 11,
0019 ddintersection = 12,
0020 ddshapeless = 13,
0021 ddpseudotrap = 14,
0022 ddtrunctubs = 15,
0023 ddsphere = 16,
0024 ddellipticaltube = 17,
0025 ddcuttubs = 18,
0026 ddextrudedpolygon = 19,
0027 ddassembly = 20,
0028 };
0029
0030 std::ostream& operator<<(std::ostream& os, const DDSolidShape s);
0031
0032 struct DDSolidShapesName {
0033 static const char* const name(DDSolidShape s) {
0034 static const char* const _names[] = {"Solid not initialized",
0035 "Box",
0036 "Tube(section)",
0037 "Trapezoid",
0038 "Cone(section)",
0039 "Polycone_rz",
0040 "Polyhedra_rz",
0041 "Polycone_rrz",
0042 "Polyhedra_rrz",
0043 "Torus",
0044 "UnionSolid",
0045 "SubtractionSolid",
0046 "IntersectionSolid",
0047 "ShapelessSolid",
0048 "PseudoTrapezoid",
0049 "TruncatedTube(section)",
0050 "Sphere(section)",
0051 "EllipticalTube",
0052 "CutTubs",
0053 "ExtrudedPolygon",
0054 "Assembly"};
0055
0056 return _names[static_cast<int>(s)];
0057 }
0058 };
0059
0060 #endif