CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
DDHCalEndcapAlgo Class Reference
Inheritance diagram for DDHCalEndcapAlgo:

Public Member Functions

 DDHCalEndcapAlgo ()
 
int equipModule (unsigned int i) const
 
void execute (DDCompactView &cpv) override
 
const std::string & getAbsMat () const
 
double getAngBot () const
 
double getAngGap () const
 
double getAngTop () const
 
double getDrEnd () const
 
double getDzShift () const
 
double getDzStep () const
 
int getEndcaps () const
 
const std::string & getGenMat () const
 
double getHeboxDepth () const
 
int getLayer (unsigned int i, unsigned int j) const
 
int getLayerN (unsigned int i) const
 
const std::string & getLayerName (unsigned int i) const
 
int getLayers () const
 
double getLayerT (unsigned int i) const
 
int getLayerType (unsigned int i) const
 
const std::string & getModMat (unsigned int i) const
 
const std::string & getModName (unsigned int i) const
 
int getModType (unsigned int i) const
 
int getModules () const
 
int getNsectors () const
 
int getNsectortot () const
 
int getPhi () const
 
const std::string & getPhiName (unsigned int i) const
 
const std::string & getPlastMat () const
 
double getRinBlock1 (unsigned i) const
 
double getRinBlock2 (unsigned i) const
 
double getRinDip () const
 
double getRinKink () const
 
const std::string & getRotation () const
 
const std::string & getRotMat () const
 
double getRout () const
 
double getRoutBlock1 (unsigned i) const
 
double getRoutBlock2 (unsigned i) const
 
double getRoutDip () const
 
const std::string & getScintMat () const
 
double getScintT (unsigned int i) const
 
int getSectionModule (unsigned i) const
 
double getSlope () const
 
double getThick (unsigned int i) const
 
double getTolAbs () const
 
double getTolPos () const
 
double getTrim (unsigned int i, unsigned int j) const
 
double getZ0Beam () const
 
double getZ1Beam () const
 
double getZEnd () const
 
double getZFront () const
 
double getZiBody () const
 
double getZiDip () const
 
double getZiKink () const
 
double getZiL0Body () const
 
double getZiL0Nose () const
 
double getZiNose () const
 
double getZmaxBlock (unsigned i) const
 
double getZminBlock (unsigned i) const
 
double getZShift () const
 
double getZShiftHac2 () const
 
void initialize (const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
 
 ~DDHCalEndcapAlgo () override
 

Protected Member Functions

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 &sector, 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)
 

Private Attributes

std::string absMat
 
double angBot
 
double angGap
 
double angTop
 
double drEnd
 
double dzShift
 
double dzStep
 
std::vector< int > eModule
 
std::string genMaterial
 
double heboxDepth
 
std::string idName
 
std::string idNameSpace
 
int idOffset
 
std::vector< int > layerN
 
std::vector< int > layerN0
 
std::vector< int > layerN1
 
std::vector< int > layerN2
 
std::vector< int > layerN3
 
std::vector< int > layerN4
 
std::vector< int > layerN5
 
std::vector< std::string > layerName
 
int layers
 
std::vector< double > layerT
 
std::vector< int > layerType
 
std::vector< std::string > modMat
 
std::vector< std::string > modName
 
std::vector< int > modType
 
int modules
 
int nEndcap
 
int nsectors
 
int nsectortot
 
std::vector< std::string > phiName
 
int phiSections
 
std::string plastMat
 
double riDip
 
double riKink
 
std::vector< double > rinBlock1
 
std::vector< double > rinBlock2
 
double roDip
 
std::string rotation
 
std::string rotHalf
 
std::string rotmat
 
std::string rotns
 
double rout
 
std::vector< double > routBlock1
 
std::vector< double > routBlock2
 
std::string scintMat
 
std::vector< double > scintT
 
std::vector< int > sectionModule
 
double slope
 
std::vector< double > thick
 
double tolAbs
 
double tolPos
 
std::vector< double > trimLeft
 
std::vector< double > trimRight
 
double z0Beam
 
double z1Beam
 
double zEnd
 
double zFront
 
double ziBody
 
double ziDip
 
double ziKink
 
double ziL0Body
 
double ziL0Nose
 
double ziNose
 
std::vector< double > zmaxBlock
 
std::vector< double > zminBlock
 
double zShift
 
double zShiftHac2
 

Detailed Description

Definition at line 29 of file DDHCalEndcapAlgo.cc.

Constructor & Destructor Documentation

◆ DDHCalEndcapAlgo()

DDHCalEndcapAlgo::DDHCalEndcapAlgo ( )

Definition at line 229 of file DDHCalEndcapAlgo.cc.

230  : modMat(0),
231  modType(0),
232  sectionModule(0),
233  layerN(0),
234  layerN0(0),
235  layerN1(0),
236  layerN2(0),
237  layerN3(0),
238  layerN4(0),
239  layerN5(0),
240  thick(0),
241  trimLeft(0),
242  trimRight(0),
243  zminBlock(0),
244  zmaxBlock(0),
245  rinBlock1(0),
246  routBlock1(0),
247  rinBlock2(0),
248  routBlock2(0),
249  layerType(0),
250  layerT(0),
251  scintT(0) {
252 #ifdef EDM_ML_DEBUG
253  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Creating an instance";
254 #endif
255 }

◆ ~DDHCalEndcapAlgo()

DDHCalEndcapAlgo::~DDHCalEndcapAlgo ( )
override

Definition at line 257 of file DDHCalEndcapAlgo.cc.

257 {}

Member Function Documentation

◆ constructGeneralVolume()

void DDHCalEndcapAlgo::constructGeneralVolume ( DDCompactView cpv)
protected

!!!!!!!!!!!!!!!!Should be zero. And removed as soon as

Definition at line 555 of file DDHCalEndcapAlgo.cc.

555  {
556 #ifdef EDM_ML_DEBUG
557  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: General volume...";
558 #endif
559 
560  bool proto = true;
561  for (int i = 0; i < 3; i++)
562  if (equipModule(i) > 0)
563  proto = false;
564 
565  DDRotation rot;
566  if (DDSplit(getRotation()).first == "NULL")
567  rot = DDRotation();
568  else
570 
571 #ifdef EDM_ML_DEBUG
572  edm::LogVerbatim("HCalGeom") << " First " << DDSplit(getRotation()).first << " Second "
573  << DDSplit(getRotation()).second << " Rotation " << rot;
574 #endif
575 
576  DDTranslation r0(0, 0, getZShift());
577  double alpha = (1._pi) / getNsectors();
578  double dphi = getNsectortot() * (2._pi) / getNsectors();
579 
581  //vertical walls are allowed in SolidPolyhedra
582  double delz = 0;
583 
584  std::vector<double> pgonZ, pgonRmin, pgonRmax;
585  if (proto) {
586  double zf = getZiBody() + getZShiftHac2();
587  pgonZ.emplace_back(zf - getDzShift());
588  pgonRmin.emplace_back(zf * tan(getAngBot()));
589  pgonRmax.emplace_back((zf - getZ1Beam()) * getSlope());
590  } else {
591  pgonZ.emplace_back(getZFront() - getDzShift());
592  pgonRmin.emplace_back(getZFront() * tan(getAngTop()));
593  pgonRmax.emplace_back((getZFront() - getZ1Beam()) * getSlope());
594  pgonZ.emplace_back(getZiL0Body() - getDzShift());
595  pgonRmin.emplace_back(getZiL0Body() * tan(getAngTop()));
596  pgonRmax.emplace_back((getZiL0Body() - getZ1Beam()) * getSlope());
597  pgonZ.emplace_back(getZiL0Body() - getDzShift());
598  pgonRmin.emplace_back(getZiL0Body() * tan(getAngBot()));
599  pgonRmax.emplace_back((getZiL0Body() - getZ1Beam()) * getSlope());
600  }
601  pgonZ.emplace_back(getZiKink() - getDzShift());
602  pgonRmin.emplace_back(getRinKink());
603  pgonRmax.emplace_back(getRout());
604  pgonZ.emplace_back(getZiDip() - getDzShift());
605  pgonRmin.emplace_back(getRinDip());
606  pgonRmax.emplace_back(getRout());
607  pgonZ.emplace_back(getZiDip() - getDzShift() + delz);
608  pgonRmin.emplace_back(getRinDip());
609  pgonRmax.emplace_back(getRoutDip());
610  pgonZ.emplace_back(getZEnd() - getDzShift());
611  pgonRmin.emplace_back(getZEnd() * tan(getAngBot()));
612  pgonRmax.emplace_back(getRoutDip());
613  pgonZ.emplace_back(getZEnd());
614  pgonRmin.emplace_back(getZEnd() * tan(getAngBot()));
615  pgonRmax.emplace_back(getRoutDip());
616 
617  std::string name("Null");
618  DDSolid solid;
619  solid =
620  DDSolidFactory::polyhedra(DDName(idName, idNameSpace), getNsectortot(), -alpha, dphi, pgonZ, pgonRmin, pgonRmax);
621 #ifdef EDM_ML_DEBUG
622  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << DDName(idName, idNameSpace) << " Polyhedra made of "
623  << getGenMat() << " with " << getNsectortot() << " sectors from "
624  << convertRadToDeg(-alpha) << " to " << convertRadToDeg(-alpha + dphi) << " and with "
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];
628 #endif
629 
631  DDMaterial matter(matname);
632  DDLogicalPart genlogic(DDName(idName, idNameSpace), matter, solid);
633 
634  DDName parentName = parent().name();
635  cpv.position(DDName(idName, idNameSpace), parentName, 1, r0, rot);
636 
637 #ifdef EDM_ML_DEBUG
638  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << DDName(idName, idNameSpace) << " number 1 positioned in "
639  << parentName << " at " << r0 << " with " << rot;
640 #endif
641 
642  if (getEndcaps() != 1) {
644  cpv.position(DDName(idName, idNameSpace), parentName, 2, r0, rot);
645 
646 #ifdef EDM_ML_DEBUG
647  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << DDName(idName, idNameSpace) << " number 2 "
648  << "positioned in " << parentName << " at " << r0 << " with " << rot;
649 #endif
650  }
651 
652  //Forward half
653  name = idName + "Front";
654  std::vector<double> pgonZMod, pgonRminMod, pgonRmaxMod;
655  for (unsigned int i = 0; i < (pgonZ.size() - 1); i++) {
656  pgonZMod.emplace_back(pgonZ[i] + getDzShift());
657  pgonRminMod.emplace_back(pgonRmin[i]);
658  pgonRmaxMod.emplace_back(pgonRmax[i]);
659  }
661  DDName(name, idNameSpace), getNsectortot(), -alpha, dphi, pgonZMod, pgonRminMod, pgonRmaxMod);
662 
663 #ifdef EDM_ML_DEBUG
664  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << DDName(name, idNameSpace) << " Polyhedra made of "
665  << getGenMat() << " with " << getNsectortot() << " sectors from "
666  << convertRadToDeg(-alpha) << " to " << convertRadToDeg(-alpha + dphi) << " and with "
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];
671 #endif
672 
673  DDLogicalPart genlogich(DDName(name, idNameSpace), matter, solid);
674 
675  cpv.position(genlogich, genlogic, 1, DDTranslation(0.0, 0.0, -getDzShift()), DDRotation());
676 
677 #ifdef EDM_ML_DEBUG
678  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << genlogich.name() << " number 1 positioned in "
679  << genlogic.name() << " at (0,0," << -getDzShift() << ") with no rotation";
680 #endif
681 
682  //Construct sector (from -alpha to +alpha)
683  name = idName + "Module";
684  solid =
685  DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha, 2 * alpha, pgonZMod, pgonRminMod, pgonRmaxMod);
686 #ifdef EDM_ML_DEBUG
687  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << DDName(name, idNameSpace) << " Polyhedra made of "
688  << getGenMat() << " with 1 sector from " << convertRadToDeg(-alpha) << " to "
689  << convertRadToDeg(alpha) << " and with " << pgonZMod.size() << " sections";
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];
693 #endif
694 
695  DDLogicalPart seclogic(DDName(name, idNameSpace), matter, solid);
696 
697  for (int ii = 0; ii < getNsectortot(); ii++) {
698  double phi = ii * 2 * alpha;
700  std::string rotstr("NULL");
701  if (phi != 0) {
702  rotstr = "R" + formatAsDegreesInInteger(phi);
703  rotation = DDRotation(DDName(rotstr, rotns));
704  if (!rotation) {
705 #ifdef EDM_ML_DEBUG
706  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Creating a new rotation " << rotstr << "\t 90,"
707  << convertRadToDeg(phi) << ", 90," << convertRadToDeg(phi + 90._deg) << ", 0, 0";
708 #endif
709  rotation = DDrot(DDName(rotstr, rotns), 90._deg, phi, 90._deg, (90._deg + phi), 0, 0);
710  } //if !rotation
711  } //if phi!=0
712 
713  cpv.position(seclogic, genlogich, ii + 1, DDTranslation(0.0, 0.0, 0.0), rotation);
714 
715 #ifdef EDM_ML_DEBUG
716  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << seclogic.name() << " number " << ii + 1 << " positioned in "
717  << genlogich.name() << " at (0,0,0) with " << rotation;
718 #endif
719  }
720 
721  //Construct the things inside the sector
722  constructInsideSector(seclogic, cpv);
723 
724  //Backward half
725  name = idName + "Back";
726  std::vector<double> pgonZBack, pgonRminBack, pgonRmaxBack;
727  pgonZBack.emplace_back(getZEnd() - getDzShift());
728  pgonRminBack.emplace_back(pgonZBack[0] * tan(getAngBot()) + getDrEnd());
729  pgonRmaxBack.emplace_back(getRoutDip());
730  pgonZBack.emplace_back(getZEnd());
731  pgonRminBack.emplace_back(pgonZBack[1] * tan(getAngBot()) + getDrEnd());
732  pgonRmaxBack.emplace_back(getRoutDip());
734  DDName(name, idNameSpace), getNsectortot(), -alpha, dphi, pgonZBack, pgonRminBack, pgonRmaxBack);
735 
736 #ifdef EDM_ML_DEBUG
737  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << DDName(name, idNameSpace) << " Polyhedra made of "
738  << getAbsMat() << " with " << getNsectortot() << " sectors from "
739  << convertRadToDeg(-alpha) << " to " << convertRadToDeg(-alpha + dphi) << " and with "
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];
744 #endif
745 
746  DDName absMatname(DDSplit(getAbsMat()).first, DDSplit(getAbsMat()).second);
747  DDMaterial absMatter(absMatname);
748  DDLogicalPart glog(DDName(name, idNameSpace), absMatter, solid);
749 
750  cpv.position(glog, genlogic, 1, DDTranslation(0.0, 0.0, 0.0), DDRotation());
751 
752 #ifdef EDM_ML_DEBUG
753  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << glog.name() << " number 1 positioned in " << genlogic.name()
754  << " at (0,0,0) with no rotation";
755 #endif
756 }

