Back to home page

Project CMSSW displayed by LXR

 
 

    


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