49 string volName =
name;
50 volName.erase(0, volName.rfind(
'_') + 1);
53 for (
int i = 0;
i < 6; ++
i) {
65 double halfX = convertUnits(box.halfX());
66 double halfY = convertUnits(box.halfY());
67 double halfZ = convertUnits(box.halfZ());
71 double x1 = convertUnits(trap.x1());
72 double x2 = convertUnits(trap.x2());
73 double x3 = convertUnits(trap.x3());
74 double x4 = convertUnits(trap.x4());
75 double y1 = convertUnits(trap.y1());
76 double y2 = convertUnits(trap.y2());
77 double theta = trap.theta();
78 double phi = trap.phi();
79 double halfZ = convertUnits(trap.halfZ());
80 double alpha1 = trap.alpha1();
81 double alpha2 = trap.alpha2();
82 buildTrap(
x1,
x2, x3, x4,
y1,
y2,
theta,
phi, halfZ, alpha1, alpha2);
85 double zhalf = convertUnits(cons.zhalf());
86 double rInMinusZ = convertUnits(cons.rInMinusZ());
87 double rOutMinusZ = convertUnits(cons.rOutMinusZ());
88 double rInPlusZ = convertUnits(cons.rInPlusZ());
89 double rOutPlusZ = convertUnits(cons.rOutPlusZ());
90 double startPhi = cons.phiFrom();
95 double zhalf = convertUnits(tubs.zhalf());
96 double rIn = convertUnits(tubs.rIn());
97 double rOut = convertUnits(tubs.rOut());
98 double startPhi = tubs.startPhi();
103 double x1 = convertUnits(ptrap.x1());
104 double x2 = convertUnits(ptrap.x2());
105 double y1 = convertUnits(ptrap.y1());
106 double y2 = convertUnits(ptrap.y2());
107 double halfZ = convertUnits(ptrap.halfZ());
108 double radius = convertUnits(ptrap.radius());
109 bool atMinusZ = ptrap.atMinusZ();
113 double zhalf = convertUnits(tubs.zHalf());
114 double rIn = convertUnits(tubs.rIn());
115 double rOut = convertUnits(tubs.rOut());
116 double startPhi = tubs.startPhi();
118 double cutAtStart = convertUnits(tubs.cutAtStart());
119 double cutAtDelta = convertUnits(tubs.cutAtDelta());
120 bool cutInside = tubs.cutInside();
193 cout <<
" Orientation of surfaces:";
194 std::string sideName[3] = {
"positiveSide",
"negativeSide",
"onSurface"};
195 for (
int i = 0;
i < 6; ++
i) {
A truncated tube section.
const DDTranslation & translation() const
The absolute translation of the current node.
void buildTrap(double x1, double x2, double x3, double x4, double y1, double y2, double theta, double phi, double halfZ, double alpha1, double alpha2)
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the expanded-view.
Geom::Phi< T > phi() const
const GlobalPoint & center() const
Return the center of the volume.
unsigned short volumeno
volume number
unsigned short copyno
copy number
static const char *const name(DDSolidShape s)
const std::string & name() const
Returns the name.
void buildBox(double halfX, double halfY, double halfZ)
Surface::GlobalPoint GlobalPoint
Interface to a Trapezoid.
int masterSector
The sector for which an interpolator for this class of volumes should be built.
void buildCons(double zhalf, double rInMinusZ, double rOutMinusZ, double rInPlusZ, double rOutPlusZ, double startPhi, double deltaPhi)
void referencePlane(const DDExpandedView &fv)
DDSolidShape shape(void) const
The type of the solid.
const DDMaterial & material(void) const
Returns a reference object of the material this LogicalPart is made of.
int copyno() const
Copy number associated with the current node.
void buildTruncTubs(double zhalf, double rIn, double rOut, double startPhi, double deltaPhi, double cutAtStart, double cutAtDelta, bool cutInside)
void buildPseudoTrap(double x1, double x2, double y1, double y2, double halfZ, double radius, bool atMinusZ)
std::string name
Name of the volume.
DDSolidShape shape() const override
Shape of the solid.
const DDSolid & solid(void) const
Returns a reference object of the solid being the shape of this LogicalPart.
Geom::Theta< T > theta() const
void buildTubs(double zhalf, double rIn, double rOut, double startPhi, double deltaPhi)
std::string magFile
Name of magnetic field table file.