References zMuMuMuonUserData::alpha, constructInsideSector(), angle_units::operators::convertRadToDeg(), DDrot(), DDSplit(), equipModule(), dqmdumpme::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()

void DDHCalEndcapAlgo::constructInsideModule ( const DDLogicalPart module,
int  mod,
DDCompactView cpv 
)
protected

Definition at line 1055 of file DDHCalEndcapAlgo.cc.

1055  {
1056 #ifdef EDM_ML_DEBUG
1057  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: \t\tInside module ..." << mod;
1058 #endif
1059 
1061  //Pointers to the Rotation Matrices and to the Materials
1062  std::string rotstr = getRotMat();
1063  DDRotation rot(DDName(rotstr, rotns));
1065  DDMaterial matter(matName);
1067  DDMaterial matplastic(plasName);
1068 
1069  double alpha = (1._pi) / getNsectors();
1070  double zi = getZminBlock(mod);
1071 
1072  for (int i = 0; i < getLayerN(mod); i++) {
1073  std::string name;
1074  DDSolid solid;
1075  DDLogicalPart glog, plog;
1076  int layer = getLayer(mod, i);
1077  double zo = zi + 0.5 * getDzStep();
1078 
1079  for (int iphi = 0; iphi < getPhi(); iphi++) {
1080  double ziAir = zo - getThick(mod);
1081  double rinF, rinB;
1082  if (layer == 1) {
1083  rinF = ziAir * tan(getAngTop());
1084  rinB = zo * tan(getAngTop());
1085  } else {
1086  rinF = ziAir * tan(getAngBot());
1087  rinB = zo * tan(getAngBot());
1088  }
1089  double routF = (ziAir - getZ1Beam()) * getSlope();
1090  double routB = (zo - getZ1Beam()) * getSlope();
1091  if (routF > getRoutBlock2(mod))
1092  routF = getRoutBlock2(mod);
1093  if (routB > getRoutBlock2(mod))
1094  routB = getRoutBlock2(mod);
1095 
1096 #ifdef EDM_ML_DEBUG
1097  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Layer " << i << " Phi " << iphi << " Front " << ziAir << ", "
1098  << rinF << ", " << routF << " Back " << zo << ", " << rinB << ", " << routB;
1099 #endif
1100 
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);
1105 
1106  name = module.name().name() + getLayerName(layer) + getPhiName(iphi) + "Air";
1107  solid = DDSolidFactory::trap(
1108  DDName(name, idNameSpace), 0.5 * getThick(mod), theta, phi, yh1, bl1, tl1, alp, yh2, bl2, tl2, alp);
1109 
1110 #ifdef EDM_ML_DEBUG
1111  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << solid.name() << " Trap made of " << getGenMat()
1112  << " of dimensions " << 0.5 * getThick(mod) << ", " << convertRadToDeg(theta) << ", "
1113  << convertRadToDeg(phi) << ", " << yh1 << ", " << bl1 << ", " << tl1 << ", "
1114  << convertRadToDeg(alp) << ", " << yh2 << ", " << bl2 << ", " << tl2 << ", "
1115  << convertRadToDeg(alp);
1116 #endif
1117 
1118  glog = DDLogicalPart(solid.ddname(), matter, solid);
1119 
1120  DDTranslation r1(xpos, ypos, zpos);
1121  cpv.position(glog, module, layer + 1, r1, rot);
1122 
1123 #ifdef EDM_ML_DEBUG
1124  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << glog.name() << " number " << layer + 1
1125  << " positioned in " << module.name() << " at " << r1 << " with " << rot;
1126 #endif
1127 
1128  //Now the plastic with scintillators
1129  double yh = 0.5 * (routF - rinB) - getTrim(mod, iphi);
1130  double bl = 0.5 * rinB * tan(alpha) - getTrim(mod, iphi);
1131  double tl = 0.5 * routF * tan(alpha) - getTrim(mod, iphi);
1132  name = module.name().name() + getLayerName(layer) + getPhiName(iphi);
1133  solid = DDSolidFactory::trap(
1134  DDName(name, idNameSpace), 0.5 * getLayerT(layer), 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
1135 
1136 #ifdef EDM_ML_DEBUG
1137  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << solid.name() << " Trap made of " << getPlastMat()
1138  << " of dimensions " << 0.5 * getLayerT(layer) << ", 0, 0, " << yh << ", " << bl
1139  << ", " << tl << ", " << convertRadToDeg(alp) << ", " << yh << ", " << bl << ", "
1140  << tl << ", " << convertRadToDeg(alp);
1141 #endif
1142 
1143  plog = DDLogicalPart(solid.ddname(), matplastic, solid);
1144 
1145  ypos = 0.5 * (routF + rinB) - xpos;
1146  DDTranslation r2(0., ypos, 0.);
1147  cpv.position(plog, glog, idOffset + layer + 1, r2, DDRotation());
1148 
1149 #ifdef EDM_ML_DEBUG
1150  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << plog.name() << " number " << idOffset + layer + 1
1151  << " positioned in " << glog.name() << " at " << r2 << " with no rotation";
1152 #endif
1153 
1154  //Constructin the scintillators inside
1155  int copyNo = layer * 10 + getLayerType(layer);
1156  name = getModName(mod) + getLayerName(layer) + getPhiName(iphi);
1157  constructScintLayer(plog, getScintT(layer), yh, bl, tl, alp, name, copyNo, cpv);
1158  zo += 0.5 * getDzStep();
1159  } // End of loop over phi indices
1160  zi = zo - 0.5 * getDzStep();
1161  } // End of loop on layers
1162 }

References zMuMuMuonUserData::alpha, constructScintLayer(), angle_units::operators::convertRadToDeg(), DDBase< N, C >::ddname(), DDSplit(), dqmdumpme::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, mod(), 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()

void DDHCalEndcapAlgo::constructInsideModule0 ( const DDLogicalPart module,
int  mod,
DDCompactView cpv 
)
protected

Definition at line 948 of file DDHCalEndcapAlgo.cc.

