|
|
|
void | constructGeneralVolume (DDCompactView &cpv) |
|
void | constructInsideModule (const DDLogicalPart &module, int mod, DDCompactView &cpv) |
|
void | constructInsideModule0 (const DDLogicalPart &module, int mod, DDCompactView &cpv) |
|
void | constructInsideSector (const DDLogicalPart §or, DDCompactView &cpv) |
|
void | constructScintLayer (const DDLogicalPart &glog, double pDz, double yh, double bl, double tl, double alp, const std::string &name, int id, DDCompactView &cpv) |
|
void | parameterLayer (int iphi, double rinF, double routF, double rinB, double routB, double zi, double zo, double &yh1, double &bl1, double &tl1, double &yh2, double &bl2, double &tl2, double &alp, double &theta, double &phi, double &xpos, double &ypos, double &zcpv) |
|
void | parameterLayer0 (int mod, int layer, int iphi, double &yh, double &bl, double &tl, double &alp, double &xpos, double &ypos, double &zcpv) |
|
Definition at line 29 of file DDHCalEndcapAlgo.cc.
◆ DDHCalEndcapAlgo()
DDHCalEndcapAlgo::DDHCalEndcapAlgo |
( |
| ) |
|
◆ ~DDHCalEndcapAlgo()
DDHCalEndcapAlgo::~DDHCalEndcapAlgo |
( |
| ) |
|
|
override |
◆ constructGeneralVolume()
void DDHCalEndcapAlgo::constructGeneralVolume |
( |
DDCompactView & |
cpv | ) |
|
|
protected |
!!!!!!!!!!!!!!!!Should be zero. And removed as soon as
Definition at line 555 of file DDHCalEndcapAlgo.cc.
561 for (
int i = 0;
i < 3;
i++)
584 std::vector<double> pgonZ, pgonRmin, pgonRmax;
603 pgonRmax.emplace_back(
getRout());
606 pgonRmax.emplace_back(
getRout());
625 << pgonZ.size() <<
" sections";
626 for (
unsigned int i = 0;
i < pgonZ.size();
i++)
627 edm::LogVerbatim(
"HCalGeom") <<
"\t\tZ = " << pgonZ[
i] <<
"\tRmin = " << pgonRmin[
i] <<
"\tRmax = " << pgonRmax[
i];
639 << parentName <<
" at " << r0 <<
" with " <<
rot;
648 <<
"positioned in " << parentName <<
" at " << r0 <<
" with " <<
rot;
654 std::vector<double> pgonZMod, pgonRminMod, pgonRmaxMod;
655 for (
unsigned int i = 0;
i < (pgonZ.size() - 1);
i++) {
657 pgonRminMod.emplace_back(pgonRmin[
i]);
658 pgonRmaxMod.emplace_back(pgonRmax[
i]);
667 << pgonZMod.size() <<
" sections ";
668 for (
unsigned int i = 0;
i < pgonZMod.size();
i++)
669 edm::LogVerbatim(
"HCalGeom") <<
"\t\tZ = " << pgonZMod[
i] <<
"\tRmin = " << pgonRminMod[
i]
670 <<
"\tRmax = " << pgonRmaxMod[
i];
678 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << genlogich.name() <<
" number 1 positioned in "
679 << genlogic.name() <<
" at (0,0," << -
getDzShift() <<
") with no rotation";
690 for (
unsigned int i = 0;
i < pgonZMod.size();
i++)
691 edm::LogVerbatim(
"HCalGeom") <<
"\t\tZ = " << pgonZMod[
i] <<
"\tRmin = " << pgonRminMod[
i]
692 <<
"\tRmax = " << pgonRmaxMod[
i];
706 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: Creating a new rotation " << rotstr <<
"\t 90,"
716 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << seclogic.name() <<
" number " <<
ii + 1 <<
" positioned in "
717 << genlogich.name() <<
" at (0,0,0) with " <<
rotation;
726 std::vector<double> pgonZBack, pgonRminBack, pgonRmaxBack;
730 pgonZBack.emplace_back(
getZEnd());
740 << pgonZBack.size() <<
" sections";
741 for (
unsigned int i = 0;
i < pgonZBack.size();
i++)
742 edm::LogVerbatim(
"HCalGeom") <<
"\t\tZ = " << pgonZBack[
i] <<
"\tRmin = " << pgonRminBack[
i]
743 <<
"\tRmax = " << pgonRmaxBack[
i];
753 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << glog.name() <<
" number 1 positioned in " << genlogic.name()
754 <<
" at (0,0,0) with no rotation";
References alpha, constructInsideSector(), angle_units::operators::convertRadToDeg(), DDrot(), DDSplit(), equipModule(), first, formatAsDegreesInInteger(), getAbsMat(), getAngBot(), getAngTop(), getDrEnd(), getDzShift(), getEndcaps(), getGenMat(), getNsectors(), getNsectortot(), getRinDip(), getRinKink(), getRotation(), getRout(), getRoutDip(), getSlope(), getZ1Beam(), getZEnd(), getZFront(), getZiBody(), getZiDip(), getZiKink(), getZiL0Body(), getZShift(), getZShiftHac2(), mps_fire::i, idName, idNameSpace, cuy::ii, Skims_PA_cff::name, DDBase< N, C >::name(), class-composition::parent, phi, DDSolidFactory::polyhedra(), DDCompactView::position(), makeMuonMisalignmentScenario::rot, rotation, rotHalf, rotns, edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, and funct::tan().
Referenced by execute().
◆ constructInsideModule()
Definition at line 1055 of file DDHCalEndcapAlgo.cc.
1097 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: Layer " <<
i <<
" Phi " <<
iphi <<
" Front " << ziAir <<
", "
1098 << rinF <<
", " << routF <<
" Back " << zo <<
", " << rinB <<
", " << routB;
1101 double yh1, bl1, tl1, yh2, bl2, tl2,
theta,
phi, alp;
1102 double xpos, ypos, zpos;
1104 iphi, rinF, routF, rinB, routB, ziAir, zo, yh1, bl1, tl1, yh2, bl2, tl2, alp,
theta,
phi, xpos, ypos, zpos);
1108 DDName(
name,
idNameSpace), 0.5 *
getThick(
mod),
theta,
phi, yh1, bl1, tl1, alp, yh2, bl2, tl2, alp);
1114 <<
convertRadToDeg(alp) <<
", " << yh2 <<
", " << bl2 <<
", " << tl2 <<
", "
1125 <<
" positioned in " <<
module.name() <<
" at " <<
r1 <<
" with " <<
rot;
1134 DDName(
name,
idNameSpace), 0.5 *
getLayerT(
layer), 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
1138 <<
" of dimensions " << 0.5 *
getLayerT(
layer) <<
", 0, 0, " << yh <<
", " << bl
1139 <<
", " << tl <<
", " <<
convertRadToDeg(alp) <<
", " << yh <<
", " << bl <<
", "
1145 ypos = 0.5 * (routF + rinB) - xpos;
1151 <<
" positioned in " << glog.
name() <<
" at " <<
r2 <<
" with no rotation";
References alpha, constructScintLayer(), angle_units::operators::convertRadToDeg(), DDBase< N, C >::ddname(), DDSplit(), first, getAngBot(), getAngTop(), getDzStep(), getGenMat(), getLayer(), getLayerN(), getLayerName(), getLayerT(), getLayerType(), getModName(), getNsectors(), getPhi(), getPhiName(), getPlastMat(), getRotMat(), getRoutBlock2(), getScintT(), getSlope(), getThick(), getTrim(), getZ1Beam(), getZminBlock(), mps_fire::i, idNameSpace, idOffset, LEDCalibrationChannels::iphi, phase1PixelTopology::layer, mod(), callgraph::module, Skims_PA_cff::name, DDBase< N, C >::name(), parameterLayer(), phi, DDCompactView::position(), diffTwoXMLs::r1, diffTwoXMLs::r2, makeMuonMisalignmentScenario::rot, rotns, edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), theta(), and DDSolidFactory::trap().
Referenced by constructInsideSector().
◆ constructInsideModule0()
Definition at line 948 of file DDHCalEndcapAlgo.cc.
965 double xpos, ypos, zpos;
969 double yh, bl, tl, alp;
973 DDSolidFactory::trap(
DDName(
name,
idNameSpace), 0.5 *
getLayerT(
layer), 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
977 <<
" of dimensions " << 0.5 *
getLayerT(
layer) <<
", 0, 0, " << yh <<
", " << bl
978 <<
", " << tl <<
", " <<
convertRadToDeg(alp) <<
", " << yh <<
", " << bl <<
", " << tl
989 <<
" positioned in " <<
module.name() <<
" at " <<
r1 <<
" with " <<
rot;
1001 double rinF, routF, rinB, routB;
1015 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: Module " <<
mod <<
" Front " << zi <<
", " << rinF <<
", " << routF
1016 <<
" Back " << zo <<
", " << rinB <<
", " << routB;
1019 double yh1, bl1, tl1, yh2, bl2, tl2,
theta,
phi, alp;
1020 parameterLayer(0, rinF, routF, rinB, routB, zi, zo, yh1, bl1, tl1, yh2, bl2, tl2, alp,
theta,
phi, xpos, ypos, zpos);
1024 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: Trim " <<
fact <<
" Param " << yh1 <<
", " << bl1 <<
", " << tl1
1025 <<
", " << yh2 <<
", " << bl2 <<
", " << tl2;
1035 DDName(
name,
idNameSpace), 0.5 *
getThick(
mod),
theta,
phi, yh1, bl1, tl1, alp, yh2, bl2, tl2, alp);
1040 <<
convertRadToDeg(alp) <<
", " << yh2 <<
", " << bl2 <<
", " << tl2 <<
", "
1051 <<
" at " <<
r2 <<
" with " <<
rot;
References constructScintLayer(), angle_units::operators::convertRadToDeg(), DDBase< N, C >::ddname(), DDSplit(), fact, first, getAbsMat(), getAngBot(), getAngTop(), getDzStep(), getLayer(), getLayerName(), getLayerT(), getLayerType(), getModName(), getPhi(), getPhiName(), getPlastMat(), getRotMat(), getScintT(), getSlope(), getThick(), getTolAbs(), getZ1Beam(), getZminBlock(), idNameSpace, idOffset, LEDCalibrationChannels::iphi, phase1PixelTopology::layer, mod(), callgraph::module, Skims_PA_cff::name, DDBase< N, C >::name(), parameterLayer(), parameterLayer0(), phi, DDCompactView::position(), diffTwoXMLs::r1, diffTwoXMLs::r2, makeMuonMisalignmentScenario::rot, rotns, edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), theta(), and DDSolidFactory::trap().
Referenced by constructInsideSector().
◆ constructInsideSector()
!!!!!!!!!!!!!!!!Should be zero. And removed as soon as
Definition at line 758 of file DDHCalEndcapAlgo.cc.
777 std::vector<double> pgonZ, pgonRmin, pgonRmax;
780 pgonZ.emplace_back(zf);
785 pgonRmax.emplace_back(
getRout());
794 pgonRmax.emplace_back(
getRout());
795 pgonZ.emplace_back(pgonZ[1] + deltaz);
796 pgonRmin.emplace_back(pgonRmin[1]);
811 for (
unsigned int k = 0;
k < pgonZ.size();
k++)
813 <<
"\tRmax = " << pgonRmax[
k];
821 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << glog.name() <<
" number " <<
i + 1 <<
" positioned in "
822 << sector.
name() <<
" at (0,0,0) with no rotation";
References alpha, constructInsideModule(), constructInsideModule0(), angle_units::operators::convertRadToDeg(), DDSplit(), equipModule(), first, getAngBot(), getModMat(), getModName(), getModType(), getModules(), getNsectors(), getRinBlock1(), getRinBlock2(), getRinDip(), getRinKink(), getRout(), getRoutBlock1(), getRoutBlock2(), getRoutDip(), getSectionModule(), getSlope(), getZ1Beam(), getZiDip(), getZiKink(), getZmaxBlock(), getZminBlock(), getZShiftHac2(), mps_fire::i, idName, idNameSpace, dqmdumpme::k, Skims_PA_cff::name, DDBase< N, C >::name(), DDSolidFactory::polyhedra(), DDCompactView::position(), edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, and funct::tan().
Referenced by constructGeneralVolume().
◆ constructScintLayer()
void DDHCalEndcapAlgo::constructScintLayer |
( |
const DDLogicalPart & |
glog, |
|
|
double |
pDz, |
|
|
double |
yh, |
|
|
double |
bl, |
|
|
double |
tl, |
|
|
double |
alp, |
|
|
const std::string & |
name, |
|
|
int |
id, |
|
|
DDCompactView & |
cpv |
|
) |
| |
|
protected |
Definition at line 1164 of file DDHCalEndcapAlgo.cc.
1177 DDSolid solid =
DDSolidFactory::trap(
DDName(
name,
idNameSpace), 0.5 *
dz, 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
1181 <<
" of dimensions " << 0.5 *
dz <<
", 0, 0, " << yh <<
", " << bl <<
", " << tl <<
", "
1182 <<
convertRadToDeg(alp) <<
", " << yh <<
", " << bl <<
", " << tl <<
", "
1191 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << glog.
name() <<
" number " <<
id <<
" positioned in "
1192 <<
detector.name() <<
" at (0,0,0) with no rotation";
References angle_units::operators::convertRadToDeg(), DDBase< N, C >::ddname(), DDSplit(), hgcalTestNeighbor_cfi::detector, PVValHelper::dz, first, getScintMat(), idName, idNameSpace, Skims_PA_cff::name, DDCompactView::position(), edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, and DDSolidFactory::trap().
Referenced by constructInsideModule(), and constructInsideModule0().
◆ equipModule()
int DDHCalEndcapAlgo::equipModule |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ execute()
◆ getAbsMat()
const std::string& DDHCalEndcapAlgo::getAbsMat |
( |
| ) |
const |
|
inline |
◆ getAngBot()
double DDHCalEndcapAlgo::getAngBot |
( |
| ) |
const |
|
inline |
◆ getAngGap()
double DDHCalEndcapAlgo::getAngGap |
( |
| ) |
const |
|
inline |
◆ getAngTop()
double DDHCalEndcapAlgo::getAngTop |
( |
| ) |
const |
|
inline |
◆ getDrEnd()
double DDHCalEndcapAlgo::getDrEnd |
( |
| ) |
const |
|
inline |
◆ getDzShift()
double DDHCalEndcapAlgo::getDzShift |
( |
| ) |
const |
|
inline |
◆ getDzStep()
double DDHCalEndcapAlgo::getDzStep |
( |
| ) |
const |
|
inline |
◆ getEndcaps()
int DDHCalEndcapAlgo::getEndcaps |
( |
| ) |
const |
|
inline |
◆ getGenMat()
const std::string& DDHCalEndcapAlgo::getGenMat |
( |
| ) |
const |
|
inline |
◆ getHeboxDepth()
double DDHCalEndcapAlgo::getHeboxDepth |
( |
| ) |
const |
|
inline |
◆ getLayer()
int DDHCalEndcapAlgo::getLayer |
( |
unsigned int |
i, |
|
|
unsigned int |
j |
|
) |
| const |
◆ getLayerN()
int DDHCalEndcapAlgo::getLayerN |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getLayerName()
const std::string& DDHCalEndcapAlgo::getLayerName |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getLayers()
int DDHCalEndcapAlgo::getLayers |
( |
| ) |
const |
|
inline |
◆ getLayerT()
double DDHCalEndcapAlgo::getLayerT |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getLayerType()
int DDHCalEndcapAlgo::getLayerType |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getModMat()
const std::string& DDHCalEndcapAlgo::getModMat |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getModName()
const std::string& DDHCalEndcapAlgo::getModName |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getModType()
int DDHCalEndcapAlgo::getModType |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getModules()
int DDHCalEndcapAlgo::getModules |
( |
| ) |
const |
|
inline |
◆ getNsectors()
int DDHCalEndcapAlgo::getNsectors |
( |
| ) |
const |
|
inline |
◆ getNsectortot()
int DDHCalEndcapAlgo::getNsectortot |
( |
| ) |
const |
|
inline |
◆ getPhi()
int DDHCalEndcapAlgo::getPhi |
( |
| ) |
const |
|
inline |
◆ getPhiName()
const std::string& DDHCalEndcapAlgo::getPhiName |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getPlastMat()
const std::string& DDHCalEndcapAlgo::getPlastMat |
( |
| ) |
const |
|
inline |
◆ getRinBlock1()
double DDHCalEndcapAlgo::getRinBlock1 |
( |
unsigned |
i | ) |
const |
|
inline |
◆ getRinBlock2()
double DDHCalEndcapAlgo::getRinBlock2 |
( |
unsigned |
i | ) |
const |
|
inline |
◆ getRinDip()
double DDHCalEndcapAlgo::getRinDip |
( |
| ) |
const |
|
inline |
◆ getRinKink()
double DDHCalEndcapAlgo::getRinKink |
( |
| ) |
const |
|
inline |
◆ getRotation()
const std::string& DDHCalEndcapAlgo::getRotation |
( |
| ) |
const |
|
inline |
◆ getRotMat()
const std::string& DDHCalEndcapAlgo::getRotMat |
( |
| ) |
const |
|
inline |
◆ getRout()
double DDHCalEndcapAlgo::getRout |
( |
| ) |
const |
|
inline |
◆ getRoutBlock1()
double DDHCalEndcapAlgo::getRoutBlock1 |
( |
unsigned |
i | ) |
const |
|
inline |
◆ getRoutBlock2()
double DDHCalEndcapAlgo::getRoutBlock2 |
( |
unsigned |
i | ) |
const |
|
inline |
◆ getRoutDip()
double DDHCalEndcapAlgo::getRoutDip |
( |
| ) |
const |
|
inline |
◆ getScintMat()
const std::string& DDHCalEndcapAlgo::getScintMat |
( |
| ) |
const |
|
inline |
◆ getScintT()
double DDHCalEndcapAlgo::getScintT |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getSectionModule()
int DDHCalEndcapAlgo::getSectionModule |
( |
unsigned |
i | ) |
const |
|
inline |
◆ getSlope()
double DDHCalEndcapAlgo::getSlope |
( |
| ) |
const |
|
inline |
◆ getThick()
double DDHCalEndcapAlgo::getThick |
( |
unsigned int |
i | ) |
const |
|
inline |
◆ getTolAbs()
double DDHCalEndcapAlgo::getTolAbs |
( |
| ) |
const |
|
inline |
◆ getTolPos()
double DDHCalEndcapAlgo::getTolPos |
( |
| ) |
const |
|
inline |
◆ getTrim()
double DDHCalEndcapAlgo::getTrim |
( |
unsigned int |
i, |
|
|
unsigned int |
j |
|
) |
| const |
◆ getZ0Beam()
double DDHCalEndcapAlgo::getZ0Beam |
( |
| ) |
const |
|
inline |
◆ getZ1Beam()
double DDHCalEndcapAlgo::getZ1Beam |
( |
| ) |
const |
|
inline |
◆ getZEnd()
double DDHCalEndcapAlgo::getZEnd |
( |
| ) |
const |
|
inline |
◆ getZFront()
double DDHCalEndcapAlgo::getZFront |
( |
| ) |
const |
|
inline |
◆ getZiBody()
double DDHCalEndcapAlgo::getZiBody |
( |
| ) |
const |
|
inline |
◆ getZiDip()
double DDHCalEndcapAlgo::getZiDip |
( |
| ) |
const |
|
inline |
◆ getZiKink()
double DDHCalEndcapAlgo::getZiKink |
( |
| ) |
const |
|
inline |
◆ getZiL0Body()
double DDHCalEndcapAlgo::getZiL0Body |
( |
| ) |
const |
|
inline |
◆ getZiL0Nose()
double DDHCalEndcapAlgo::getZiL0Nose |
( |
| ) |
const |
|
inline |
◆ getZiNose()
double DDHCalEndcapAlgo::getZiNose |
( |
| ) |
const |
|
inline |
◆ getZmaxBlock()
double DDHCalEndcapAlgo::getZmaxBlock |
( |
unsigned |
i | ) |
const |
|
inline |
◆ getZminBlock()
double DDHCalEndcapAlgo::getZminBlock |
( |
unsigned |
i | ) |
const |
|
inline |
◆ getZShift()
double DDHCalEndcapAlgo::getZShift |
( |
| ) |
const |
|
inline |
◆ getZShiftHac2()
double DDHCalEndcapAlgo::getZShiftHac2 |
( |
| ) |
const |
|
inline |
◆ initialize()
Definition at line 297 of file DDHCalEndcapAlgo.cc.
308 rotns = sArgs[
"RotNameSpace"];
312 zEnd = nArgs[
"ZEnd"];
318 ziDip = nArgs[
"ZiDip"];
321 double gap = nArgs[
"Gap"];
322 double z1 = nArgs[
"Z1"];
323 double r1 = nArgs[
"R1"];
324 rout = nArgs[
"Rout"];
326 drEnd = nArgs[
"DrEnd"];
327 double etamin = nArgs[
"Etamin"];
333 <<
", " <<
nsectortot <<
"\tEndcaps " <<
nEndcap <<
"\tRotation matrix for half "
337 <<
" z1 " << z1 <<
"\n\tr1 " <<
r1 <<
" rout " <<
rout <<
" HeboxDepth " <<
heboxDepth
355 <<
"\triKink " <<
riKink <<
"\triDip " <<
riDip <<
"\n\troDip " <<
roDip <<
"\tRotation "
369 modName = vsArgs[
"ModuleName"];
370 modMat = vsArgs[
"ModuleMat"];
373 thick = vArgs[
"ModuleThick"];
440 <<
"\tScint.Thick " <<
scintT[
i];
520 idName = sArgs[
"MotherName"];
References absMat, angBot, angGap, angTop, angle_units::operators::convertRadToDeg(), dbl_to_int(), drEnd, dzShift, dzStep, eModule, muonTiming_cfi::etamin, JetChargeProducer_cfi::exp, HLT_FULL_cff::gap, genMaterial, heboxDepth, mps_fire::i, idName, idNameSpace, idOffset, createfilelist::int, dqmiolumiharvest::j, layerN, layerN0, layerN1, layerN2, layerN3, layerN4, layerN5, layerName, layers, layerT, layerType, modMat, modName, modType, callgraph::module, modules, nEndcap, DDCurrentNamespace::ns(), nsectors, nsectortot, class-composition::parent, phiName, phiSections, plastMat, diffTwoXMLs::r1, riDip, riKink, rinBlock1, rinBlock2, roDip, rotation, rotHalf, rotmat, rotns, rout, routBlock1, routBlock2, scintMat, scintT, sectionModule, funct::sin(), slope, funct::tan(), thick, tolAbs, tolPos, trimLeft, trimRight, z0Beam, z1Beam, zEnd, zFront, ziBody, ziDip, ziKink, ziL0Body, ziL0Nose, ziNose, zmaxBlock, zminBlock, zShift, and zShiftHac2.
◆ parameterLayer()
void DDHCalEndcapAlgo::parameterLayer |
( |
int |
iphi, |
|
|
double |
rinF, |
|
|
double |
routF, |
|
|
double |
rinB, |
|
|
double |
routB, |
|
|
double |
zi, |
|
|
double |
zo, |
|
|
double & |
yh1, |
|
|
double & |
bl1, |
|
|
double & |
tl1, |
|
|
double & |
yh2, |
|
|
double & |
bl2, |
|
|
double & |
tl2, |
|
|
double & |
alp, |
|
|
double & |
theta, |
|
|
double & |
phi, |
|
|
double & |
xpos, |
|
|
double & |
ypos, |
|
|
double & |
zcpv |
|
) |
| |
|
protected |
Definition at line 890 of file DDHCalEndcapAlgo.cc.
914 edm::LogVerbatim(
"HCalGeom") <<
"Input " <<
iphi <<
" Front " << rinF <<
" " << routF <<
" " << zi <<
" Back " << rinB
918 yh1 = 0.5 * (routF - rinB);
921 yh2 = 0.5 * (routF - rinB);
924 double dx = 0.25 * (bl2 + tl2 - bl1 - tl1);
925 double dy = 0.5 * (rinB + routF - rinB - routF);
926 xpos = 0.25 * (rinB + routF + rinB + routF);
927 ypos = 0.25 * (bl2 + tl2 + bl1 + tl1);
928 zpos = 0.5 * (zi + zo);
938 theta = atan(
r / (zo - zi));
942 edm::LogVerbatim(
"HCalGeom") <<
"Output Dimensions " << yh1 <<
" " << bl1 <<
" " << tl1 <<
" " << yh2 <<
" " << bl2
References alpha, angle_units::operators::convertRadToDeg(), PVValHelper::dx, PVValHelper::dy, getNsectors(), LEDCalibrationChannels::iphi, phi, alignCSCRings::r, mathSSE::sqrt(), funct::tan(), and theta().
Referenced by constructInsideModule(), and constructInsideModule0().
◆ parameterLayer0()
void DDHCalEndcapAlgo::parameterLayer0 |
( |
int |
mod, |
|
|
int |
layer, |
|
|
int |
iphi, |
|
|
double & |
yh, |
|
|
double & |
bl, |
|
|
double & |
tl, |
|
|
double & |
alp, |
|
|
double & |
xpos, |
|
|
double & |
ypos, |
|
|
double & |
zcpv |
|
) |
| |
|
protected |
Definition at line 833 of file DDHCalEndcapAlgo.cc.
868 yh = 0.5 * (
rout - rin);
871 xpos = 0.5 * (rin +
rout);
872 ypos = 0.5 * (bl + tl);
873 zpos = 0.5 * (zi + zo);
886 <<
" Position " << xpos <<
" " << ypos <<
" " << zpos;
References alpha, angle_units::operators::convertRadToDeg(), getAngBot(), getAngTop(), getLayerT(), getNsectors(), getSlope(), getTrim(), getZ1Beam(), getZmaxBlock(), getZminBlock(), LEDCalibrationChannels::iphi, phase1PixelTopology::layer, mod(), rout, and funct::tan().
Referenced by constructInsideModule0().
◆ absMat
std::string DDHCalEndcapAlgo::absMat |
|
private |
◆ angBot
double DDHCalEndcapAlgo::angBot |
|
private |
◆ angGap
double DDHCalEndcapAlgo::angGap |
|
private |
◆ angTop
double DDHCalEndcapAlgo::angTop |
|
private |
◆ drEnd
double DDHCalEndcapAlgo::drEnd |
|
private |
◆ dzShift
double DDHCalEndcapAlgo::dzShift |
|
private |
◆ dzStep
double DDHCalEndcapAlgo::dzStep |
|
private |
◆ eModule
std::vector<int> DDHCalEndcapAlgo::eModule |
|
private |
◆ genMaterial
std::string DDHCalEndcapAlgo::genMaterial |
|
private |
◆ heboxDepth
double DDHCalEndcapAlgo::heboxDepth |
|
private |
◆ idName
std::string DDHCalEndcapAlgo::idName |
|
private |
◆ idNameSpace
std::string DDHCalEndcapAlgo::idNameSpace |
|
private |
◆ idOffset
int DDHCalEndcapAlgo::idOffset |
|
private |
◆ layerN
std::vector<int> DDHCalEndcapAlgo::layerN |
|
private |
◆ layerN0
std::vector<int> DDHCalEndcapAlgo::layerN0 |
|
private |
◆ layerN1
std::vector<int> DDHCalEndcapAlgo::layerN1 |
|
private |
◆ layerN2
std::vector<int> DDHCalEndcapAlgo::layerN2 |
|
private |
◆ layerN3
std::vector<int> DDHCalEndcapAlgo::layerN3 |
|
private |
◆ layerN4
std::vector<int> DDHCalEndcapAlgo::layerN4 |
|
private |
◆ layerN5
std::vector<int> DDHCalEndcapAlgo::layerN5 |
|
private |
◆ layerName
std::vector<std::string> DDHCalEndcapAlgo::layerName |
|
private |
◆ layers
int DDHCalEndcapAlgo::layers |
|
private |
◆ layerT
std::vector<double> DDHCalEndcapAlgo::layerT |
|
private |
◆ layerType
std::vector<int> DDHCalEndcapAlgo::layerType |
|
private |
◆ modMat
std::vector<std::string> DDHCalEndcapAlgo::modMat |
|
private |
◆ modName
std::vector<std::string> DDHCalEndcapAlgo::modName |
|
private |
◆ modType
std::vector<int> DDHCalEndcapAlgo::modType |
|
private |
◆ modules
int DDHCalEndcapAlgo::modules |
|
private |
◆ nEndcap
int DDHCalEndcapAlgo::nEndcap |
|
private |
◆ nsectors
int DDHCalEndcapAlgo::nsectors |
|
private |
◆ nsectortot
int DDHCalEndcapAlgo::nsectortot |
|
private |
◆ phiName
std::vector<std::string> DDHCalEndcapAlgo::phiName |
|
private |
◆ phiSections
int DDHCalEndcapAlgo::phiSections |
|
private |
◆ plastMat
std::string DDHCalEndcapAlgo::plastMat |
|
private |
◆ riDip
double DDHCalEndcapAlgo::riDip |
|
private |
◆ riKink
double DDHCalEndcapAlgo::riKink |
|
private |
◆ rinBlock1
std::vector<double> DDHCalEndcapAlgo::rinBlock1 |
|
private |
◆ rinBlock2
std::vector<double> DDHCalEndcapAlgo::rinBlock2 |
|
private |
◆ roDip
double DDHCalEndcapAlgo::roDip |
|
private |
◆ rotation
std::string DDHCalEndcapAlgo::rotation |
|
private |
◆ rotHalf
std::string DDHCalEndcapAlgo::rotHalf |
|
private |
◆ rotmat
std::string DDHCalEndcapAlgo::rotmat |
|
private |
◆ rotns
std::string DDHCalEndcapAlgo::rotns |
|
private |
◆ rout
double DDHCalEndcapAlgo::rout |
|
private |
◆ routBlock1
std::vector<double> DDHCalEndcapAlgo::routBlock1 |
|
private |
◆ routBlock2
std::vector<double> DDHCalEndcapAlgo::routBlock2 |
|
private |
◆ scintMat
std::string DDHCalEndcapAlgo::scintMat |
|
private |
◆ scintT
std::vector<double> DDHCalEndcapAlgo::scintT |
|
private |
◆ sectionModule
std::vector<int> DDHCalEndcapAlgo::sectionModule |
|
private |
◆ slope
double DDHCalEndcapAlgo::slope |
|
private |
◆ thick
std::vector<double> DDHCalEndcapAlgo::thick |
|
private |
◆ tolAbs
double DDHCalEndcapAlgo::tolAbs |
|
private |
◆ tolPos
double DDHCalEndcapAlgo::tolPos |
|
private |
◆ trimLeft
std::vector<double> DDHCalEndcapAlgo::trimLeft |
|
private |
◆ trimRight
std::vector<double> DDHCalEndcapAlgo::trimRight |
|
private |
◆ z0Beam
double DDHCalEndcapAlgo::z0Beam |
|
private |
◆ z1Beam
double DDHCalEndcapAlgo::z1Beam |
|
private |
◆ zEnd
double DDHCalEndcapAlgo::zEnd |
|
private |
◆ zFront
double DDHCalEndcapAlgo::zFront |
|
private |
◆ ziBody
double DDHCalEndcapAlgo::ziBody |
|
private |
◆ ziDip
double DDHCalEndcapAlgo::ziDip |
|
private |
◆ ziKink
double DDHCalEndcapAlgo::ziKink |
|
private |
◆ ziL0Body
double DDHCalEndcapAlgo::ziL0Body |
|
private |
◆ ziL0Nose
double DDHCalEndcapAlgo::ziL0Nose |
|
private |
◆ ziNose
double DDHCalEndcapAlgo::ziNose |
|
private |
◆ zmaxBlock
std::vector<double> DDHCalEndcapAlgo::zmaxBlock |
|
private |
◆ zminBlock
std::vector<double> DDHCalEndcapAlgo::zminBlock |
|
private |
◆ zShift
double DDHCalEndcapAlgo::zShift |
|
private |
◆ zShiftHac2
double DDHCalEndcapAlgo::zShiftHac2 |
|
private |
double getRinBlock1(unsigned i) const
double getRinBlock2(unsigned i) const
DDName is used to identify DDD entities uniquely.
double getLayerT(unsigned int i) const
double getZmaxBlock(unsigned i) const
constexpr NumType convertRadToDeg(NumType radians)
std::vector< double > rinBlock2
const std::string & getScintMat() const
T mod(const T &a, const T &b)
std::string formatAsDegreesInInteger(double radianVal)
std::vector< int > layerType
std::vector< double > rinBlock1
std::vector< std::string > modName
U second(std::pair< T, U > const &p)
std::vector< int > eModule
void constructGeneralVolume(DDCompactView &cpv)
std::vector< int > layerN
const std::string & getRotation() const
const std::string & getLayerName(unsigned int i) const
const std::string & getRotMat() const
void constructInsideModule0(const DDLogicalPart &module, int mod, DDCompactView &cpv)
int getNsectortot() const
Sin< T >::type sin(const T &t)
double getRoutBlock1(unsigned i) const
double getTrim(unsigned int i, unsigned int j) const
double getScintT(unsigned int i) const
void parameterLayer(int iphi, double rinF, double routF, double rinB, double routB, double zi, double zo, double &yh1, double &bl1, double &tl1, double &yh2, double &bl2, double &tl2, double &alp, double &theta, double &phi, double &xpos, double &ypos, double &zcpv)
std::vector< double > thick
DDMaterial is used to define and access material information.
int getModType(unsigned int i) const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
static DDSolid polyhedra(const DDName &name, int sides, double startPhi, double deltaPhi, const std::vector< double > &z, const std::vector< double > &rmin, const std::vector< double > &rmax)
Creates a polyhedra (refere to Geant3 or Geant4 documentation)
const std::string & getModName(unsigned int i) const
double getThick(unsigned int i) const
std::vector< double > trimRight
std::vector< int > layerN3
double getZShiftHac2() const
Geom::Theta< T > theta() const
const std::string & getAbsMat() const
std::vector< double > scintT
double getRoutBlock2(unsigned i) const
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< int > layerN2
std::vector< int > modType
std::vector< std::string > phiName
std::vector< double > trimLeft
std::vector< double > layerT
std::vector< double > routBlock1
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Tan< T >::type tan(const T &t)
const std::string & getPlastMat() const
std::vector< int > layerN0
void constructInsideSector(const DDLogicalPart §or, DDCompactView &cpv)
const std::string & getGenMat() const
std::vector< double > zmaxBlock
double getDzShift() const
const std::string & getModMat(unsigned int i) const
std::vector< std::string > layerName
std::vector< double > zminBlock
std::vector< std::string > modMat
std::vector< int > layerN1
int getSectionModule(unsigned i) const
int getLayerType(unsigned int i) const
Log< level::Info, true > LogVerbatim
static std::string & ns()
double getZminBlock(unsigned i) const
int getLayerN(unsigned int i) const
A DDSolid represents the shape of a part.
int getLayer(unsigned int i, unsigned int j) const
Represents a uniquely identifyable rotation matrix.
std::vector< int > sectionModule
void parameterLayer0(int mod, int layer, int iphi, double &yh, double &bl, double &tl, double &alp, double &xpos, double &ypos, double &zcpv)
std::vector< int > dbl_to_int(const std::vector< double > &vecdbl)
Converts a std::vector of doubles to a std::vector of int.
void constructInsideModule(const DDLogicalPart &module, int mod, DDCompactView &cpv)
void constructScintLayer(const DDLogicalPart &glog, double pDz, double yh, double bl, double tl, double alp, const std::string &name, int id, DDCompactView &cpv)
std::vector< int > layerN5
double getRinKink() const
std::vector< int > layerN4
static DDSolid trap(const DDName &name, double pDz, double pTheta, double pPhi, double pDy1, double pDx1, double pDx2, double pAlp1, double pDy2, double pDx3, double pDx4, double pAlp2)
double getRoutDip() const
int equipModule(unsigned int i) const
const std::string & getPhiName(unsigned int i) const
double getZiL0Body() const
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)
std::vector< double > routBlock2