Definition at line 108 of file DDHCalTBCableAlgo.cc.
118 double zstep2 =
zoff[3];
120 double rstep0 =
rin + (zstep2 - zstep1) /
tan(
theta[2]);
121 double rstep1 =
rin + (zstep1 - zstep0) /
tan(
theta[2]);
123 std::vector<double> pgonZ = {zstep0, zstep1, zstep2, zstep2 +
thick /
cos(
theta[2])};
125 std::vector<double> pgonRmin = {
rin,
rin, rstep0,
rmax[2]};
126 std::vector<double> pgonRmax = {
rin, rstep1,
rmax[2],
rmax[2]};
136 for (
unsigned int i = 0;
i < pgonZ.size();
i++)
137 edm::LogVerbatim(
"HCalGeom") <<
"\t\tZ = " << pgonZ[
i] <<
"\tRmin = " << pgonRmin[
i] <<
"\tRmax = " << pgonRmax[
i];
149 << parentName <<
" at " << r0 <<
" with " <<
rot;
156 << parentName <<
" at " << r0 <<
" with " <<
rot;
165 <<
" and with " << pgonZ.size() <<
" sections";
166 for (
unsigned int i = 0;
i < pgonZ.size();
i++)
167 edm::LogVerbatim(
"HCalGeom") <<
"\t\tZ = " << pgonZ[
i] <<
"\tRmin = " << pgonRmin[
i] <<
"\tRmax = " << pgonRmax[
i];
191 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: " << seclogic.name() <<
" number " <<
ii + 1
192 <<
" positioned in " << genlogic.name() <<
" at (0,0,0) with " <<
rotation;
200 double dx2 = 0.90 * routl *
tan(
alpha);
202 double dz = 0.50 * (routl - rinl);
204 solid =
DDSolidFactory::trap(
DDName(
name,
idNameSpace),
dz, 0, 0,
dy, dx1, dx1, 0,
dy, dx2, dx2, 0);
207 <<
" of dimensions " <<
dz <<
", 0, 0, " <<
dy <<
", " << dx1 <<
", " << dx1 <<
", 0, "
208 <<
dy <<
", " << dx2 <<
", " << dx2 <<
", 0";
214 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: Creating a rotation: " << rotstr <<
"\t90, 270, "
219 DDTranslation r1(0.5 * (rinl + routl), 0, 0.5 * (pgonZ[1] + pgonZ[2]));
222 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: " << glog.name() <<
" number 1 positioned in " << seclogic.name()
223 <<
" at " <<
r1 <<
" with " <<
rot;
227 double phi = atan((dx2 - dx1) / (2 *
dz));
228 double xmid = 0.5 * (dx1 + dx2) - 1.0;
240 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: Creating a rotation " << rotstr <<
"\t"
247 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: " << cablog1.name() <<
" number 1 positioned in " << glog.name()
248 <<
" at " <<
r2 <<
" with " << rot2;
250 rotstr =
idName +
"Right";
252 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: Creating a rotation " << rotstr <<
"\t"
257 cpv.
position(cablog1, glog, 2, r3, rot3);
259 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: " << cablog1.name() <<
" number 2 positioned in " << glog.name()
260 <<
" at " << r3 <<
" with " << rot3;
274 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: " << cablog2.name() <<
" number 1 positioned in " << glog.name()
275 <<
" at (" << xpos <<
", 0, 0) with no "
280 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBCableAlgo: " << cablog2.name() <<
" number 2 positioned in " << glog.name()
281 <<
" at (" << -xpos <<
", 0, 0) with no "
284 edm::LogVerbatim(
"HCalGeom") <<
"<<== End of DDHCalTBCableAlgo construction";
References absMat, alpha, DDSolidFactory::box(), angle_units::operators::convertRadToDeg(), funct::cos(), DDBase< N, C >::ddname(), DDrot(), DDSplit(), PVValHelper::dy, PVValHelper::dz, first, formatAsDegreesInInteger(), gap2, genMat, mps_fire::i, idName, idNameSpace, cuy::ii, length1, length2, Skims_PA_cff::name, DDBase< N, C >::name(), nhalf, nsectors, nsectortot, class-composition::parent, phi, DDSolidFactory::polyhedra(), DDCompactView::position(), diffTwoXMLs::r1, diffTwoXMLs::r2, rin, rmax, makeMuonMisalignmentScenario::rot, idealTransformation::rotation, rotns, edm::second(), funct::sin(), AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), theta, thick, DDSolidFactory::trap(), width1, width2, and zoff.