948  {
949 #ifdef EDM_ML_DEBUG
950  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: \t\tInside module0 ..." << mod;
951 #endif
952 
954  //Pointers to the Rotation Matrices and to the Materials
955  std::string rotstr = getRotMat();
956  DDRotation rot(DDName(rotstr, rotns));
958  DDMaterial matabsorbr(matName);
960  DDMaterial matplastic(plasName);
961 
962  int layer = getLayer(mod, 0);
963  int layer0 = getLayer(mod, 1);
965  double xpos, ypos, zpos;
966  DDSolid solid;
967  DDLogicalPart glog, plog;
968  for (int iphi = 0; iphi < getPhi(); iphi++) {
969  double yh, bl, tl, alp;
970  parameterLayer0(mod, layer, iphi, yh, bl, tl, alp, xpos, ypos, zpos);
971  name = module.name().name() + getLayerName(layer) + getPhiName(iphi);
972  solid =
973  DDSolidFactory::trap(DDName(name, idNameSpace), 0.5 * getLayerT(layer), 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
974 
975 #ifdef EDM_ML_DEBUG
976  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << solid.name() << " Trap made of " << getPlastMat()
977  << " of dimensions " << 0.5 * getLayerT(layer) << ", 0, 0, " << yh << ", " << bl
978  << ", " << tl << ", " << convertRadToDeg(alp) << ", " << yh << ", " << bl << ", " << tl
979  << ", " << convertRadToDeg(alp);
980 #endif
981 
982  glog = DDLogicalPart(solid.ddname(), matplastic, solid);
983 
984  DDTranslation r1(xpos, ypos, zpos);
985  cpv.position(glog, module, idOffset + layer + 1, r1, rot);
986 
987 #ifdef EDM_ML_DEBUG
988  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << glog.name() << " number " << idOffset + layer + 1
989  << " positioned in " << module.name() << " at " << r1 << " with " << rot;
990 #endif
991 
992  //Now construct the layer of scintillator inside this
993  int copyNo = layer0 * 10 + getLayerType(layer);
995  constructScintLayer(glog, getScintT(layer), yh, bl, tl, alp, name, copyNo, cpv);
996  }
997 
998  //Now the absorber layer
999  double zi = getZminBlock(mod) + getLayerT(layer);
1000  double zo = zi + 0.5 * getDzStep();
1001  double rinF, routF, rinB, routB;
1002  if (mod == 0) {
1003  rinF = zi * tan(getAngTop());
1004  routF = (zi - getZ1Beam()) * getSlope();
1005  rinB = zo * tan(getAngTop());
1006  routB = (zo - getZ1Beam()) * getSlope();
1007  } else {
1008  rinF = zi * tan(getAngBot());
1009  routF = zi * tan(getAngTop());
1010  rinB = zo * tan(getAngBot());
1011  routB = zo * tan(getAngTop());
1012  }
1013 
1014 #ifdef EDM_ML_DEBUG
1015  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Module " << mod << " Front " << zi << ", " << rinF << ", " << routF
1016  << " Back " << zo << ", " << rinB << ", " << routB;
1017 #endif
1018 
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);
1021  double fact = getTolAbs();
1022 
1023 #ifdef EDM_ML_DEBUG
1024  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Trim " << fact << " Param " << yh1 << ", " << bl1 << ", " << tl1
1025  << ", " << yh2 << ", " << bl2 << ", " << tl2;
1026 #endif
1027 
1028  bl1 -= fact;
1029  tl1 -= fact;
1030  bl2 -= fact;
1031  tl2 -= fact;
1032 
1033  name = module.name().name() + "Absorber";
1034  solid = DDSolidFactory::trap(
1035  DDName(name, idNameSpace), 0.5 * getThick(mod), theta, phi, yh1, bl1, tl1, alp, yh2, bl2, tl2, alp);
1036 #ifdef EDM_ML_DEBUG
1037  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << solid.name() << " Trap made of " << getAbsMat()
1038  << " of dimensions " << 0.5 * getThick(mod) << ", " << convertRadToDeg(theta) << ", "
1039  << convertRadToDeg(phi) << ", " << yh1 << ", " << bl1 << ", " << tl1 << ", "
1040  << convertRadToDeg(alp) << ", " << yh2 << ", " << bl2 << ", " << tl2 << ", "
1041  << convertRadToDeg(alp);
1042 #endif
1043 
1044  glog = DDLogicalPart(solid.ddname(), matabsorbr, solid);
1045 
1046  DDTranslation r2(xpos, ypos, zpos);
1047  cpv.position(glog, module, 1, r2, rot);
1048 
1049 #ifdef EDM_ML_DEBUG
1050  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << glog.name() << " number 1 positioned in " << module.name()
1051  << " at " << r2 << " with " << rot;
1052 #endif
1053 }

References constructScintLayer(), angle_units::operators::convertRadToDeg(), DDBase< N, C >::ddname(), DDSplit(), fact, dqmdumpme::first, getAbsMat(), getAngBot(), getAngTop(), getDzStep(), getLayer(), getLayerName(), getLayerT(), getLayerType(), getModName(), getPhi(), getPhiName(), getPlastMat(), getRotMat(), getScintT(), getSlope(), getThick(), getTolAbs(), getZ1Beam(), getZminBlock(), idNameSpace, idOffset, LEDCalibrationChannels::iphi, mod(), 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()

void DDHCalEndcapAlgo::constructInsideSector ( const DDLogicalPart sector,
DDCompactView cpv 
)
protected

!!!!!!!!!!!!!!!!Should be zero. And removed as soon as

Definition at line 758 of file DDHCalEndcapAlgo.cc.

758  {
759 #ifdef EDM_ML_DEBUG
760  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Modules (" << getModules() << ") ...";
761 #endif
762 
763  double alpha = (1._pi) / getNsectors();
764 
765  for (int i = 0; i < getModules(); i++) {
768  DDMaterial matter(matname);
769 
770  if (equipModule(i) > 0) {
771  int nsec = getSectionModule(i);
772 
774  //vertical walls are allowed in SolidPolyhedra
775  double deltaz = 0;
776 
777  std::vector<double> pgonZ, pgonRmin, pgonRmax;
778  if (nsec == 3) {
779  double zf = getZminBlock(i) + getZShiftHac2();
780  pgonZ.emplace_back(zf);
781  pgonRmin.emplace_back(zf * tan(getAngBot()));
782  pgonRmax.emplace_back((zf - getZ1Beam()) * getSlope());
783  pgonZ.emplace_back(getZiKink());
784  pgonRmin.emplace_back(getRinKink());
785  pgonRmax.emplace_back(getRout());
786  } else {
787  pgonZ.emplace_back(getZminBlock(i));
788  pgonRmin.emplace_back(getRinBlock1(i));
789  pgonRmax.emplace_back(getRoutBlock1(i));
790  }
791  if (nsec == 4) {
792  pgonZ.emplace_back(getZiDip());
793  pgonRmin.emplace_back(getRinDip());
794  pgonRmax.emplace_back(getRout());
795  pgonZ.emplace_back(pgonZ[1] + deltaz);
796  pgonRmin.emplace_back(pgonRmin[1]);
797  pgonRmax.emplace_back(getRoutDip());
798  }
799  pgonZ.emplace_back(getZmaxBlock(i));
800  pgonRmin.emplace_back(getRinBlock2(i));
801  pgonRmax.emplace_back(getRoutBlock2(i));
802 
803  //Solid & volume
804  DDSolid solid;
805  solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha, 2 * alpha, pgonZ, pgonRmin, pgonRmax);
806 
807 #ifdef EDM_ML_DEBUG
808  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << DDName(name, idNameSpace) << " Polyhedra made of "
809  << getModMat(i) << " with 1 sector from " << convertRadToDeg(-alpha) << " to "
810  << convertRadToDeg(alpha) << " and with " << nsec << " sections";
811  for (unsigned int k = 0; k < pgonZ.size(); k++)
812  edm::LogVerbatim("HCalGeom") << "\t\tZ = " << pgonZ[k] << "\tRmin = " << pgonRmin[k]
813  << "\tRmax = " << pgonRmax[k];
814 #endif
815 
816  DDLogicalPart glog(DDName(name, idNameSpace), matter, solid);
817 
818  cpv.position(glog, sector, i + 1, DDTranslation(0.0, 0.0, 0.0), DDRotation());
819 
820 #ifdef EDM_ML_DEBUG
821  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << glog.name() << " number " << i + 1 << " positioned in "
822  << sector.name() << " at (0,0,0) with no rotation";
823 #endif
824 
825  if (getModType(i) == 0)
826  constructInsideModule0(glog, i, cpv);
827  else
828  constructInsideModule(glog, i, cpv);
829  }
830  }
831 }

References zMuMuMuonUserData::alpha, constructInsideModule(), constructInsideModule0(), angle_units::operators::convertRadToDeg(), DDSplit(), equipModule(), dqmdumpme::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.

