CMS 3D CMS Logo

DDSolidShapes.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_CORE_DD_SOLID_SHAPES_H
2 #define DETECTOR_DESCRIPTION_CORE_DD_SOLID_SHAPES_H
3 
4 #include <iosfwd>
5 
6 enum class DDSolidShape { dd_not_init = 0,
7  ddbox = 1, ddtubs = 2, ddtrap = 3, ddcons = 4,
10  ddtorus = 9, ddunion = 10, ddsubtraction = 11,
11  ddintersection = 12, ddshapeless = 13,
12  ddpseudotrap = 14, ddtrunctubs = 15,
13  ddsphere = 16, ddellipticaltube = 17,
14  ddcuttubs = 18, ddextrudedpolygon = 19,
15  };
16 
17 std::ostream&
18 operator<<(std::ostream& os, const DDSolidShape s);
19 
20 
22 
23  static const char * const name(DDSolidShape s)
24  {
25  static const char * const _names[] = {
26  "Solid not initialized",
27  "Box",
28  "Tube(section)",
29  "Trapezoid",
30  "Cone(section)",
31  "Polycone_rz",
32  "Polyhedra_rz",
33  "Polycone_rrz",
34  "Polyhedra_rrz",
35  "Torus",
36  "UnionSolid",
37  "SubtractionSolid",
38  "IntersectionSolid",
39  "ShapelessSolid",
40  "PseudoTrapezoid",
41  "TruncatedTube(section)",
42  "Sphere(section)",
43  "EllipticalTube",
44  "CutTubs",
45  "ExtrudedPolygon"
46  };
47 
48  return _names[static_cast<int>(s)];
49  }
50 };
51 
52 
53 #endif
DDSolidShape
Definition: DDSolidShapes.h:6
static const char *const name(DDSolidShape s)
Definition: DDSolidShapes.h:23
std::ostream & operator<<(std::ostream &os, const DDSolidShape s)
Definition: DDSolid.cc:30