1172  {
1174  DDMaterial matter(matname);
1175  std::string name = idName + "Scintillator" + nm;
1176 
1177  DDSolid solid = DDSolidFactory::trap(DDName(name, idNameSpace), 0.5 * dz, 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
1178 
1179 #ifdef EDM_ML_DEBUG
1180  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << DDName(name, idNameSpace) << " Trap made of " << getScintMat()
1181  << " of dimensions " << 0.5 * dz << ", 0, 0, " << yh << ", " << bl << ", " << tl << ", "
1182  << convertRadToDeg(alp) << ", " << yh << ", " << bl << ", " << tl << ", "
1183  << convertRadToDeg(alp);
1184 #endif
1185 
1186  DDLogicalPart glog(solid.ddname(), matter, solid);
1187 
1188  cpv.position(glog, detector, id, DDTranslation(0, 0, 0), DDRotation());
1189 
1190 #ifdef EDM_ML_DEBUG
1191  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << glog.name() << " number " << id << " positioned in "
1192  << detector.name() << " at (0,0,0) with no rotation";
1193 #endif
1194 }

References angle_units::operators::convertRadToDeg(), DDBase< N, C >::ddname(), DDSplit(), hgcalTestNeighbor_cfi::detector, PVValHelper::dz, dqmdumpme::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

Definition at line 41 of file DDHCalEndcapAlgo.cc.

41 { return eModule[i]; }

References mps_fire::i.

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ execute()

void DDHCalEndcapAlgo::execute ( DDCompactView cpv)
override

Definition at line 541 of file DDHCalEndcapAlgo.cc.

541  {
542 #ifdef EDM_ML_DEBUG
543  edm::LogVerbatim("HCalGeom") << "==>> Constructing DDHCalEndcapAlgo...";
544 #endif
545 
547 
548 #ifdef EDM_ML_DEBUG
549  edm::LogVerbatim("HCalGeom") << "<<== End of DDHCalEndcapAlgo construction ...";
550 #endif
551 }

References constructGeneralVolume().

◆ getAbsMat()

const std::string& DDHCalEndcapAlgo::getAbsMat ( ) const
inline

Definition at line 69 of file DDHCalEndcapAlgo.cc.

69 { return absMat; }

Referenced by constructGeneralVolume(), and constructInsideModule0().

◆ getAngBot()

double DDHCalEndcapAlgo::getAngBot ( ) const
inline

◆ getAngGap()

double DDHCalEndcapAlgo::getAngGap ( ) const
inline

Definition at line 66 of file DDHCalEndcapAlgo.cc.

66 { return angGap; }

◆ getAngTop()

double DDHCalEndcapAlgo::getAngTop ( ) const
inline

◆ getDrEnd()

double DDHCalEndcapAlgo::getDrEnd ( ) const
inline

Definition at line 63 of file DDHCalEndcapAlgo.cc.

63 { return drEnd; }

Referenced by constructGeneralVolume().

◆ getDzShift()

double DDHCalEndcapAlgo::getDzShift ( ) const
inline

Definition at line 55 of file DDHCalEndcapAlgo.cc.

55 { return dzShift; }

Referenced by constructGeneralVolume().

◆ getDzStep()

double DDHCalEndcapAlgo::getDzStep ( ) const
inline

Definition at line 54 of file DDHCalEndcapAlgo.cc.

54 { return dzStep; }

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getEndcaps()

int DDHCalEndcapAlgo::getEndcaps ( ) const
inline

Definition at line 40 of file DDHCalEndcapAlgo.cc.

40 { return nEndcap; }

Referenced by constructGeneralVolume().

◆ getGenMat()

const std::string& DDHCalEndcapAlgo::getGenMat ( ) const
inline

Definition at line 36 of file DDHCalEndcapAlgo.cc.

36 { return genMaterial; }

Referenced by constructGeneralVolume(), and constructInsideModule().

◆ getHeboxDepth()

double DDHCalEndcapAlgo::getHeboxDepth ( ) const
inline

Definition at line 62 of file DDHCalEndcapAlgo.cc.

62 { return heboxDepth; }

◆ getLayer()

int DDHCalEndcapAlgo::getLayer ( unsigned int  i,
unsigned int  j 
) const

Definition at line 259 of file DDHCalEndcapAlgo.cc.

259  {
260  switch (i) {
261  case 0:
262  return layerN0[j];
263  break;
264 
265  case 1:
266  return layerN1[j];
267  break;
268 
269  case 2:
270  return layerN2[j];
271  break;
272 
273  case 3:
274  return layerN3[j];
275  break;
276 
277  case 4:
278  return layerN4[j];
279  break;
280 
281  case 5:
282  return layerN5[j];
283  break;
284 
285  default:
286  return 0;
287  }
288 }

References mps_fire::i, dqmiolumiharvest::j, layerN0, layerN1, layerN2, layerN3, layerN4, and layerN5.

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getLayerN()

int DDHCalEndcapAlgo::getLayerN ( unsigned int  i) const
inline

Definition at line 75 of file DDHCalEndcapAlgo.cc.

75 { return layerN[i]; }

References mps_fire::i.

Referenced by constructInsideModule().

◆ getLayerName()

const std::string& DDHCalEndcapAlgo::getLayerName ( unsigned int  i) const
inline

Definition at line 89 of file DDHCalEndcapAlgo.cc.

89 { return layerName[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getLayers()

int DDHCalEndcapAlgo::getLayers ( ) const
inline

Definition at line 88 of file DDHCalEndcapAlgo.cc.

88 { return layers; }

References hgcalTopologyTester_cfi::layers.

◆ getLayerT()

double DDHCalEndcapAlgo::getLayerT ( unsigned int  i) const
inline

Definition at line 91 of file DDHCalEndcapAlgo.cc.

91 { return layerT[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), constructInsideModule0(), and parameterLayer0().

◆ getLayerType()

int DDHCalEndcapAlgo::getLayerType ( unsigned int  i) const
inline

Definition at line 90 of file DDHCalEndcapAlgo.cc.

90 { return layerType[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getModMat()

const std::string& DDHCalEndcapAlgo::getModMat ( unsigned int  i) const
inline

Definition at line 72 of file DDHCalEndcapAlgo.cc.

72 { return modMat[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getModName()

const std::string& DDHCalEndcapAlgo::getModName ( unsigned int  i) const
inline

Definition at line 71 of file DDHCalEndcapAlgo.cc.

71 { return modName[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), constructInsideModule0(), and constructInsideSector().

◆ getModType()

int DDHCalEndcapAlgo::getModType ( unsigned int  i) const
inline

Definition at line 73 of file DDHCalEndcapAlgo.cc.

73 { return modType[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getModules()

int DDHCalEndcapAlgo::getModules ( ) const
inline

Definition at line 70 of file DDHCalEndcapAlgo.cc.

70 { return modules; }

References LogMessageMonitor_cff::modules.

Referenced by constructInsideSector().

◆ getNsectors()

int DDHCalEndcapAlgo::getNsectors ( ) const
inline

◆ getNsectortot()

int DDHCalEndcapAlgo::getNsectortot ( ) const
inline

Definition at line 39 of file DDHCalEndcapAlgo.cc.

39 { return nsectortot; }

Referenced by constructGeneralVolume().

◆ getPhi()

int DDHCalEndcapAlgo::getPhi ( ) const
inline

Definition at line 86 of file DDHCalEndcapAlgo.cc.

86 { return phiSections; }

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getPhiName()

const std::string& DDHCalEndcapAlgo::getPhiName ( unsigned int  i) const
inline

Definition at line 87 of file DDHCalEndcapAlgo.cc.

87 { return phiName[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getPlastMat()

const std::string& DDHCalEndcapAlgo::getPlastMat ( ) const
inline

Definition at line 93 of file DDHCalEndcapAlgo.cc.

93 { return plastMat; }

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getRinBlock1()

double DDHCalEndcapAlgo::getRinBlock1 ( unsigned  i) const
inline

Definition at line 81 of file DDHCalEndcapAlgo.cc.

81 { return rinBlock1[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getRinBlock2()

double DDHCalEndcapAlgo::getRinBlock2 ( unsigned  i) const
inline

Definition at line 82 of file DDHCalEndcapAlgo.cc.

82 { return rinBlock2[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getRinDip()

double DDHCalEndcapAlgo::getRinDip ( ) const
inline

Definition at line 60 of file DDHCalEndcapAlgo.cc.

60 { return riDip; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ getRinKink()

double DDHCalEndcapAlgo::getRinKink ( ) const
inline

Definition at line 59 of file DDHCalEndcapAlgo.cc.

59 { return riKink; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ getRotation()

const std::string& DDHCalEndcapAlgo::getRotation ( ) const
inline

Definition at line 37 of file DDHCalEndcapAlgo.cc.

37 { return rotation; }

References idealTransformation::rotation.

Referenced by constructGeneralVolume().

◆ getRotMat()

const std::string& DDHCalEndcapAlgo::getRotMat ( ) const
inline

Definition at line 95 of file DDHCalEndcapAlgo.cc.

95 { return rotmat; }

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getRout()

double DDHCalEndcapAlgo::getRout ( ) const
inline

Definition at line 58 of file DDHCalEndcapAlgo.cc.

58 { return rout; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ getRoutBlock1()

double DDHCalEndcapAlgo::getRoutBlock1 ( unsigned  i) const
inline

Definition at line 83 of file DDHCalEndcapAlgo.cc.

83 { return routBlock1[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getRoutBlock2()

double DDHCalEndcapAlgo::getRoutBlock2 ( unsigned  i) const
inline

Definition at line 84 of file DDHCalEndcapAlgo.cc.

84 { return routBlock2[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), and constructInsideSector().

◆ getRoutDip()

double DDHCalEndcapAlgo::getRoutDip ( ) const
inline

Definition at line 61 of file DDHCalEndcapAlgo.cc.

61 { return roDip; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ getScintMat()

const std::string& DDHCalEndcapAlgo::getScintMat ( ) const
inline

Definition at line 94 of file DDHCalEndcapAlgo.cc.

94 { return scintMat; }

Referenced by constructScintLayer().

◆ getScintT()

double DDHCalEndcapAlgo::getScintT ( unsigned int  i) const
inline

Definition at line 92 of file DDHCalEndcapAlgo.cc.

92 { return scintT[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getSectionModule()

int DDHCalEndcapAlgo::getSectionModule ( unsigned  i) const
inline

Definition at line 74 of file DDHCalEndcapAlgo.cc.

74 { return sectionModule[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getSlope()

double DDHCalEndcapAlgo::getSlope ( ) const
inline

◆ getThick()

double DDHCalEndcapAlgo::getThick ( unsigned int  i) const
inline

Definition at line 77 of file DDHCalEndcapAlgo.cc.

77 { return thick[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), and constructInsideModule0().

◆ getTolAbs()

double DDHCalEndcapAlgo::getTolAbs ( ) const
inline

Definition at line 97 of file DDHCalEndcapAlgo.cc.

97 { return tolAbs; }

Referenced by constructInsideModule0().

◆ getTolPos()

double DDHCalEndcapAlgo::getTolPos ( ) const
inline

Definition at line 96 of file DDHCalEndcapAlgo.cc.

96 { return tolPos; }

◆ getTrim()

double DDHCalEndcapAlgo::getTrim ( unsigned int  i,
unsigned int  j 
) const

Definition at line 290 of file DDHCalEndcapAlgo.cc.

290  {
291  if (j == 0)
292  return trimLeft[i];
293  else
294  return trimRight[j];
295 }

References mps_fire::i, dqmiolumiharvest::j, trimLeft, and trimRight.

Referenced by constructInsideModule(), and parameterLayer0().

◆ getZ0Beam()

double DDHCalEndcapAlgo::getZ0Beam ( ) const
inline

Definition at line 51 of file DDHCalEndcapAlgo.cc.

51 { return z0Beam; }

◆ getZ1Beam()

double DDHCalEndcapAlgo::getZ1Beam ( ) const
inline

◆ getZEnd()

double DDHCalEndcapAlgo::getZEnd ( ) const
inline

Definition at line 45 of file DDHCalEndcapAlgo.cc.

45 { return zEnd; }

Referenced by constructGeneralVolume().

◆ getZFront()

double DDHCalEndcapAlgo::getZFront ( ) const
inline

Definition at line 44 of file DDHCalEndcapAlgo.cc.

44 { return zFront; }

Referenced by constructGeneralVolume().

◆ getZiBody()

double DDHCalEndcapAlgo::getZiBody ( ) const
inline

Definition at line 48 of file DDHCalEndcapAlgo.cc.

48 { return ziBody; }

Referenced by constructGeneralVolume().

◆ getZiDip()

double DDHCalEndcapAlgo::getZiDip ( ) const
inline

Definition at line 53 of file DDHCalEndcapAlgo.cc.

53 { return ziDip; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ getZiKink()

double DDHCalEndcapAlgo::getZiKink ( ) const
inline

Definition at line 50 of file DDHCalEndcapAlgo.cc.

50 { return ziKink; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ getZiL0Body()

double DDHCalEndcapAlgo::getZiL0Body ( ) const
inline

Definition at line 49 of file DDHCalEndcapAlgo.cc.

49 { return ziL0Body; }

Referenced by constructGeneralVolume().

◆ getZiL0Nose()

double DDHCalEndcapAlgo::getZiL0Nose ( ) const
inline

Definition at line 47 of file DDHCalEndcapAlgo.cc.

47 { return ziL0Nose; }

◆ getZiNose()

double DDHCalEndcapAlgo::getZiNose ( ) const
inline

Definition at line 46 of file DDHCalEndcapAlgo.cc.

46 { return ziNose; }

◆ getZmaxBlock()

double DDHCalEndcapAlgo::getZmaxBlock ( unsigned  i) const
inline

Definition at line 80 of file DDHCalEndcapAlgo.cc.

80 { return zmaxBlock[i]; }

References mps_fire::i.

Referenced by constructInsideSector(), and parameterLayer0().

◆ getZminBlock()

double DDHCalEndcapAlgo::getZminBlock ( unsigned  i) const
inline

Definition at line 79 of file DDHCalEndcapAlgo.cc.

79 { return zminBlock[i]; }

References mps_fire::i.

Referenced by constructInsideModule(), constructInsideModule0(), constructInsideSector(), and parameterLayer0().

◆ getZShift()

double DDHCalEndcapAlgo::getZShift ( ) const
inline

Definition at line 42 of file DDHCalEndcapAlgo.cc.

42 { return zShift; }

Referenced by constructGeneralVolume().

◆ getZShiftHac2()

double DDHCalEndcapAlgo::getZShiftHac2 ( ) const
inline

Definition at line 56 of file DDHCalEndcapAlgo.cc.

56 { return zShiftHac2; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ initialize()

void DDHCalEndcapAlgo::initialize ( const DDNumericArguments nArgs,
const DDVectorArguments vArgs,
const DDMapArguments mArgs,
const DDStringArguments sArgs,
const DDStringVectorArguments vsArgs 
)
override

Definition at line 297 of file DDHCalEndcapAlgo.cc.

301  {
302  genMaterial = sArgs["MaterialName"];
303  rotation = sArgs["Rotation"];
304  nsectors = int(nArgs["Sector"]);
305  nsectortot = int(nArgs["SectorTot"]);
306  nEndcap = int(nArgs["Endcap"]);
307  rotHalf = sArgs["RotHalf"];
308  rotns = sArgs["RotNameSpace"];
309  zShift = nArgs["ZShift"];
310 
311  zFront = nArgs["ZFront"];
312  zEnd = nArgs["ZEnd"];
313  ziNose = nArgs["ZiNose"];
314  ziL0Nose = nArgs["ZiL0Nose"];
315  ziBody = nArgs["ZiBody"];
316  ziL0Body = nArgs["ZiL0Body"];
317  z0Beam = nArgs["Z0Beam"];
318  ziDip = nArgs["ZiDip"];
319  dzStep = nArgs["DzStep"];
320  zShiftHac2 = nArgs["ZShiftHac2"];
321  double gap = nArgs["Gap"];
322  double z1 = nArgs["Z1"];
323  double r1 = nArgs["R1"];
324  rout = nArgs["Rout"];
325  heboxDepth = nArgs["HEboxDepth"];
326  drEnd = nArgs["DrEnd"];
327  double etamin = nArgs["Etamin"];
328  angBot = nArgs["AngBot"];
329  angGap = nArgs["AngGap"];
330 
331 #ifdef EDM_ML_DEBUG
332  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: General material " << genMaterial << "\tSectors " << nsectors
333  << ", " << nsectortot << "\tEndcaps " << nEndcap << "\tRotation matrix for half "
334  << rotns << ":" << rotHalf << "\n\tzFront " << zFront << " zEnd " << zEnd << " ziNose "
335  << ziNose << " ziL0Nose " << ziL0Nose << " ziBody " << ziBody << " ziL0Body " << ziL0Body
336  << " z0Beam " << z0Beam << " ziDip " << ziDip << " dzStep " << dzStep << " Gap " << gap
337  << " z1 " << z1 << "\n\tr1 " << r1 << " rout " << rout << " HeboxDepth " << heboxDepth
338  << " drEnd " << drEnd << "\tetamin " << etamin << " Bottom angle " << angBot
339  << " Gap angle " << angGap << " Z-Shift " << zShift << " " << zShiftHac2;
340 #endif
341 
342  //Derived quantities
343  angTop = 2.0 * atan(exp(-etamin));
344  slope = tan(angGap);
345  z1Beam = z1 - r1 / slope;
346  ziKink = z1Beam + rout / slope;
347  riKink = ziKink * tan(angBot);
348  riDip = ziDip * tan(angBot);
349  roDip = rout - heboxDepth;
350  dzShift = (z1Beam - z0Beam) - gap / sin(angGap);
351 
352 #ifdef EDM_ML_DEBUG
353  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: angTop " << convertRadToDeg(angTop) << "\tSlope " << slope
354  << "\tDzShift " << dzShift << "\n\tz1Beam " << z1Beam << "\tziKink" << ziKink
355  << "\triKink " << riKink << "\triDip " << riDip << "\n\troDip " << roDip << "\tRotation "
356  << rotation;
357 #endif
358 
360  //Modules
361  absMat = sArgs["AbsMat"];
362  modules = int(nArgs["Modules"]);
363 
364 #ifdef EDM_ML_DEBUG
365  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Number of modules " << modules << " and absorber material "
366  << absMat;
367 #endif
368 
369  modName = vsArgs["ModuleName"];
370  modMat = vsArgs["ModuleMat"];
371  modType = dbl_to_int(vArgs["ModuleType"]);
372  sectionModule = dbl_to_int(vArgs["SectionModule"]);
373  thick = vArgs["ModuleThick"];
374  trimLeft = vArgs["TrimLeft"];
375  trimRight = vArgs["TrimRight"];
376  eModule = dbl_to_int(vArgs["EquipModule"]);
377  layerN = dbl_to_int(vArgs["LayerN"]);
378  layerN0 = dbl_to_int(vArgs["LayerN0"]);
379  layerN1 = dbl_to_int(vArgs["LayerN1"]);
380  layerN2 = dbl_to_int(vArgs["LayerN2"]);
381  layerN3 = dbl_to_int(vArgs["LayerN3"]);
382  layerN4 = dbl_to_int(vArgs["LayerN4"]);
383  layerN5 = dbl_to_int(vArgs["LayerN5"]);
384 
385 #ifdef EDM_ML_DEBUG
386  for (int i = 0; i < modules; i++) {
387  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: " << modName[i] << " type " << modType[i] << " Sections "
388  << sectionModule[i] << " thickness of absorber/air " << thick[i] << " trim "
389  << trimLeft[i] << ", " << trimRight[i] << " equip module " << eModule[i] << " with "
390  << layerN[i] << " layers";
391  if (i == 0) {
392  for (int j = 0; j < layerN[i]; j++) {
393  edm::LogVerbatim("HCalGeom") << "\t " << layerN0[j] << "/" << layerN0[j + 1];
394  }
395  } else if (i == 1) {
396  for (int j = 0; j < layerN[i]; j++) {
397  edm::LogVerbatim("HCalGeom") << "\t " << layerN1[j] << "/" << layerN1[j + 1];
398  }
399  } else if (i == 2) {
400  for (int j = 0; j < layerN[i]; j++) {
401  edm::LogVerbatim("HCalGeom") << "\t " << layerN2[j];
402  }
403  } else if (i == 3) {
404  for (int j = 0; j < layerN[i]; j++) {
405  edm::LogVerbatim("HCalGeom") << "\t " << layerN3[j];
406  }
407  } else if (i == 4) {
408  for (int j = 0; j < layerN[i]; j++) {
409  edm::LogVerbatim("HCalGeom") << "\t " << layerN4[j];
410  }
411  } else if (i == 5) {
412  for (int j = 0; j < layerN[i]; j++) {
413  edm::LogVerbatim("HCalGeom") << "\t " << layerN5[j];
414  }
415  }
416  }
417 #endif
418 
420  //Layers
421  phiSections = int(nArgs["PhiSections"]);
422  phiName = vsArgs["PhiName"];
423  layers = int(nArgs["Layers"]);
424  layerName = vsArgs["LayerName"];
425  layerType = dbl_to_int(vArgs["LayerType"]);
426  layerT = vArgs["LayerT"];
427  scintT = vArgs["ScintT"];
428  scintMat = sArgs["ScintMat"];
429  plastMat = sArgs["PlastMat"];
430  rotmat = sArgs["RotMat"];
431 
432 #ifdef EDM_ML_DEBUG
433  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Phi Sections " << phiSections;
434  for (int i = 0; i < phiSections; i++)
435  edm::LogVerbatim("HCalGeom") << "\tName[" << i << "] : " << phiName[i];
436  edm::LogVerbatim("HCalGeom") << "\tPlastic: " << plastMat << "\tScintillator: " << scintMat << "\tRotation matrix "
437  << rotns << ":" << rotmat << "\n\tNumber of layers " << layers;
438  for (int i = 0; i < layers; i++) {
439  edm::LogVerbatim("HCalGeom") << "\t" << layerName[i] << "\tType " << layerType[i] << "\tThickness " << layerT[i]
440  << "\tScint.Thick " << scintT[i];
441  }
442 #endif
443 
445  // Derive bounding of the modules
446  int module = 0;
447  // Layer 0 (Nose)
448  if (modules > 0) {
449  zminBlock.emplace_back(ziL0Nose);
450  zmaxBlock.emplace_back(zminBlock[module] + layerT[0] + 0.5 * dzStep);
451  rinBlock1.emplace_back(zminBlock[module] * tan(angTop));
452  rinBlock2.emplace_back(zmaxBlock[module] * tan(angTop));
453  routBlock1.emplace_back((zminBlock[module] - z1Beam) * slope);
454  routBlock2.emplace_back((zmaxBlock[module] - z1Beam) * slope);
455  module++;
456  }
457 
458  // Layer 0 (Body)
459  if (modules > 1) {
460  zminBlock.emplace_back(ziL0Body);
461  zmaxBlock.emplace_back(zminBlock[module] + layerT[0] + 0.5 * dzStep);
462  rinBlock1.emplace_back(zminBlock[module] * tan(angBot));
463  rinBlock2.emplace_back(zmaxBlock[module] * tan(angBot));
464  routBlock1.emplace_back(zminBlock[module] * tan(angTop));
465  routBlock2.emplace_back(zmaxBlock[module] * tan(angTop));
466  module++;
467  }
468 
469  // Hac1
470  if (modules > 2) {
471  zminBlock.emplace_back(ziNose);
472  zmaxBlock.emplace_back(ziBody);
473  rinBlock1.emplace_back(zminBlock[module] * tan(angTop));
474  rinBlock2.emplace_back(zmaxBlock[module] * tan(angTop));
475  routBlock1.emplace_back((zminBlock[module] - z1Beam) * slope);
476  routBlock2.emplace_back((zmaxBlock[module] - z1Beam) * slope);
477  module++;
478  }
479 
480  // Hac2
481  if (modules > 3) {
482  zminBlock.emplace_back(ziBody);
483  zmaxBlock.emplace_back(zminBlock[module] + layerN[3] * dzStep);
484  rinBlock1.emplace_back(zminBlock[module] * tan(angBot));
485  rinBlock2.emplace_back(zmaxBlock[module] * tan(angBot));
486  routBlock1.emplace_back((zmaxBlock[module - 1] - z1Beam) * slope);
487  routBlock2.emplace_back(rout);
488  module++;
489  }
490 
491  // Hac3
492  if (modules > 4) {
493  zminBlock.emplace_back(zmaxBlock[module - 1]);
494  zmaxBlock.emplace_back(zminBlock[module] + layerN[4] * dzStep);
495  rinBlock1.emplace_back(zminBlock[module] * tan(angBot));
496  rinBlock2.emplace_back(zmaxBlock[module] * tan(angBot));
497  routBlock1.emplace_back(rout);
498  routBlock2.emplace_back(rout);
499  module++;
500  }
501 
502  // Hac4
503  if (modules > 5) {
504  zminBlock.emplace_back(zmaxBlock[module - 1]);
505  zmaxBlock.emplace_back(zminBlock[module] + layerN[5] * dzStep);
506  rinBlock1.emplace_back(zminBlock[module] * tan(angBot));
507  rinBlock2.emplace_back(zmaxBlock[module] * tan(angBot));
508  routBlock1.emplace_back(rout);
509  routBlock2.emplace_back(roDip);
510  module++;
511  }
512 
513 #ifdef EDM_ML_DEBUG
514  for (int i = 0; i < module; i++)
515  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Module " << i << "\tZ/Rin/Rout " << zminBlock[i] << ", "
516  << zmaxBlock[i] << "/ " << rinBlock1[i] << ", " << rinBlock2[i] << "/ "
517  << routBlock1[i] << ", " << routBlock2[i];
518 #endif
519 
520  idName = sArgs["MotherName"];
522  idOffset = int(nArgs["IdOffset"]);
523 
524 #ifdef EDM_ML_DEBUG
525  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Parent " << parent().name() << " idName " << idName
526  << " NameSpace " << idNameSpace << " Offset " << idOffset;
527 #endif
528 
529  tolPos = nArgs["TolPos"];
530  tolAbs = nArgs["TolAbs"];
531 
532 #ifdef EDM_ML_DEBUG
533  edm::LogVerbatim("HCalGeom") << "DDHCalEndcapAlgo: Tolerances - Positioning " << tolPos << " Absorber " << tolAbs;
534 #endif
535 }

References absMat, angBot, angGap, angTop, angle_units::operators::convertRadToDeg(), dbl_to_int(), drEnd, dzShift, dzStep, eModule, muonTiming_cfi::etamin, JetChargeProducer_cfi::exp, HLT_2018_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, 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.

908  {
909  //Given rin, rout compute parameters of the trapezoid and
910  //position of the trapezoid for a standrd layer
911  double alpha = (1._pi) / getNsectors();
912 
913 #ifdef EDM_ML_DEBUG
914  edm::LogVerbatim("HCalGeom") << "Input " << iphi << " Front " << rinF << " " << routF << " " << zi << " Back " << rinB
915  << " " << routB << " " << zo << " Alpha " << convertRadToDeg(alpha);
916 #endif
917 
918  yh1 = 0.5 * (routF - rinB);
919  bl1 = 0.5 * rinB * tan(alpha);
920  tl1 = 0.5 * routF * tan(alpha);
921  yh2 = 0.5 * (routF - rinB);
922  bl2 = 0.5 * rinB * tan(alpha);
923  tl2 = 0.5 * routF * tan(alpha);
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);
929  alp = atan(0.5 * tan(alpha));
930  // ypos-= getTolPos();
931  if (iphi == 0) {
932  ypos = -ypos;
933  } else {
934  alp = -alp;
935  dx = -dx;
936  }
937  double r = sqrt(dx * dx + dy * dy);
938  theta = atan(r / (zo - zi));
939  phi = atan2(dy, dx);
940 
941 #ifdef EDM_ML_DEBUG
942  edm::LogVerbatim("HCalGeom") << "Output Dimensions " << yh1 << " " << bl1 << " " << tl1 << " " << yh2 << " " << bl2
943  << " " << tl2 << " " << convertRadToDeg(alp) << " " << convertRadToDeg(theta) << " "
944  << convertRadToDeg(phi) << " Position " << xpos << " " << ypos << " " << zpos;
945 #endif
946 }

References zMuMuMuonUserData::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.

842  {
843  //Given module and layer number compute parameters of trapezoid
844  //and positioning parameters
845  double alpha = (1._pi) / getNsectors();
846 
847 #ifdef EDM_ML_DEBUG
848  edm::LogVerbatim("HCalGeom") << "Input " << iphi << " " << layer << " " << iphi << " Alpha "
850 #endif
851 
852  double zi, zo;
853  if (iphi == 0) {
854  zi = getZminBlock(mod);
855  zo = zi + getLayerT(layer);
856  } else {
857  zo = getZmaxBlock(mod);
858  zi = zo - getLayerT(layer);
859  }
860  double rin, rout;
861  if (mod == 0) {
862  rin = zo * tan(getAngTop());
863  rout = (zi - getZ1Beam()) * getSlope();
864  } else {
865  rin = zo * tan(getAngBot());
866  rout = zi * tan(getAngTop());
867  }
868  yh = 0.5 * (rout - rin);
869  bl = 0.5 * rin * tan(alpha);
870  tl = 0.5 * rout * tan(alpha);
871  xpos = 0.5 * (rin + rout);
872  ypos = 0.5 * (bl + tl);
873  zpos = 0.5 * (zi + zo);
874  yh -= getTrim(mod, iphi);
875  bl -= getTrim(mod, iphi);
876  tl -= getTrim(mod, iphi);
877  alp = atan(0.5 * tan(alpha));
878  if (iphi == 0) {
879  ypos = -ypos;
880  } else {
881  alp = -alp;
882  }
883 
884 #ifdef EDM_ML_DEBUG
885  edm::LogVerbatim("HCalGeom") << "Output Dimensions " << yh << " " << bl << " " << tl << " " << convertRadToDeg(alp)
886  << " Position " << xpos << " " << ypos << " " << zpos;
887 #endif
888 }

References zMuMuMuonUserData::alpha, angle_units::operators::convertRadToDeg(), getAngBot(), getAngTop(), getLayerT(), getNsectors(), getSlope(), getTrim(), getZ1Beam(), getZmaxBlock(), getZminBlock(), LEDCalibrationChannels::iphi, mod(), rout, and funct::tan().

Referenced by constructInsideModule0().

Member Data Documentation

◆ absMat

std::string DDHCalEndcapAlgo::absMat
private

Definition at line 188 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ angBot

double DDHCalEndcapAlgo::angBot
private

Definition at line 184 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ angGap

double DDHCalEndcapAlgo::angGap
private

Definition at line 185 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ angTop

double DDHCalEndcapAlgo::angTop
private

Definition at line 183 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ drEnd

double DDHCalEndcapAlgo::drEnd
private

Definition at line 181 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ dzShift

double DDHCalEndcapAlgo::dzShift
private

Definition at line 173 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ dzStep

double DDHCalEndcapAlgo::dzStep
private

Definition at line 172 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ eModule

std::vector<int> DDHCalEndcapAlgo::eModule
private

Definition at line 156 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ genMaterial

std::string DDHCalEndcapAlgo::genMaterial
private

Definition at line 152 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ heboxDepth

double DDHCalEndcapAlgo::heboxDepth
private

Definition at line 180 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ idName

std::string DDHCalEndcapAlgo::idName
private

◆ idNameSpace

std::string DDHCalEndcapAlgo::idNameSpace
private

◆ idOffset

int DDHCalEndcapAlgo::idOffset
private

Definition at line 224 of file DDHCalEndcapAlgo.cc.

Referenced by constructInsideModule(), constructInsideModule0(), and initialize().

◆ layerN

std::vector<int> DDHCalEndcapAlgo::layerN
private

Definition at line 194 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ layerN0

std::vector<int> DDHCalEndcapAlgo::layerN0
private

Definition at line 195 of file DDHCalEndcapAlgo.cc.

Referenced by getLayer(), and initialize().

◆ layerN1

std::vector<int> DDHCalEndcapAlgo::layerN1
private

Definition at line 196 of file DDHCalEndcapAlgo.cc.

Referenced by getLayer(), and initialize().

◆ layerN2

std::vector<int> DDHCalEndcapAlgo::layerN2
private

Definition at line 197 of file DDHCalEndcapAlgo.cc.

Referenced by getLayer(), and initialize().

◆ layerN3

std::vector<int> DDHCalEndcapAlgo::layerN3
private

Definition at line 198 of file DDHCalEndcapAlgo.cc.

Referenced by getLayer(), and initialize().

◆ layerN4

std::vector<int> DDHCalEndcapAlgo::layerN4
private

Definition at line 199 of file DDHCalEndcapAlgo.cc.

Referenced by getLayer(), and initialize().

◆ layerN5

std::vector<int> DDHCalEndcapAlgo::layerN5
private

Definition at line 200 of file DDHCalEndcapAlgo.cc.

Referenced by getLayer(), and initialize().

◆ layerName

std::vector<std::string> DDHCalEndcapAlgo::layerName
private

Definition at line 214 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ layers

int DDHCalEndcapAlgo::layers
private

Definition at line 213 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ layerT

std::vector<double> DDHCalEndcapAlgo::layerT
private

Definition at line 216 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ layerType

std::vector<int> DDHCalEndcapAlgo::layerType
private

Definition at line 215 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ modMat

std::vector<std::string> DDHCalEndcapAlgo::modMat
private

Definition at line 191 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ modName

std::vector<std::string> DDHCalEndcapAlgo::modName
private

Definition at line 190 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ modType

std::vector<int> DDHCalEndcapAlgo::modType
private

Definition at line 192 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ modules

int DDHCalEndcapAlgo::modules
private

Definition at line 189 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ nEndcap

int DDHCalEndcapAlgo::nEndcap
private

Definition at line 155 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ nsectors

int DDHCalEndcapAlgo::nsectors
private

Definition at line 153 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ nsectortot

int DDHCalEndcapAlgo::nsectortot
private

Definition at line 154 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ phiName

std::vector<std::string> DDHCalEndcapAlgo::phiName
private

Definition at line 212 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ phiSections

int DDHCalEndcapAlgo::phiSections
private

Definition at line 211 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ plastMat

std::string DDHCalEndcapAlgo::plastMat
private

Definition at line 218 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ riDip

double DDHCalEndcapAlgo::riDip
private

Definition at line 178 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ riKink

double DDHCalEndcapAlgo::riKink
private

Definition at line 177 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ rinBlock1

std::vector<double> DDHCalEndcapAlgo::rinBlock1
private

Definition at line 206 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ rinBlock2

std::vector<double> DDHCalEndcapAlgo::rinBlock2
private

Definition at line 208 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ roDip

double DDHCalEndcapAlgo::roDip
private

Definition at line 179 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ rotation

std::string DDHCalEndcapAlgo::rotation
private

Definition at line 159 of file DDHCalEndcapAlgo.cc.

Referenced by constructGeneralVolume(), and initialize().

◆ rotHalf

std::string DDHCalEndcapAlgo::rotHalf
private

Definition at line 157 of file DDHCalEndcapAlgo.cc.

Referenced by constructGeneralVolume(), and initialize().

◆ rotmat

std::string DDHCalEndcapAlgo::rotmat
private

Definition at line 220 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ rotns

std::string DDHCalEndcapAlgo::rotns
private

◆ rout

double DDHCalEndcapAlgo::rout
private

Definition at line 176 of file DDHCalEndcapAlgo.cc.

Referenced by initialize(), and parameterLayer0().

◆ routBlock1

std::vector<double> DDHCalEndcapAlgo::routBlock1
private

Definition at line 207 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ routBlock2

std::vector<double> DDHCalEndcapAlgo::routBlock2
private

Definition at line 209 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ scintMat

std::string DDHCalEndcapAlgo::scintMat
private

Definition at line 219 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ scintT

std::vector<double> DDHCalEndcapAlgo::scintT
private

Definition at line 217 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ sectionModule

std::vector<int> DDHCalEndcapAlgo::sectionModule
private

Definition at line 193 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ slope

double DDHCalEndcapAlgo::slope
private

Definition at line 186 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ thick

std::vector<double> DDHCalEndcapAlgo::thick
private

Definition at line 201 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ tolAbs

double DDHCalEndcapAlgo::tolAbs
private

Definition at line 226 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ tolPos

double DDHCalEndcapAlgo::tolPos
private

Definition at line 226 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ trimLeft

std::vector<double> DDHCalEndcapAlgo::trimLeft
private

Definition at line 202 of file DDHCalEndcapAlgo.cc.

Referenced by getTrim(), and initialize().

◆ trimRight

std::vector<double> DDHCalEndcapAlgo::trimRight
private

Definition at line 203 of file DDHCalEndcapAlgo.cc.

Referenced by getTrim(), and initialize().

◆ z0Beam

double DDHCalEndcapAlgo::z0Beam
private

Definition at line 169 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ z1Beam

double DDHCalEndcapAlgo::z1Beam
private

Definition at line 170 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ zEnd

double DDHCalEndcapAlgo::zEnd
private

Definition at line 163 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ zFront

double DDHCalEndcapAlgo::zFront
private

Definition at line 162 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ ziBody

double DDHCalEndcapAlgo::ziBody
private

Definition at line 166 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ ziDip

double DDHCalEndcapAlgo::ziDip
private

Definition at line 171 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ ziKink

double DDHCalEndcapAlgo::ziKink
private

Definition at line 168 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ ziL0Body

double DDHCalEndcapAlgo::ziL0Body
private

Definition at line 167 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ ziL0Nose

double DDHCalEndcapAlgo::ziL0Nose
private

Definition at line 165 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ ziNose

double DDHCalEndcapAlgo::ziNose
private

Definition at line 164 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ zmaxBlock

std::vector<double> DDHCalEndcapAlgo::zmaxBlock
private

Definition at line 205 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ zminBlock

std::vector<double> DDHCalEndcapAlgo::zminBlock
private

Definition at line 204 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ zShift

double DDHCalEndcapAlgo::zShift
private

Definition at line 160 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

◆ zShiftHac2

double DDHCalEndcapAlgo::zShiftHac2
private

Definition at line 174 of file DDHCalEndcapAlgo.cc.

Referenced by initialize().

DDHCalEndcapAlgo::getZiBody
double getZiBody() const
Definition: DDHCalEndcapAlgo.cc:48
DDHCalEndcapAlgo::plastMat
std::string plastMat
Definition: DDHCalEndcapAlgo.cc:218
DDHCalEndcapAlgo::modules
int modules
Definition: DDHCalEndcapAlgo.cc:189
mps_fire.i
i
Definition: mps_fire.py:355
DDHCalEndcapAlgo::tolPos
double tolPos
Definition: DDHCalEndcapAlgo.cc:226
DDHCalEndcapAlgo::getRinBlock1
double getRinBlock1(unsigned i) const
Definition: DDHCalEndcapAlgo.cc:81
DDrot
DDRotation DDrot(const DDName &name, std::unique_ptr< DDRotationMatrix > rot)
Definition of a uniquely identifiable rotation matrix named by DDName name.
Definition: DDRotation.cc:67
DDHCalEndcapAlgo::getRinBlock2
double getRinBlock2(unsigned i) const
Definition: DDHCalEndcapAlgo.cc:82
DDName
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
DDHCalEndcapAlgo::getZiKink
double getZiKink() const
Definition: DDHCalEndcapAlgo.cc:50
DDHCalEndcapAlgo::scintMat
std::string scintMat
Definition: DDHCalEndcapAlgo.cc:219
DDHCalEndcapAlgo::getLayerT
double getLayerT(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:91
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
modules
Definition: ZHLTMatchFilter.cc:17
DDHCalEndcapAlgo::getZmaxBlock
double getZmaxBlock(unsigned i) const
Definition: DDHCalEndcapAlgo.cc:80
angle_units::operators::convertRadToDeg
constexpr NumType convertRadToDeg(NumType radians)
Definition: angle_units.h:21
DDHCalEndcapAlgo::rinBlock2
std::vector< double > rinBlock2
Definition: DDHCalEndcapAlgo.cc:208
DDHCalEndcapAlgo::rotmat
std::string rotmat
Definition: DDHCalEndcapAlgo.cc:220
DDHCalEndcapAlgo::getScintMat
const std::string & getScintMat() const
Definition: DDHCalEndcapAlgo.cc:94
mod
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
formatAsDegreesInInteger
std::string formatAsDegreesInInteger(double radianVal)
Definition: DDTypes.cc:79
DDHCalEndcapAlgo::drEnd
double drEnd
Definition: DDHCalEndcapAlgo.cc:181
DDHCalEndcapAlgo::layerType
std::vector< int > layerType
Definition: DDHCalEndcapAlgo.cc:215
DDHCalEndcapAlgo::zEnd
double zEnd
Definition: DDHCalEndcapAlgo.cc:163
DDHCalEndcapAlgo::rinBlock1
std::vector< double > rinBlock1
Definition: DDHCalEndcapAlgo.cc:206
DDHCalEndcapAlgo::zShiftHac2
double zShiftHac2
Definition: DDHCalEndcapAlgo.cc:174
DDHCalEndcapAlgo::modName
std::vector< std::string > modName
Definition: DDHCalEndcapAlgo.cc:190
DDHCalEndcapAlgo::nsectors
int nsectors
Definition: DDHCalEndcapAlgo.cc:153
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
DDHCalEndcapAlgo::eModule
std::vector< int > eModule
Definition: DDHCalEndcapAlgo.cc:156
DDHCalEndcapAlgo::getTolAbs
double getTolAbs() const
Definition: DDHCalEndcapAlgo.cc:97
DDHCalEndcapAlgo::getPhi
int getPhi() const
Definition: DDHCalEndcapAlgo.cc:86
dbl_to_int
std::vector< int > dbl_to_int(const std::vector< double > &vecdbl)
Converts a std::vector of doubles to a std::vector of int.
Definition: DDutils.h:7
DDHCalEndcapAlgo::ziL0Nose
double ziL0Nose
Definition: DDHCalEndcapAlgo.cc:165
DDHCalEndcapAlgo::constructGeneralVolume
void constructGeneralVolume(DDCompactView &cpv)
Definition: DDHCalEndcapAlgo.cc:555
DDHCalEndcapAlgo::nsectortot
int nsectortot
Definition: DDHCalEndcapAlgo.cc:154
DDHCalEndcapAlgo::getAngBot
double getAngBot() const
Definition: DDHCalEndcapAlgo.cc:65
DDHCalEndcapAlgo::layerN
std::vector< int > layerN
Definition: DDHCalEndcapAlgo.cc:194
DDHCalEndcapAlgo::getModules
int getModules() const
Definition: DDHCalEndcapAlgo.cc:70
DDHCalEndcapAlgo::getRotation
const std::string & getRotation() const
Definition: DDHCalEndcapAlgo.cc:37
dqmdumpme.first
first
Definition: dqmdumpme.py:55
DDHCalEndcapAlgo::getLayerName
const std::string & getLayerName(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:89
DDHCalEndcapAlgo::getSlope
double getSlope() const
Definition: DDHCalEndcapAlgo.cc:67
muonTiming_cfi.etamin
etamin
Definition: muonTiming_cfi.py:30
DDHCalEndcapAlgo::getRotMat
const std::string & getRotMat() const
Definition: DDHCalEndcapAlgo.cc:95
DDHCalEndcapAlgo::constructInsideModule0
void constructInsideModule0(const DDLogicalPart &module, int mod, DDCompactView &cpv)
Definition: DDHCalEndcapAlgo.cc:948
DDHCalEndcapAlgo::getZ1Beam
double getZ1Beam() const
Definition: DDHCalEndcapAlgo.cc:52
DDHCalEndcapAlgo::getNsectortot
int getNsectortot() const
Definition: DDHCalEndcapAlgo.cc:39
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
DDHCalEndcapAlgo::getRoutBlock1
double getRoutBlock1(unsigned i) const
Definition: DDHCalEndcapAlgo.cc:83
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
DDHCalEndcapAlgo::getTrim
double getTrim(unsigned int i, unsigned int j) const
Definition: DDHCalEndcapAlgo.cc:290
DDHCalEndcapAlgo::getScintT
double getScintT(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:92
DDHCalEndcapAlgo::parameterLayer
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)
Definition: DDHCalEndcapAlgo.cc:890
DDHCalEndcapAlgo::z1Beam
double z1Beam
Definition: DDHCalEndcapAlgo.cc:170
DDHCalEndcapAlgo::thick
std::vector< double > thick
Definition: DDHCalEndcapAlgo.cc:201
DDMaterial
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:45
DDHCalEndcapAlgo::genMaterial
std::string genMaterial
Definition: DDHCalEndcapAlgo.cc:152
DDHCalEndcapAlgo::phiSections
int phiSections
Definition: DDHCalEndcapAlgo.cc:211
DDHCalEndcapAlgo::getModType
int getModType(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:73
DDHCalEndcapAlgo::slope
double slope
Definition: DDHCalEndcapAlgo.cc:186
DDSolidFactory::polyhedra
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)
Definition: DDSolid.cc:551
DDHCalEndcapAlgo::angGap
double angGap
Definition: DDHCalEndcapAlgo.cc:185
HLT_2018_cff.gap
gap
Definition: HLT_2018_cff.py:7186
DDHCalEndcapAlgo::getModName
const std::string & getModName(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:71
DDHCalEndcapAlgo::rotns
std::string rotns
Definition: DDHCalEndcapAlgo.cc:158
DDTranslation
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
DDHCalEndcapAlgo::getZiDip
double getZiDip() const
Definition: DDHCalEndcapAlgo.cc:53
DDHCalEndcapAlgo::getThick
double getThick(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:77
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
DDBase::name
const N & name() const
Definition: DDBase.h:59
DDHCalEndcapAlgo::trimRight
std::vector< double > trimRight
Definition: DDHCalEndcapAlgo.cc:203
DDHCalEndcapAlgo::layerN3
std::vector< int > layerN3
Definition: DDHCalEndcapAlgo.cc:198
DDHCalEndcapAlgo::roDip
double roDip
Definition: DDHCalEndcapAlgo.cc:179
DDHCalEndcapAlgo::getZShiftHac2
double getZShiftHac2() const
Definition: DDHCalEndcapAlgo.cc:56
DDHCalEndcapAlgo::getDzStep
double getDzStep() const
Definition: DDHCalEndcapAlgo.cc:54
DDHCalEndcapAlgo::getNsectors
int getNsectors() const
Definition: DDHCalEndcapAlgo.cc:38
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
DDHCalEndcapAlgo::getAbsMat
const std::string & getAbsMat() const
Definition: DDHCalEndcapAlgo.cc:69
DDHCalEndcapAlgo::rotation
std::string rotation
Definition: DDHCalEndcapAlgo.cc:159
dqmdumpme.k
k
Definition: dqmdumpme.py:60
DDHCalEndcapAlgo::scintT
std::vector< double > scintT
Definition: DDHCalEndcapAlgo.cc:217
DDHCalEndcapAlgo::rout
double rout
Definition: DDHCalEndcapAlgo.cc:176
DDHCalEndcapAlgo::getRoutBlock2
double getRoutBlock2(unsigned i) const
Definition: DDHCalEndcapAlgo.cc:84
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DDHCalEndcapAlgo::layerN2
std::vector< int > layerN2
Definition: DDHCalEndcapAlgo.cc:197
DDHCalEndcapAlgo::modType
std::vector< int > modType
Definition: DDHCalEndcapAlgo.cc:192
DDHCalEndcapAlgo::phiName
std::vector< std::string > phiName
Definition: DDHCalEndcapAlgo.cc:212
DDHCalEndcapAlgo::zFront
double zFront
Definition: DDHCalEndcapAlgo.cc:162
DDHCalEndcapAlgo::trimLeft
std::vector< double > trimLeft
Definition: DDHCalEndcapAlgo.cc:202
DDBase::ddname
const N & ddname() const
Definition: DDBase.h:61
DDHCalEndcapAlgo::layerT
std::vector< double > layerT
Definition: DDHCalEndcapAlgo.cc:216
DDHCalEndcapAlgo::ziDip
double ziDip
Definition: DDHCalEndcapAlgo.cc:171
DDHCalEndcapAlgo::riKink
double riKink
Definition: DDHCalEndcapAlgo.cc:177
DDHCalEndcapAlgo::getZFront
double getZFront() const
Definition: DDHCalEndcapAlgo.cc:44
DDHCalEndcapAlgo::routBlock1
std::vector< double > routBlock1
Definition: DDHCalEndcapAlgo.cc:207
DDLogicalPart
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Definition: DDLogicalPart.h:93
fact
const double fact
Definition: NuclearInteractionFTFSimulator.cc:74
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
createfilelist.int
int
Definition: createfilelist.py:10
DDHCalEndcapAlgo::getPlastMat
const std::string & getPlastMat() const
Definition: DDHCalEndcapAlgo.cc:93
DDHCalEndcapAlgo::ziBody
double ziBody
Definition: DDHCalEndcapAlgo.cc:166
edm::LogVerbatim
Definition: MessageLogger.h:297
DDHCalEndcapAlgo::idNameSpace
std::string idNameSpace
Definition: DDHCalEndcapAlgo.cc:223
DDHCalEndcapAlgo::layerN0
std::vector< int > layerN0
Definition: DDHCalEndcapAlgo.cc:195
PVValHelper::dy
Definition: PVValidationHelpers.h:49
DDHCalEndcapAlgo::constructInsideSector
void constructInsideSector(const DDLogicalPart &sector, DDCompactView &cpv)
Definition: DDHCalEndcapAlgo.cc:758
module
Definition: vlib.h:198
DDHCalEndcapAlgo::getGenMat
const std::string & getGenMat() const
Definition: DDHCalEndcapAlgo.cc:36
DDHCalEndcapAlgo::zShift
double zShift
Definition: DDHCalEndcapAlgo.cc:160
alignCSCRings.r
r
Definition: alignCSCRings.py:93
DDHCalEndcapAlgo::getRinDip
double getRinDip() const
Definition: DDHCalEndcapAlgo.cc:60
DDHCalEndcapAlgo::zmaxBlock
std::vector< double > zmaxBlock
Definition: DDHCalEndcapAlgo.cc:205
DDHCalEndcapAlgo::layers
int layers
Definition: DDHCalEndcapAlgo.cc:213
DDHCalEndcapAlgo::getZEnd
double getZEnd() const
Definition: DDHCalEndcapAlgo.cc:45
DDAxes::phi
DDHCalEndcapAlgo::heboxDepth
double heboxDepth
Definition: DDHCalEndcapAlgo.cc:180
DDHCalEndcapAlgo::rotHalf
std::string rotHalf
Definition: DDHCalEndcapAlgo.cc:157
DDHCalEndcapAlgo::getAngTop
double getAngTop() const
Definition: DDHCalEndcapAlgo.cc:64
DDHCalEndcapAlgo::getDzShift
double getDzShift() const
Definition: DDHCalEndcapAlgo.cc:55
DDHCalEndcapAlgo::getZShift
double getZShift() const
Definition: DDHCalEndcapAlgo.cc:42
DDHCalEndcapAlgo::getModMat
const std::string & getModMat(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:72
DDHCalEndcapAlgo::layerName
std::vector< std::string > layerName
Definition: DDHCalEndcapAlgo.cc:214
DDHCalEndcapAlgo::zminBlock
std::vector< double > zminBlock
Definition: DDHCalEndcapAlgo.cc:204
DDHCalEndcapAlgo::modMat
std::vector< std::string > modMat
Definition: DDHCalEndcapAlgo.cc:191
DDHCalEndcapAlgo::getRout
double getRout() const
Definition: DDHCalEndcapAlgo.cc:58
DDHCalEndcapAlgo::layerN1
std::vector< int > layerN1
Definition: DDHCalEndcapAlgo.cc:196
DDHCalEndcapAlgo::getSectionModule
int getSectionModule(unsigned i) const
Definition: DDHCalEndcapAlgo.cc:74
DDHCalEndcapAlgo::getLayerType
int getLayerType(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:90
DDHCalEndcapAlgo::absMat
std::string absMat
Definition: DDHCalEndcapAlgo.cc:188
PVValHelper::dz
Definition: PVValidationHelpers.h:50
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
DDCurrentNamespace::ns
static std::string & ns()
Definition: DDCurrentNamespace.cc:3
DDHCalEndcapAlgo::getZminBlock
double getZminBlock(unsigned i) const
Definition: DDHCalEndcapAlgo.cc:79
DDHCalEndcapAlgo::getDrEnd
double getDrEnd() const
Definition: DDHCalEndcapAlgo.cc:63
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
DDHCalEndcapAlgo::getLayerN
int getLayerN(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:75
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
DDSolid
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
DDHCalEndcapAlgo::getLayer
int getLayer(unsigned int i, unsigned int j) const
Definition: DDHCalEndcapAlgo.cc:259
DDRotation
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:57
DDHCalEndcapAlgo::riDip
double riDip
Definition: DDHCalEndcapAlgo.cc:178
DDHCalEndcapAlgo::tolAbs
double tolAbs
Definition: DDHCalEndcapAlgo.cc:226
hgcalTestNeighbor_cfi.detector
detector
Definition: hgcalTestNeighbor_cfi.py:6
DDHCalEndcapAlgo::sectionModule
std::vector< int > sectionModule
Definition: DDHCalEndcapAlgo.cc:193
DDHCalEndcapAlgo::parameterLayer0
void parameterLayer0(int mod, int layer, int iphi, double &yh, double &bl, double &tl, double &alp, double &xpos, double &ypos, double &zcpv)
Definition: DDHCalEndcapAlgo.cc:833
DDHCalEndcapAlgo::getEndcaps
int getEndcaps() const
Definition: DDHCalEndcapAlgo.cc:40
DDHCalEndcapAlgo::idOffset
int idOffset
Definition: DDHCalEndcapAlgo.cc:224
DDHCalEndcapAlgo::ziL0Body
double ziL0Body
Definition: DDHCalEndcapAlgo.cc:167
DDHCalEndcapAlgo::constructInsideModule
void constructInsideModule(const DDLogicalPart &module, int mod, DDCompactView &cpv)
Definition: DDHCalEndcapAlgo.cc:1055
DDHCalEndcapAlgo::constructScintLayer
void constructScintLayer(const DDLogicalPart &glog, double pDz, double yh, double bl, double tl, double alp, const std::string &name, int id, DDCompactView &cpv)
Definition: DDHCalEndcapAlgo.cc:1164
DDHCalEndcapAlgo::layerN5
std::vector< int > layerN5
Definition: DDHCalEndcapAlgo.cc:200
DDHCalEndcapAlgo::ziKink
double ziKink
Definition: DDHCalEndcapAlgo.cc:168
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
DDHCalEndcapAlgo::getRinKink
double getRinKink() const
Definition: DDHCalEndcapAlgo.cc:59
DDHCalEndcapAlgo::layerN4
std::vector< int > layerN4
Definition: DDHCalEndcapAlgo.cc:199
DDHCalEndcapAlgo::idName
std::string idName
Definition: DDHCalEndcapAlgo.cc:222
DDSolidFactory::trap
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)
Definition: DDSolid.cc:595
class-composition.parent
parent
Definition: class-composition.py:88
DDHCalEndcapAlgo::getRoutDip
double getRoutDip() const
Definition: DDHCalEndcapAlgo.cc:61
DDHCalEndcapAlgo::equipModule
int equipModule(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:41
cuy.ii
ii
Definition: cuy.py:590
PVValHelper::dx
Definition: PVValidationHelpers.h:48
DDHCalEndcapAlgo::getPhiName
const std::string & getPhiName(unsigned int i) const
Definition: DDHCalEndcapAlgo.cc:87
DDHCalEndcapAlgo::nEndcap
int nEndcap
Definition: DDHCalEndcapAlgo.cc:155
DDHCalEndcapAlgo::ziNose
double ziNose
Definition: DDHCalEndcapAlgo.cc:164
DDHCalEndcapAlgo::angTop
double angTop
Definition: DDHCalEndcapAlgo.cc:183
DDHCalEndcapAlgo::getZiL0Body
double getZiL0Body() const
Definition: DDHCalEndcapAlgo.cc:49
DDSplit
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
Definition: DDSplit.cc:3
DDCompactView::position
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string &copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)
Definition: DDCompactView.cc:66
DDRotation
ROOT::Math::Rotation3D DDRotation
Definition: DDEcalEndcapAlgo.cc:18
DDHCalEndcapAlgo::angBot
double angBot
Definition: DDHCalEndcapAlgo.cc:184
DDHCalEndcapAlgo::dzStep
double dzStep
Definition: DDHCalEndcapAlgo.cc:172
DDHCalEndcapAlgo::dzShift
double dzShift
Definition: DDHCalEndcapAlgo.cc:173
DDHCalEndcapAlgo::routBlock2
std::vector< double > routBlock2
Definition: DDHCalEndcapAlgo.cc:209
DDHCalEndcapAlgo::z0Beam
double z0Beam
Definition: DDHCalEndcapAlgo.cc:169