CMS 3D CMS Logo

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

Public Member Functions

 DDHCalBarrelAlgo ()
 
void execute (DDCompactView &cpv) override
 
double getAbsorbD (unsigned int i) const
 
int getAbsorberN () const
 
const std::string & getAbsorbMat (unsigned int i) const
 
const std::string & getAbsorbName (unsigned int i) const
 
double getAbsorbT (unsigned int i) const
 
double getDetdP1 (unsigned int i) const
 
double getDetdP2 (unsigned int i) const
 
const std::string & getDetMat () const
 
const std::string & getDetMatPl () const
 
const std::string & getDetMatSc () const
 
int getDetPosY (unsigned int i) const
 
double getDetT11 (unsigned int i) const
 
double getDetT12 (unsigned int i) const
 
double getDetT21 (unsigned int i) const
 
double getDetT22 (unsigned int i) const
 
double getDetTsc (unsigned int i) const
 
int getDetType (unsigned int i) const
 
double getDetWidth1 (unsigned int i) const
 
double getDetWidth2 (unsigned int i) const
 
const std::string & getGenMaterial () const
 
int getLayerAbsorb (unsigned int i) const
 
double getLayerAlpha (unsigned i) const
 
double getLayerD1 (unsigned i) const
 
double getLayerD2 (unsigned i) const
 
double getLayerGap (unsigned int i) const
 
int getLayerId (unsigned i) const
 
const std::string & getLayerLabel (unsigned i) const
 
const std::string & getLayerMaterial (unsigned i) const
 
double getLayerT1 (unsigned i) const
 
double getLayerT2 (unsigned i) const
 
double getLayerWidth (unsigned i) const
 
const std::string & getMidAbsMat (unsigned int i) const
 
const std::string & getMidAbsName (unsigned int i) const
 
int getMidAbsorber () const
 
double getMidAbsT (unsigned int i) const
 
double getMidAbsW (unsigned int i) const
 
double getMiddleD () const
 
const std::string & getMiddleMat () const
 
double getMiddleW () const
 
int getNhalf () const
 
int getNLayers () const
 
int getNsectors () const
 
int getNsectortot () const
 
double getRin () const
 
double getRmax (unsigned int i) const
 
double getRout () const
 
int getRzones () const
 
const std::string & getSideAbsMat (unsigned int i) const
 
const std::string & getSideAbsName (unsigned int i) const
 
int getSideAbsorber () const
 
double getSideAbsW (unsigned int i) const
 
double getSideD (unsigned int i) const
 
const std::string & getSideMat (unsigned int i) const
 
double getSideT (unsigned int i) const
 
double getTanTheta (unsigned int i) const
 
double getTheta (unsigned int i) const
 
double getZoff (unsigned int i) const
 
void initialize (const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
 
 ~DDHCalBarrelAlgo () override
 

Private Member Functions

void constructGeneralVolume (DDCompactView &cpv)
 
void constructInsideDetectors (const DDLogicalPart &detector, const std::string &name, int id, double dx, double dy, double dz, int type, DDCompactView &cpv)
 
void constructInsideLayers (const DDLogicalPart &laylog, const std::string &name, int id, int nAbs, double rin, double d1, double alpha1, double d2, double alpha2, double t1, double t2, DDCompactView &cpv)
 
void constructInsideSector (const DDLogicalPart &sector, DDCompactView &cpv)
 
DDLogicalPart constructMidLayer (const DDLogicalPart &laylog, const std::string &nm, double rin, double alpha, DDCompactView &cpv)
 
DDLogicalPart constructSideLayer (const DDLogicalPart &laylog, const std::string &nm, int nAbs, double rin, double alpha, DDCompactView &cpv)
 

Private Attributes

std::vector< double > absorbD
 
std::vector< std::string > absorbMat
 
std::vector< std::string > absorbName
 
std::vector< double > absorbT
 
std::vector< double > detdP1
 
std::vector< double > detdP2
 
std::string detMat
 
std::string detMatPl
 
std::string detMatSc
 
std::vector< int > detPosY
 
std::string detRot
 
std::vector< double > detT11
 
std::vector< double > detT12
 
std::vector< double > detT21
 
std::vector< double > detT22
 
std::vector< double > detTsc
 
std::vector< int > detType
 
std::vector< double > detWidth1
 
std::vector< double > detWidth2
 
std::string genMaterial
 
std::string idName
 
std::string idNameSpace
 
int idOffset
 
std::vector< int > layerAbsorb
 
std::vector< double > layerAlpha
 
std::vector< double > layerD1
 
std::vector< double > layerD2
 
std::vector< double > layerGap
 
std::vector< int > layerId
 
std::vector< std::string > layerLabel
 
std::vector< std::string > layerMat
 
std::vector< double > layerT1
 
std::vector< double > layerT2
 
std::vector< double > layerWidth
 
double middleD
 
std::string middleMat
 
double middleW
 
std::vector< std::string > midMat
 
std::vector< std::string > midName
 
std::vector< double > midT
 
std::vector< double > midW
 
int nAbsorber
 
int nhalf
 
int nLayers
 
int nMidAbs
 
int nsectors
 
int nsectortot
 
int nSideAbs
 
double rin
 
std::vector< double > rmax
 
std::string rotHalf
 
std::string rotns
 
double rout
 
int rzones
 
std::vector< std::string > sideAbsMat
 
std::vector< std::string > sideAbsName
 
std::vector< double > sideAbsW
 
std::vector< double > sideD
 
std::vector< std::string > sideMat
 
std::vector< double > sideT
 
std::vector< double > theta
 
std::vector< double > ttheta
 
std::vector< double > zoff
 

Detailed Description

Definition at line 29 of file DDHCalBarrelAlgo.cc.

Constructor & Destructor Documentation

◆ DDHCalBarrelAlgo()

DDHCalBarrelAlgo::DDHCalBarrelAlgo ( )

Definition at line 252 of file DDHCalBarrelAlgo.cc.

253  : theta(0),
254  rmax(0),
255  zoff(0),
256  ttheta(0),
257  layerId(0),
258  layerLabel(0),
259  layerMat(0),
260  layerWidth(0),
261  layerD1(0),
262  layerD2(0),
263  layerAlpha(0),
264  layerT1(0),
265  layerT2(0),
266  layerAbsorb(0),
267  layerGap(0),
268  absorbName(0),
269  absorbMat(0),
270  absorbD(0),
271  absorbT(0),
272  midName(0),
273  midMat(0),
274  midW(0),
275  midT(0),
276  sideMat(0),
277  sideD(0),
278  sideT(0),
279  sideAbsName(0),
280  sideAbsMat(0),
281  sideAbsW(0),
282  detType(0),
283  detdP1(0),
284  detdP2(0),
285  detT11(0),
286  detT12(0),
287  detTsc(0),
288  detT21(0),
289  detT22(0),
290  detWidth1(0),
291  detWidth2(0),
292  detPosY(0) {
293 #ifdef EDM_ML_DEBUG
294  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: Creating an instance";
295 #endif
296 }

◆ ~DDHCalBarrelAlgo()

DDHCalBarrelAlgo::~DDHCalBarrelAlgo ( )
override

Definition at line 298 of file DDHCalBarrelAlgo.cc.

298 {}

Member Function Documentation

◆ constructGeneralVolume()

void DDHCalBarrelAlgo::constructGeneralVolume ( DDCompactView cpv)
private

Definition at line 460 of file DDHCalBarrelAlgo.cc.

460  {
461 #ifdef EDM_ML_DEBUG
462  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: General volume...";
463 #endif
464 
466 
467  double alpha = (1._pi) / getNsectors();
468  double dphi = getNsectortot() * (2._pi) / getNsectors();
469  int nsec, ntot = 15;
470  if (getNhalf() == 1)
471  nsec = 8;
472  else
473  nsec = 15;
474  int nf = ntot - nsec;
475 
476  //Calculate zmin... see HCalBarrel.hh picture. For polyhedra
477  //Rmin and Rmax are distances to vertex
478  double zmax = getZoff(3);
479  double zstep5 = getZoff(4);
480  double zstep4 = (getZoff(1) + getRmax(1) * getTanTheta(1));
481  if ((getZoff(2) + getRmax(1) * getTanTheta(2)) > zstep4)
482  zstep4 = (getZoff(2) + getRmax(1) * getTanTheta(2));
483  double zstep3 = (getZoff(1) + getRmax(0) * getTanTheta(1));
484  double zstep2 = (getZoff(0) + getRmax(0) * getTanTheta(0));
485  double zstep1 = (getZoff(0) + getRin() * getTanTheta(0));
486  double rout = getRout();
487  double rout1 = getRmax(3);
488  double rin = getRin();
489  double rmid1 = getRmax(0);
490  double rmid2 = getRmax(1);
491  double rmid3 = (getZoff(4) - getZoff(2)) / getTanTheta(2);
492  double rmid4 = getRmax(2);
493 
494  std::vector<double> pgonZ = {-zmax,
495  -zstep5,
496  -zstep5,
497  -zstep4,
498  -zstep3,
499  -zstep2,
500  -zstep1,
501  0,
502  zstep1,
503  zstep2,
504  zstep3,
505  zstep4,
506  zstep5,
507  zstep5,
508  zmax};
509 
510  std::vector<double> pgonRmin = {
511  rmid4, rmid3, rmid3, rmid2, rmid1, rmid1, rin, rin, rin, rmid1, rmid1, rmid2, rmid3, rmid3, rmid4};
512 
513  std::vector<double> pgonRmax = {
514  rout1, rout1, rout, rout, rout, rout, rout, rout, rout, rout, rout, rout, rout, rout1, rout1};
515 
516  std::vector<double> pgonZHalf = {0, zstep1, zstep2, zstep3, zstep4, zstep5, zstep5, zmax};
517 
518  std::vector<double> pgonRminHalf = {rin, rin, rmid1, rmid1, rmid2, rmid3, rmid3, rmid4};
519 
520  std::vector<double> pgonRmaxHalf = {rout, rout, rout, rout, rout, rout, rout1, rout1};
521 
522  std::string name("Null");
523  DDSolid solid;
524  if (nf == 0) {
526  DDName(idName, idNameSpace), getNsectortot(), -alpha, dphi, pgonZ, pgonRmin, pgonRmax);
527 #ifdef EDM_ML_DEBUG
528  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << DDName(idName, idNameSpace) << " Polyhedra made of "
529  << getGenMaterial() << " with " << getNsectortot() << " sectors from "
530  << convertRadToDeg(-alpha) << " to " << convertRadToDeg(-alpha + dphi) << " and with "
531  << nsec << " sections ";
532  for (unsigned int i = 0; i < pgonZ.size(); i++)
533  edm::LogVerbatim("HCalGeom") << "\t"
534  << "\tZ = " << pgonZ[i] << "\tRmin = " << pgonRmin[i] << "\tRmax = " << pgonRmax[i];
535 #endif
536  } else {
538  DDName(idName, idNameSpace), getNsectortot(), -alpha, dphi, pgonZHalf, pgonRminHalf, pgonRmaxHalf);
539 #ifdef EDM_ML_DEBUG
540  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << DDName(idName, idNameSpace) << " Polyhedra made of "
541  << getGenMaterial() << " with " << getNsectortot() << " sectors from "
542  << convertRadToDeg(-alpha) << " to " << convertRadToDeg(-alpha + dphi) << " and with "
543  << nsec << " sections ";
544  for (unsigned int i = 0; i < pgonZHalf.size(); i++)
545  edm::LogVerbatim("HCalGeom") << "\t"
546  << "\tZ = " << pgonZHalf[i] << "\tRmin = " << pgonRminHalf[i]
547  << "\tRmax = " << pgonRmaxHalf[i];
548 #endif
549  }
550 
552  DDMaterial matter(matname);
553  DDLogicalPart genlogic(DDName(idName, idNameSpace), matter, solid);
554 
555  DDName parentName = parent().name();
556  DDTranslation r0(0, 0, 0);
557  cpv.position(DDName(idName, idNameSpace), parentName, 1, r0, rot);
558 #ifdef EDM_ML_DEBUG
559  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << DDName(idName, idNameSpace) << " number 1 positioned in "
560  << parentName << " at (0, 0, 0) with no rotation";
561 #endif
562  //Forward and backwards halfs
563  name = idName + "Half";
564  nf = (ntot + 1) / 2;
565 #ifdef EDM_ML_DEBUG
566  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << DDName(name, idNameSpace) << " Polyhedra made of "
567  << getGenMaterial() << " with " << getNsectortot() << " sectors from "
568  << convertRadToDeg(-alpha) << " to " << convertRadToDeg(-alpha + dphi) << " and with "
569  << nf << " sections ";
570  for (unsigned int i = 0; i < pgonZHalf.size(); i++)
571  edm::LogVerbatim("HCalGeom") << "\t"
572  << "\tZ = " << pgonZHalf[i] << "\tRmin = " << pgonRminHalf[i]
573  << "\tRmax = " << pgonRmaxHalf[i];
574 #endif
575 
577  DDName(name, idNameSpace), getNsectortot(), -alpha, dphi, pgonZHalf, pgonRminHalf, pgonRmaxHalf);
578  DDLogicalPart genlogich(DDName(name, idNameSpace), matter, solid);
579 
580  cpv.position(genlogich, genlogic, 1, r0, rot);
581 #ifdef EDM_ML_DEBUG
582  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << genlogich.name() << " number 1 positioned in "
583  << genlogic.name() << " at (0, 0, 0) with no rotation";
584 #endif
585  if (getNhalf() != 1) {
587  cpv.position(genlogich, genlogic, 2, r0, rot);
588 #ifdef EDM_ML_DEBUG
589  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << genlogich.name() << " number 2 positioned in "
590  << genlogic.name() << " at " << r0 << " with " << rot;
591 #endif
592  } //end if (getNhalf...
593 
594  //Construct sector (from -alpha to +alpha)
595  name = idName + "Module";
596 #ifdef EDM_ML_DEBUG
597  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << DDName(name, idNameSpace) << " Polyhedra made of "
598  << getGenMaterial() << " with 1 sector from " << convertRadToDeg(-alpha) << " to "
599  << convertRadToDeg(alpha) << " and with " << nf << " sections";
600  for (unsigned int i = 0; i < pgonZHalf.size(); i++)
601  edm::LogVerbatim("HCalGeom") << "\t"
602  << "\tZ = " << pgonZHalf[i] << "\tRmin = " << pgonRminHalf[i]
603  << "\tRmax = " << pgonRmaxHalf[i];
604 #endif
605 
606  solid =
607  DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha, 2 * alpha, pgonZHalf, pgonRminHalf, pgonRmaxHalf);
608  DDLogicalPart seclogic(DDName(name, idNameSpace), matter, solid);
609 
610  double theta = 90._deg;
611  for (int ii = 0; ii < getNsectortot(); ii++) {
612  double phi = ii * 2 * alpha;
613  double phiy = phi + 90._deg;
614 
616  std::string rotstr("NULL");
617  if (phi != 0) {
618  rotstr = "R" + formatAsDegreesInInteger(phi);
619  rotation = DDRotation(DDName(rotstr, rotns));
620  if (!rotation) {
621 #ifdef EDM_ML_DEBUG
622  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: Creating a new "
623  << "rotation " << rotstr << "\t 90," << convertRadToDeg(phi) << ",90,"
624  << (90 + convertRadToDeg(phi)) << ", 0, 0";
625 #endif
626  rotation = DDrot(DDName(rotstr, rotns), theta, phi, theta, phiy, 0, 0);
627  } //if !rotation
628  } //if phideg!=0
629 
630  cpv.position(seclogic, genlogich, ii + 1, r0, rotation);
631 #ifdef EDM_ML_DEBUG
632  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << seclogic.name() << " number " << ii + 1 << " positioned in "
633  << genlogich.name() << " at " << r0 << " with " << rotation;
634 #endif
635  }
636 
637  //Construct the things inside the sector
638  constructInsideSector(seclogic, cpv);
639 }

References zMuMuMuonUserData::alpha, constructInsideSector(), angle_units::operators::convertRadToDeg(), DDrot(), DDSplit(), dqmdumpme::first, formatAsDegreesInInteger(), getGenMaterial(), getNhalf(), getNsectors(), getNsectortot(), getRin(), getRmax(), getRout(), getTanTheta(), getZoff(), mps_fire::i, idName, idNameSpace, cuy::ii, Skims_PA_cff::name, DDBase< N, C >::name(), class-composition::parent, phi, DDSolidFactory::polyhedra(), DDCompactView::position(), rin, makeMuonMisalignmentScenario::rot, idealTransformation::rotation, rotHalf, rotns, rout, edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, theta, and SiStripMonitorCluster_cfi::zmax.

Referenced by execute().

◆ constructInsideDetectors()

void DDHCalBarrelAlgo::constructInsideDetectors ( const DDLogicalPart detector,
const std::string &  name,
int  id,
double  dx,
double  dy,
double  dz,
int  type,
DDCompactView cpv 
)
private

Definition at line 1092 of file DDHCalBarrelAlgo.cc.

1099  {
1100 #ifdef EDM_ML_DEBUG
1101  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: \t\tInside detector " << id << "...";
1102 #endif
1103 
1105  DDMaterial plmatter(plmatname);
1107  DDMaterial scmatter(scmatname);
1108 
1109  std::string plname = detector.name().name() + "Plastic_";
1110  std::string scname = idName + "Scintillator" + name;
1111 
1112  id--;
1113  DDSolid solid;
1114  DDLogicalPart glog;
1115  double wid, y = 0;
1116  double dx1, dx2, shiftX;
1117 
1118  if (type == 1) {
1119  wid = 0.5 * getDetWidth1(id);
1120  if (getDetPosY(id) > 0)
1121  y = -dy + wid;
1122  dx1 = 0.5 * getDetT11(id);
1123  dx2 = 0.5 * getDetT21(id);
1124  shiftX = getDetdP1(id);
1125  } else {
1126  wid = 0.5 * getDetWidth2(id);
1127  dx1 = 0.5 * getDetT12(id);
1128  dx2 = 0.5 * getDetT22(id);
1129  shiftX = getDetdP2(id);
1130  }
1131 
1132  solid = DDSolidFactory::box(DDName(plname + "1", idNameSpace), dx1, wid, dz);
1133 #ifdef EDM_ML_DEBUG
1134  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Box made of " << getDetMatPl()
1135  << " of dimensions " << dx1 << ", " << wid << ", " << dz;
1136 #endif
1137  glog = DDLogicalPart(solid.ddname(), plmatter, solid);
1138 
1139  double x = shiftX + dx1 - dx;
1140  cpv.position(glog, detector, 1, DDTranslation(x, y, 0), DDRotation());
1141 #ifdef EDM_ML_DEBUG
1142  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << glog.name() << " Number 1 positioned in " << detector.name()
1143  << " at (" << x << "," << y << ",0) with no rotation";
1144 #endif
1145  solid = DDSolidFactory::box(DDName(scname, idNameSpace), 0.5 * getDetTsc(id), wid, dz);
1146 #ifdef EDM_ML_DEBUG
1147  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Box made of " << getDetMatSc()
1148  << " of dimensions " << 0.5 * getDetTsc(id) << ", " << wid << ", " << dz;
1149 #endif
1150  glog = DDLogicalPart(solid.ddname(), scmatter, solid);
1151 
1152  x += dx1 + 0.5 * getDetTsc(id);
1153  int copyNo = id * 10 + getDetType(id);
1154  cpv.position(glog, detector, copyNo, DDTranslation(x, y, 0), DDRotation());
1155 #ifdef EDM_ML_DEBUG
1156  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << glog.name() << " Number " << copyNo << " positioned in "
1157  << detector.name() << " at (" << x << "," << y << ",0) with no rotation";
1158 #endif
1159  solid = DDSolidFactory::box(DDName(plname + "2", idNameSpace), dx2, wid, dz);
1160 #ifdef EDM_ML_DEBUG
1161  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Box made of " << getDetMatPl()
1162  << " of dimensions " << dx2 << ", " << wid << ", " << dz;
1163 #endif
1164  glog = DDLogicalPart(solid.ddname(), plmatter, solid);
1165 
1166  x += 0.5 * getDetTsc(id) + dx2;
1167  cpv.position(glog, detector, 1, DDTranslation(x, y, 0), DDRotation());
1168 #ifdef EDM_ML_DEBUG
1169  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << glog.name() << " Number 1 positioned in " << detector.name()
1170  << " at (" << x << "," << y << ",0) with no rotation";
1171 #endif
1172 }

References DDSolidFactory::box(), DDBase< N, C >::ddname(), DDSplit(), hgcalTestNeighbor_cfi::detector, PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, dqmdumpme::first, getDetdP1(), getDetdP2(), getDetMatPl(), getDetMatSc(), getDetPosY(), getDetT11(), getDetT12(), getDetT21(), getDetT22(), getDetTsc(), getDetType(), getDetWidth1(), getDetWidth2(), idName, idNameSpace, Skims_PA_cff::name, DDBase< N, C >::name(), DDCompactView::position(), edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, x, and y.

Referenced by constructInsideLayers().

◆ constructInsideLayers()

void DDHCalBarrelAlgo::constructInsideLayers ( const DDLogicalPart laylog,
const std::string &  name,
int  id,
int  nAbs,
double  rin,
double  d1,
double  alpha1,
double  d2,
double  alpha2,
double  t1,
double  t2,
DDCompactView cpv 
)
private

Definition at line 763 of file DDHCalBarrelAlgo.cc.

774  {
775 #ifdef EDM_ML_DEBUG
776  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: \t\tInside layer " << id << "...";
777 #endif
778  //Pointers to the Rotation Matrices and to the Materials
781 
782  std::string nam0 = nm + "In";
783  std::string name = idName + nam0;
785  DDMaterial matter(matName);
786 
787  DDSolid solid;
788  DDLogicalPart glog, mother;
789  double rsi, dx, dy, dz, x, y;
790  int i, in;
791  //Two lower volumes
792  if (alpha1 > 0) {
793  rsi = rin + d1;
794  in = 0;
795  for (i = 0; i < getRzones() - 1; i++) {
796  if (rsi >= getRmax(i))
797  in = i + 1;
798  }
799  dx = 0.5 * t1;
800  dy = 0.5 * rsi * (tan(alpha1) - tan(alpha2));
801  dz = 0.5 * (getZoff(in) + rsi * getTanTheta(in));
802  x = rsi + dx;
803  y = 0.5 * rsi * (tan(alpha1) + tan(alpha2));
804  DDTranslation r11(x, y, dz);
805  DDTranslation r12(x, -y, dz);
806 
807  solid = DDSolidFactory::box(DDName(name + "1", idNameSpace), dx, dy, dz);
808 #ifdef EDM_ML_DEBUG
809  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Box made of " << getDetMat()
810  << " of dimensions " << dx << ", " << dy << ", " << dz;
811 #endif
812  glog = DDLogicalPart(solid.ddname(), matter, solid);
813 
814  if (nAbs != 0) {
815  mother = constructSideLayer(laylog, name, nAbs, rin, alpha1, cpv);
816  } else {
817  mother = laylog;
818  }
819  cpv.position(glog, mother, idOffset + 1, r11, DDRotation());
820  cpv.position(glog, mother, idOffset + 2, r12, rot);
821 #ifdef EDM_ML_DEBUG
822  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << glog.name() << " Number " << idOffset + 1
823  << " positioned in " << mother.name() << " at " << r11 << " with no rotation\n"
824  << "DDHCalBarrelAlgo: " << glog.name() << " Number " << idOffset + 2
825  << " positioned in " << mother.name() << " at " << r12 << " with " << rot;
826 #endif
827  //Constructin the plastics and scintillators inside
828  constructInsideDetectors(glog, nam0 + "1", id, dx, dy, dz, 1, cpv);
829  }
830 
831  //Upper volume
832  rsi = rin + d2;
833  in = 0;
834  for (i = 0; i < getRzones() - 1; i++) {
835  if (rsi >= getRmax(i))
836  in = i + 1;
837  }
838  dx = 0.5 * t2;
839  dy = 0.5 * rsi * tan(alpha2);
840  dz = 0.5 * (getZoff(in) + rsi * getTanTheta(in));
841  x = rsi + dx;
842  DDTranslation r21(x, dy, dz);
843  DDTranslation r22(x, -dy, dz);
844 
845  solid = DDSolidFactory::box(DDName(name + "2", idNameSpace), dx, dy, dz);
846 #ifdef EDM_ML_DEBUG
847  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Box made of " << getDetMat()
848  << " of dimensions " << dx << ", " << dy << ", " << dz;
849 #endif
850  glog = DDLogicalPart(solid.ddname(), matter, solid);
851 
852  if (nAbs < 0) {
853  mother = constructMidLayer(laylog, name, rin, alpha1, cpv);
854  } else {
855  mother = laylog;
856  }
857  cpv.position(glog, mother, idOffset + 3, r21, DDRotation());
858  cpv.position(glog, mother, idOffset + 4, r22, rot);
859 #ifdef EDM_ML_DEBUG
860  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << glog.name() << " Number " << idOffset + 3 << " positioned in "
861  << mother.name() << " at " << r21
862  << " with no rotation\nDDHCalBarrelAlgo: " << glog.name() << " Number " << idOffset + 4
863  << " positioned in " << mother.name() << " at " << r22 << " with " << rot;
864 #endif
865  //Constructin the plastics and scintillators inside
866  constructInsideDetectors(glog, nam0 + "2", id, dx, dy, dz, 2, cpv);
867 }

References DDSolidFactory::box(), constructInsideDetectors(), constructMidLayer(), constructSideLayer(), d1, DDBase< N, C >::ddname(), DDSplit(), detRot, PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, dqmdumpme::first, getDetMat(), getRmax(), getRzones(), getTanTheta(), getZoff(), mps_fire::i, idName, idNameSpace, idOffset, recoMuon::in, Skims_PA_cff::name, DDBase< N, C >::name(), DDCompactView::position(), rin, makeMuonMisalignmentScenario::rot, rotns, edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, RandomServiceHelper::t1, RandomServiceHelper::t2, funct::tan(), x, and y.

Referenced by constructInsideSector().

◆ constructInsideSector()

void DDHCalBarrelAlgo::constructInsideSector ( const DDLogicalPart sector,
DDCompactView cpv 
)
private

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

Definition at line 641 of file DDHCalBarrelAlgo.cc.

641  {
642 #ifdef EDM_ML_DEBUG
643  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: Layers (" << getNLayers() << ") ...";
644 #endif
645  double alpha = (1._pi) / getNsectors();
646  double rin = getRin();
647  for (int i = 0; i < getNLayers(); i++) {
650  DDSplit(getLayerMaterial(i)).second); //idNameSpace);
651  DDMaterial matter(matname);
652 
653  double width = getLayerWidth(i);
654  double rout = rin + width;
655 
656  int in = 0, out = 0;
657  for (int j = 0; j < getRzones() - 1; j++) {
658  if (rin >= getRmax(j))
659  in = j + 1;
660  if (rout > getRmax(j))
661  out = j + 1;
662  }
663  double zout = getZoff(in) + rin * getTanTheta(in);
664 
666  //vertical walls are allowed in SolidPolyhedra
667  double deltaz = 0;
668  int nsec = 2;
669  std::vector<double> pgonZ, pgonRmin, pgonRmax;
670  // index 0
671  pgonZ.emplace_back(0);
672  pgonRmin.emplace_back(rin);
673  pgonRmax.emplace_back(rout);
674  // index 1
675  pgonZ.emplace_back(zout);
676  pgonRmin.emplace_back(rin);
677  pgonRmax.emplace_back(rout);
678  if (in == out) {
679  if (in <= 3) {
680  //index 2
681  pgonZ.emplace_back(getZoff(in) + rout * getTanTheta(in));
682  pgonRmin.emplace_back(pgonRmax[1]);
683  pgonRmax.emplace_back(pgonRmax[1]);
684  nsec++;
685  }
686  } else {
687  if (in == 3) {
688  //redo index 1, add index 2
689  pgonZ[1] = (getZoff(out) + getRmax(out) * getTanTheta(out));
690  pgonZ.emplace_back(pgonZ[1] + deltaz);
691  pgonRmin.emplace_back(pgonRmin[1]);
692  pgonRmax.emplace_back(getRmax(in));
693  //index 3
694  pgonZ.emplace_back(getZoff(in) + getRmax(in) * getTanTheta(in));
695  pgonRmin.emplace_back(pgonRmin[2]);
696  pgonRmax.emplace_back(pgonRmax[2]);
697  nsec += 2;
698  } else {
699  //index 2
700  pgonZ.emplace_back(getZoff(in) + getRmax(in) * getTanTheta(in));
701  pgonRmin.emplace_back(getRmax(in));
702  pgonRmax.emplace_back(pgonRmax[1]);
703  nsec++;
704  if (in == 0) {
705  pgonZ.emplace_back(getZoff(out) + getRmax(in) * getTanTheta(out));
706  pgonRmin.emplace_back(pgonRmin[2]);
707  pgonRmax.emplace_back(pgonRmax[2]);
708  nsec++;
709  }
710  if (in <= 1) {
711  pgonZ.emplace_back(getZoff(out) + rout * getTanTheta(out));
712  pgonRmin.emplace_back(rout);
713  pgonRmax.emplace_back(rout);
714  nsec++;
715  }
716  }
717  }
718  //Solid & volume
719  DDSolid solid;
720  double alpha1 = alpha;
721  if (getLayerGap(i) > 1.e-6) {
722  double rmid = 0.5 * (rin + rout);
723  double width = rmid * tan(alpha) - getLayerGap(i);
724  alpha1 = atan(width / rmid);
725 #ifdef EDM_ML_DEBUG
726  edm::LogVerbatim("HCalGeom") << "\t"
727  << "Alpha_1 modified from " << convertRadToDeg(alpha) << " to "
728  << convertRadToDeg(alpha1) << " Rmid " << rmid << " Reduced width " << width;
729 #endif
730  }
731 #ifdef EDM_ML_DEBUG
732  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << name << " (Layer " << i << ") Polyhedra made of "
733  << getLayerMaterial(i) << " with 1 sector from " << convertRadToDeg(-alpha1) << " to "
734  << convertRadToDeg(alpha1) << " and with " << nsec << " sections";
735  for (unsigned int k = 0; k < pgonZ.size(); k++)
736  edm::LogVerbatim("HCalGeom") << "\t"
737  << "\t" << pgonZ[k] << "\t" << pgonRmin[k] << "\t" << pgonRmax[k];
738 #endif
739  solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha1, 2 * alpha1, pgonZ, pgonRmin, pgonRmax);
740  DDLogicalPart glog(DDName(name, idNameSpace), matter, solid);
741 
742  cpv.position(glog, sector, getLayerId(i), DDTranslation(0.0, 0.0, 0.0), DDRotation());
743 #ifdef EDM_ML_DEBUG
744  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << glog.name() << " number " << getLayerId(i)
745  << " positioned in " << sector.name() << " at (0,0,0) with no rotation";
746 #endif
748  getLayerLabel(i),
749  getLayerId(i),
750  getLayerAbsorb(i),
751  rin,
752  getLayerD1(i),
753  alpha1,
754  getLayerD2(i),
755  getLayerAlpha(i),
756  getLayerT1(i),
757  getLayerT2(i),
758  cpv);
759  rin = rout;
760  }
761 }

References zMuMuMuonUserData::alpha, constructInsideLayers(), angle_units::operators::convertRadToDeg(), DDSplit(), MillePedeFileConverter_cfg::e, dqmdumpme::first, getLayerAbsorb(), getLayerAlpha(), getLayerD1(), getLayerD2(), getLayerGap(), getLayerId(), getLayerLabel(), getLayerMaterial(), getLayerT1(), getLayerT2(), getLayerWidth(), getNLayers(), getNsectors(), getRin(), getRmax(), getRzones(), getTanTheta(), getZoff(), mps_fire::i, idName, idNameSpace, recoMuon::in, dqmiolumiharvest::j, dqmdumpme::k, Skims_PA_cff::name, DDBase< N, C >::name(), MillePedeFileConverter_cfg::out, DDSolidFactory::polyhedra(), DDCompactView::position(), rin, rout, edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), and ApeEstimator_cff::width.

Referenced by constructGeneralVolume().

◆ constructMidLayer()

DDLogicalPart DDHCalBarrelAlgo::constructMidLayer ( const DDLogicalPart laylog,
const std::string &  nm,
double  rin,
double  alpha,
DDCompactView cpv 
)
private

Definition at line 946 of file DDHCalBarrelAlgo.cc.

947  {
948  DDSolid solid;
949  DDLogicalPart log, glog;
950  std::string name = nm + "Mid";
951  for (int k = 0; k < getAbsorberN(); k++) {
952  std::string namek = name + getAbsorbName(k);
953  double rsi = rin + getAbsorbD(k);
954  int in = 0;
955  for (int i = 0; i < getRzones() - 1; i++) {
956  if (rsi >= getRmax(i))
957  in = i + 1;
958  }
959  std::vector<double> pgonZ, pgonRmin, pgonRmax;
960  // index 0
961  pgonZ.emplace_back(0.0);
962  pgonRmin.emplace_back(rsi);
963  pgonRmax.emplace_back(rsi + getAbsorbT(k));
964  // index 1
965  pgonZ.emplace_back(getZoff(in) + rsi * getTanTheta(in));
966  pgonRmin.emplace_back(rsi);
967  pgonRmax.emplace_back(pgonRmax[0]);
968  // index 2
969  pgonZ.emplace_back(getZoff(in) + pgonRmax[0] * getTanTheta(in));
970  pgonRmin.emplace_back(pgonRmax[1]);
971  pgonRmax.emplace_back(pgonRmax[1]);
972  solid = DDSolidFactory::polyhedra(DDName(namek, idNameSpace), 1, -alpha, 2 * alpha, pgonZ, pgonRmin, pgonRmax);
973 #ifdef EDM_ML_DEBUG
974  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Polyhedra made of " << getAbsorbMat(k)
975  << " with 1 sector from " << convertRadToDeg(-alpha) << " to "
976  << convertRadToDeg(alpha) << " and with " << pgonZ.size() << " sections";
977  for (unsigned int ii = 0; ii < pgonZ.size(); ii++)
978  edm::LogVerbatim("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii]
979  << "\tRmax = " << pgonRmax[ii];
980 #endif
981 
983  DDMaterial matter(matName);
984  log = DDLogicalPart(solid.ddname(), matter, solid);
985 
986  cpv.position(log, laylog, 1, DDTranslation(), DDRotation());
987 #ifdef EDM_ML_DEBUG
988  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << log.name() << " Number 1 positioned in " << laylog.name()
989  << " at (0,0,0) with no rotation";
990 #endif
991  if (k == 0) {
992  double rmin = pgonRmin[0];
993  double rmax = pgonRmax[0];
994  DDLogicalPart mother = log;
995  for (int i = 0; i < 1; i++) {
996  double alpha1 = atan(getMidAbsW(i) / rmin);
997  std::string namek = name + getMidAbsName(i);
998  solid =
999  DDSolidFactory::polyhedra(DDName(namek, idNameSpace), 1, -alpha1, 2 * alpha1, pgonZ, pgonRmin, pgonRmax);
1000 #ifdef EDM_ML_DEBUG
1001  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Polyhedra made of " << getMidAbsMat(i)
1002  << " with 1 sector from " << convertRadToDeg(-alpha1) << " to "
1003  << convertRadToDeg(alpha1) << " and with " << pgonZ.size() << " sections";
1004  for (unsigned int ii = 0; ii < pgonZ.size(); ii++)
1005  edm::LogVerbatim("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii]
1006  << "\tRmax = " << pgonRmax[ii];
1007 #endif
1008 
1010  DDMaterial matter1(matNam1);
1011  log = DDLogicalPart(solid.ddname(), matter1, solid);
1012 
1013  cpv.position(log, mother, 1, DDTranslation(), DDRotation());
1014 #ifdef EDM_ML_DEBUG
1015  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << log.name() << " Number 1 positioned in "
1016  << mother.name() << " at (0,0,0) with no rotation";
1017 #endif
1018  mother = log;
1019  }
1020 
1021  // Now the layer with detectors
1022  double rmid = rmin + getMiddleD();
1023  pgonRmin[0] = rmid;
1024  pgonRmax[0] = rmax;
1025  pgonRmin[1] = rmid;
1026  pgonRmax[1] = rmax;
1027  pgonZ[1] = getZoff(in) + rmid * getTanTheta(in);
1028  pgonRmin[2] = rmax;
1029  pgonRmax[2] = rmax;
1030  pgonZ[2] = getZoff(in) + rmax * getTanTheta(in);
1031  double alpha1 = atan(getMiddleW() / rmin);
1032  solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha1, 2 * alpha1, pgonZ, pgonRmin, pgonRmax);
1033 #ifdef EDM_ML_DEBUG
1034  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Polyhedra made of " << getMiddleMat()
1035  << " with 1 sector from " << convertRadToDeg(-alpha1) << " to "
1036  << convertRadToDeg(alpha1) << " and with " << pgonZ.size() << " sections";
1037  for (unsigned int ii = 0; ii < pgonZ.size(); ii++)
1038  edm::LogVerbatim("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii]
1039  << "\tRmax = " << pgonRmax[ii];
1040 #endif
1041 
1043  DDMaterial matter1(matNam1);
1044  glog = DDLogicalPart(solid.ddname(), matter1, solid);
1045 
1046  cpv.position(glog, mother, 1, DDTranslation(), DDRotation());
1047 #ifdef EDM_ML_DEBUG
1048  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << glog.name() << " Number 1 positioned in " << mother.name()
1049  << " at (0,0,0) with no rotation";
1050 #endif
1051  // Now the remaining absorber layers
1052  for (int i = 1; i < getMidAbsorber(); i++) {
1053  namek = name + getMidAbsName(i);
1054  rmid = rmin + getMidAbsT(i);
1055  pgonRmin[0] = rmin;
1056  pgonRmax[0] = rmid;
1057  pgonRmin[1] = rmin;
1058  pgonRmax[1] = rmid;
1059  pgonZ[1] = getZoff(in) + rmin * getTanTheta(in);
1060  pgonRmin[2] = rmid;
1061  pgonRmax[2] = rmid;
1062  pgonZ[2] = getZoff(in) + rmid * getTanTheta(in);
1063  alpha1 = atan(getMidAbsW(i) / rmin);
1064  solid =
1065  DDSolidFactory::polyhedra(DDName(namek, idNameSpace), 1, -alpha1, 2 * alpha1, pgonZ, pgonRmin, pgonRmax);
1066 #ifdef EDM_ML_DEBUG
1067  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Polyhedra made of " << getMidAbsMat(i)
1068  << " with 1 sector from " << convertRadToDeg(-alpha1) << " to "
1069  << convertRadToDeg(alpha1) << " and with " << pgonZ.size() << " sections";
1070  for (unsigned int ii = 0; ii < pgonZ.size(); ii++)
1071  edm::LogVerbatim("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii]
1072  << "\tRmax = " << pgonRmax[ii];
1073 #endif
1074 
1076  DDMaterial matter2(matName2);
1077  log = DDLogicalPart(solid.ddname(), matter2, solid);
1078 
1079  cpv.position(log, mother, i, DDTranslation(), DDRotation());
1080 #ifdef EDM_ML_DEBUG
1081  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << log.name() << " Number " << i << " positioned in "
1082  << mother.name() << " at (0,0,0) with no "
1083  << "rotation";
1084 #endif
1085  mother = log;
1086  }
1087  }
1088  }
1089  return glog;
1090 }

References zMuMuMuonUserData::alpha, angle_units::operators::convertRadToDeg(), DDBase< N, C >::ddname(), DDSplit(), dqmdumpme::first, getAbsorbD(), getAbsorberN(), getAbsorbMat(), getAbsorbName(), getAbsorbT(), getMidAbsMat(), getMidAbsName(), getMidAbsorber(), getMidAbsT(), getMidAbsW(), getMiddleD(), getMiddleMat(), getMiddleW(), getRmax(), getRzones(), getTanTheta(), getZoff(), mps_fire::i, idNameSpace, cuy::ii, recoMuon::in, dqmdumpme::k, dqm-mbProfile::log, Skims_PA_cff::name, DDBase< N, C >::name(), DDSolidFactory::polyhedra(), DDCompactView::position(), rin, rmax, edm::second(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by constructInsideLayers().

◆ constructSideLayer()

DDLogicalPart DDHCalBarrelAlgo::constructSideLayer ( const DDLogicalPart laylog,
const std::string &  nm,
int  nAbs,
double  rin,
double  alpha,
DDCompactView cpv 
)
private

Definition at line 869 of file DDHCalBarrelAlgo.cc.

870  {
871  //Extra absorber layer
872  int k = abs(nAbs) - 1;
873  std::string namek = nm + "Side";
874  double rsi = rin + getSideD(k);
875  int in = 0;
876  for (int i = 0; i < getRzones() - 1; i++) {
877  if (rsi >= getRmax(i))
878  in = i + 1;
879  }
880  std::vector<double> pgonZ, pgonRmin, pgonRmax;
881  // index 0
882  pgonZ.emplace_back(0.0);
883  pgonRmin.emplace_back(rsi);
884  pgonRmax.emplace_back(rsi + getSideT(k));
885  // index 1
886  pgonZ.emplace_back(getZoff(in) + rsi * getTanTheta(in));
887  pgonRmin.emplace_back(rsi);
888  pgonRmax.emplace_back(pgonRmax[0]);
889  // index 2
890  pgonZ.emplace_back(getZoff(in) + pgonRmax[0] * getTanTheta(in));
891  pgonRmin.emplace_back(pgonRmax[1]);
892  pgonRmax.emplace_back(pgonRmax[1]);
893  DDSolid solid =
894  DDSolidFactory::polyhedra(DDName(namek, idNameSpace), 1, -alpha, 2 * alpha, pgonZ, pgonRmin, pgonRmax);
895 #ifdef EDM_ML_DEBUG
896  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Polyhedra made of " << getSideMat(k)
897  << " with 1 sector from " << convertRadToDeg(-alpha) << " to " << convertRadToDeg(alpha)
898  << " and with " << pgonZ.size() << " sections";
899  for (unsigned int ii = 0; ii < pgonZ.size(); ii++)
900  edm::LogVerbatim("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii]
901  << "\tRmax = " << pgonRmax[ii];
902 #endif
903 
905  DDMaterial matter(matName);
906  DDLogicalPart glog = DDLogicalPart(solid.ddname(), matter, solid);
907 
908  cpv.position(glog, laylog, 1, DDTranslation(), DDRotation());
909 #ifdef EDM_ML_DEBUG
910  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << glog.name() << " Number 1 positioned in " << laylog.name()
911  << " at (0,0,0) with no rotation";
912 #endif
913  if (nAbs < 0) {
914  DDLogicalPart mother = glog;
915  double rmid = pgonRmax[0];
916  for (int i = 0; i < getSideAbsorber(); i++) {
917  double alpha1 = atan(getSideAbsW(i) / rmid);
918  if (alpha1 > 0) {
919  std::string name = namek + getSideAbsName(i);
920  solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha1, 2 * alpha1, pgonZ, pgonRmin, pgonRmax);
921 #ifdef EDM_ML_DEBUG
922  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << solid.name() << " Polyhedra made of "
923  << getSideAbsMat(i) << " with 1 sector from " << convertRadToDeg(-alpha1) << " to "
924  << convertRadToDeg(alpha1) << " and with " << pgonZ.size() << " sections";
925  for (unsigned int ii = 0; ii < pgonZ.size(); ii++)
926  edm::LogVerbatim("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii]
927  << "\tRmax = " << pgonRmax[ii];
928 #endif
929 
931  DDMaterial matter(matName);
932  DDLogicalPart log = DDLogicalPart(solid.ddname(), matter, solid);
933 
934  cpv.position(log, mother, 1, DDTranslation(), DDRotation());
935 #ifdef EDM_ML_DEBUG
936  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << log.name() << " Number 1 positioned in "
937  << mother.name() << " at (0,0,0) with no rotation";
938 #endif
939  mother = log;
940  }
941  }
942  }
943  return glog;
944 }

References funct::abs(), zMuMuMuonUserData::alpha, angle_units::operators::convertRadToDeg(), DDBase< N, C >::ddname(), DDSplit(), dqmdumpme::first, getRmax(), getRzones(), getSideAbsMat(), getSideAbsName(), getSideAbsorber(), getSideAbsW(), getSideD(), getSideMat(), getSideT(), getTanTheta(), getZoff(), mps_fire::i, idNameSpace, cuy::ii, recoMuon::in, dqmdumpme::k, dqm-mbProfile::log, Skims_PA_cff::name, DDBase< N, C >::name(), DDSolidFactory::polyhedra(), DDCompactView::position(), rin, edm::second(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by constructInsideLayers().

◆ execute()

void DDHCalBarrelAlgo::execute ( DDCompactView cpv)
override

Definition at line 448 of file DDHCalBarrelAlgo.cc.

448  {
449 #ifdef EDM_ML_DEBUG
450  edm::LogVerbatim("HCalGeom") << "==>> Constructing DDHCalBarrelAlgo...";
451 #endif
453 #ifdef EDM_ML_DEBUG
454  edm::LogVerbatim("HCalGeom") << "<<== End of DDHCalBarrelAlgo construction";
455 #endif
456 }

References constructGeneralVolume().

◆ getAbsorbD()

double DDHCalBarrelAlgo::getAbsorbD ( unsigned int  i) const
inline

Definition at line 72 of file DDHCalBarrelAlgo.cc.

72 { return absorbD[i]; }

References mps_fire::i.

Referenced by constructMidLayer().

◆ getAbsorberN()

int DDHCalBarrelAlgo::getAbsorberN ( ) const
inline

Definition at line 69 of file DDHCalBarrelAlgo.cc.

69 { return nAbsorber; }

Referenced by constructMidLayer().

◆ getAbsorbMat()

const std::string& DDHCalBarrelAlgo::getAbsorbMat ( unsigned int  i) const
inline

Definition at line 71 of file DDHCalBarrelAlgo.cc.

71 { return absorbMat[i]; }

References mps_fire::i.

Referenced by constructMidLayer().

◆ getAbsorbName()

const std::string& DDHCalBarrelAlgo::getAbsorbName ( unsigned int  i) const
inline

Definition at line 70 of file DDHCalBarrelAlgo.cc.

70 { return absorbName[i]; }

References mps_fire::i.

Referenced by constructMidLayer().

◆ getAbsorbT()

double DDHCalBarrelAlgo::getAbsorbT ( unsigned int  i) const
inline

Definition at line 73 of file DDHCalBarrelAlgo.cc.

73 { return absorbT[i]; }

References mps_fire::i.

Referenced by constructMidLayer().

◆ getDetdP1()

double DDHCalBarrelAlgo::getDetdP1 ( unsigned int  i) const
inline

Definition at line 87 of file DDHCalBarrelAlgo.cc.

87 { return detdP1[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetdP2()

double DDHCalBarrelAlgo::getDetdP2 ( unsigned int  i) const
inline

Definition at line 88 of file DDHCalBarrelAlgo.cc.

88 { return detdP2[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetMat()

const std::string& DDHCalBarrelAlgo::getDetMat ( ) const
inline

Definition at line 83 of file DDHCalBarrelAlgo.cc.

83 { return detMat; }

Referenced by constructInsideLayers().

◆ getDetMatPl()

const std::string& DDHCalBarrelAlgo::getDetMatPl ( ) const
inline

Definition at line 84 of file DDHCalBarrelAlgo.cc.

84 { return detMatPl; }

Referenced by constructInsideDetectors().

◆ getDetMatSc()

const std::string& DDHCalBarrelAlgo::getDetMatSc ( ) const
inline

Definition at line 85 of file DDHCalBarrelAlgo.cc.

85 { return detMatSc; }

Referenced by constructInsideDetectors().

◆ getDetPosY()

int DDHCalBarrelAlgo::getDetPosY ( unsigned int  i) const
inline

Definition at line 96 of file DDHCalBarrelAlgo.cc.

96 { return detPosY[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetT11()

double DDHCalBarrelAlgo::getDetT11 ( unsigned int  i) const
inline

Definition at line 89 of file DDHCalBarrelAlgo.cc.

89 { return detT11[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetT12()

double DDHCalBarrelAlgo::getDetT12 ( unsigned int  i) const
inline

Definition at line 90 of file DDHCalBarrelAlgo.cc.

90 { return detT12[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetT21()

double DDHCalBarrelAlgo::getDetT21 ( unsigned int  i) const
inline

Definition at line 92 of file DDHCalBarrelAlgo.cc.

92 { return detT21[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetT22()

double DDHCalBarrelAlgo::getDetT22 ( unsigned int  i) const
inline

Definition at line 93 of file DDHCalBarrelAlgo.cc.

93 { return detT22[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetTsc()

double DDHCalBarrelAlgo::getDetTsc ( unsigned int  i) const
inline

Definition at line 91 of file DDHCalBarrelAlgo.cc.

91 { return detTsc[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetType()

int DDHCalBarrelAlgo::getDetType ( unsigned int  i) const
inline

Definition at line 86 of file DDHCalBarrelAlgo.cc.

86 { return detType[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetWidth1()

double DDHCalBarrelAlgo::getDetWidth1 ( unsigned int  i) const
inline

Definition at line 94 of file DDHCalBarrelAlgo.cc.

94 { return detWidth1[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getDetWidth2()

double DDHCalBarrelAlgo::getDetWidth2 ( unsigned int  i) const
inline

Definition at line 95 of file DDHCalBarrelAlgo.cc.

95 { return detWidth2[i]; }

References mps_fire::i.

Referenced by constructInsideDetectors().

◆ getGenMaterial()

const std::string& DDHCalBarrelAlgo::getGenMaterial ( ) const
inline

Definition at line 36 of file DDHCalBarrelAlgo.cc.

36 { return genMaterial; }

Referenced by constructGeneralVolume().

◆ getLayerAbsorb()

int DDHCalBarrelAlgo::getLayerAbsorb ( unsigned int  i) const
inline

Definition at line 58 of file DDHCalBarrelAlgo.cc.

58 { return layerAbsorb[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerAlpha()

double DDHCalBarrelAlgo::getLayerAlpha ( unsigned  i) const
inline

Definition at line 55 of file DDHCalBarrelAlgo.cc.

55 { return layerAlpha[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerD1()

double DDHCalBarrelAlgo::getLayerD1 ( unsigned  i) const
inline

Definition at line 53 of file DDHCalBarrelAlgo.cc.

53 { return layerD1[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerD2()

double DDHCalBarrelAlgo::getLayerD2 ( unsigned  i) const
inline

Definition at line 54 of file DDHCalBarrelAlgo.cc.

54 { return layerD2[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerGap()

double DDHCalBarrelAlgo::getLayerGap ( unsigned int  i) const
inline

Definition at line 59 of file DDHCalBarrelAlgo.cc.

59 { return layerGap[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerId()

int DDHCalBarrelAlgo::getLayerId ( unsigned  i) const
inline

Definition at line 49 of file DDHCalBarrelAlgo.cc.

49 { return layerId[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerLabel()

const std::string& DDHCalBarrelAlgo::getLayerLabel ( unsigned  i) const
inline

Definition at line 50 of file DDHCalBarrelAlgo.cc.

50 { return layerLabel[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerMaterial()

const std::string& DDHCalBarrelAlgo::getLayerMaterial ( unsigned  i) const
inline

Definition at line 51 of file DDHCalBarrelAlgo.cc.

51 { return layerMat[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerT1()

double DDHCalBarrelAlgo::getLayerT1 ( unsigned  i) const
inline

Definition at line 56 of file DDHCalBarrelAlgo.cc.

56 { return layerT1[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerT2()

double DDHCalBarrelAlgo::getLayerT2 ( unsigned  i) const
inline

Definition at line 57 of file DDHCalBarrelAlgo.cc.

57 { return layerT2[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getLayerWidth()

double DDHCalBarrelAlgo::getLayerWidth ( unsigned  i) const
inline

Definition at line 52 of file DDHCalBarrelAlgo.cc.

52 { return layerWidth[i]; }

References mps_fire::i.

Referenced by constructInsideSector().

◆ getMidAbsMat()

const std::string& DDHCalBarrelAlgo::getMidAbsMat ( unsigned int  i) const
inline

Definition at line 79 of file DDHCalBarrelAlgo.cc.

79 { return midMat[i]; }

References mps_fire::i.

Referenced by constructMidLayer().

◆ getMidAbsName()

const std::string& DDHCalBarrelAlgo::getMidAbsName ( unsigned int  i) const
inline

Definition at line 78 of file DDHCalBarrelAlgo.cc.

78 { return midName[i]; }

References mps_fire::i.

Referenced by constructMidLayer().

◆ getMidAbsorber()

int DDHCalBarrelAlgo::getMidAbsorber ( ) const
inline

Definition at line 77 of file DDHCalBarrelAlgo.cc.

77 { return nMidAbs; }

Referenced by constructMidLayer().

◆ getMidAbsT()

double DDHCalBarrelAlgo::getMidAbsT ( unsigned int  i) const
inline

Definition at line 81 of file DDHCalBarrelAlgo.cc.

81 { return midT[i]; }

References mps_fire::i.

Referenced by constructMidLayer().

◆ getMidAbsW()

double DDHCalBarrelAlgo::getMidAbsW ( unsigned int  i) const
inline

Definition at line 80 of file DDHCalBarrelAlgo.cc.

80 { return midW[i]; }

References mps_fire::i.

Referenced by constructMidLayer().

◆ getMiddleD()

double DDHCalBarrelAlgo::getMiddleD ( ) const
inline

Definition at line 75 of file DDHCalBarrelAlgo.cc.

75 { return middleD; }

Referenced by constructMidLayer().

◆ getMiddleMat()

const std::string& DDHCalBarrelAlgo::getMiddleMat ( ) const
inline

Definition at line 74 of file DDHCalBarrelAlgo.cc.

74 { return middleMat; }

Referenced by constructMidLayer().

◆ getMiddleW()

double DDHCalBarrelAlgo::getMiddleW ( ) const
inline

Definition at line 76 of file DDHCalBarrelAlgo.cc.

76 { return middleW; }

Referenced by constructMidLayer().

◆ getNhalf()

int DDHCalBarrelAlgo::getNhalf ( ) const
inline

Definition at line 39 of file DDHCalBarrelAlgo.cc.

39 { return nhalf; }

Referenced by constructGeneralVolume().

◆ getNLayers()

int DDHCalBarrelAlgo::getNLayers ( ) const
inline

Definition at line 48 of file DDHCalBarrelAlgo.cc.

48 { return nLayers; }

References MuonTCMETValueMapProducer_cff::nLayers.

Referenced by constructInsideSector().

◆ getNsectors()

int DDHCalBarrelAlgo::getNsectors ( ) const
inline

Definition at line 37 of file DDHCalBarrelAlgo.cc.

37 { return nsectors; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ getNsectortot()

int DDHCalBarrelAlgo::getNsectortot ( ) const
inline

Definition at line 38 of file DDHCalBarrelAlgo.cc.

38 { return nsectortot; }

Referenced by constructGeneralVolume().

◆ getRin()

double DDHCalBarrelAlgo::getRin ( ) const
inline

Definition at line 40 of file DDHCalBarrelAlgo.cc.

40 { return rin; }

Referenced by constructGeneralVolume(), and constructInsideSector().

◆ getRmax()

double DDHCalBarrelAlgo::getRmax ( unsigned int  i) const
inline

◆ getRout()

double DDHCalBarrelAlgo::getRout ( ) const
inline

Definition at line 41 of file DDHCalBarrelAlgo.cc.

41 { return rout; }

Referenced by constructGeneralVolume().

◆ getRzones()

int DDHCalBarrelAlgo::getRzones ( ) const
inline

◆ getSideAbsMat()

const std::string& DDHCalBarrelAlgo::getSideAbsMat ( unsigned int  i) const
inline

Definition at line 66 of file DDHCalBarrelAlgo.cc.

66 { return sideAbsMat[i]; }

References mps_fire::i.

Referenced by constructSideLayer().

◆ getSideAbsName()

const std::string& DDHCalBarrelAlgo::getSideAbsName ( unsigned int  i) const
inline

Definition at line 65 of file DDHCalBarrelAlgo.cc.

65 { return sideAbsName[i]; }

References mps_fire::i.

Referenced by constructSideLayer().

◆ getSideAbsorber()

int DDHCalBarrelAlgo::getSideAbsorber ( ) const
inline

Definition at line 64 of file DDHCalBarrelAlgo.cc.

64 { return nSideAbs; }

Referenced by constructSideLayer().

◆ getSideAbsW()

double DDHCalBarrelAlgo::getSideAbsW ( unsigned int  i) const
inline

Definition at line 67 of file DDHCalBarrelAlgo.cc.

67 { return sideAbsW[i]; }

References mps_fire::i.

Referenced by constructSideLayer().

◆ getSideD()

double DDHCalBarrelAlgo::getSideD ( unsigned int  i) const
inline

Definition at line 62 of file DDHCalBarrelAlgo.cc.

62 { return sideD[i]; }

References mps_fire::i.

Referenced by constructSideLayer().

◆ getSideMat()

const std::string& DDHCalBarrelAlgo::getSideMat ( unsigned int  i) const
inline

Definition at line 61 of file DDHCalBarrelAlgo.cc.

61 { return sideMat[i]; }

References mps_fire::i.

Referenced by constructSideLayer().

◆ getSideT()

double DDHCalBarrelAlgo::getSideT ( unsigned int  i) const
inline

Definition at line 63 of file DDHCalBarrelAlgo.cc.

63 { return sideT[i]; }

References mps_fire::i.

Referenced by constructSideLayer().

◆ getTanTheta()

double DDHCalBarrelAlgo::getTanTheta ( unsigned int  i) const
inline

◆ getTheta()

double DDHCalBarrelAlgo::getTheta ( unsigned int  i) const
inline

Definition at line 44 of file DDHCalBarrelAlgo.cc.

44 { return theta[i]; }

References mps_fire::i, and theta().

◆ getZoff()

double DDHCalBarrelAlgo::getZoff ( unsigned int  i) const
inline

◆ initialize()

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

Definition at line 300 of file DDHCalBarrelAlgo.cc.

304  {
305  genMaterial = sArgs["MaterialName"];
306  nsectors = int(nArgs["NSector"]);
307  nsectortot = int(nArgs["NSectorTot"]);
308  nhalf = int(nArgs["NHalf"]);
309  rin = nArgs["RIn"];
310  rout = nArgs["ROut"];
311  rzones = int(nArgs["RZones"]);
312  rotHalf = sArgs["RotHalf"];
313  rotns = sArgs["RotNameSpace"];
314 
315  theta = vArgs["Theta"];
316  rmax = vArgs["RMax"];
317  zoff = vArgs["ZOff"];
318  for (int i = 0; i < rzones; i++) {
319  ttheta.emplace_back(tan(theta[i])); //*deg already done in XML
320  }
321  if (rzones > 3)
322  rmax[2] = (zoff[3] - zoff[2]) / ttheta[2];
323 
324 #ifdef EDM_ML_DEBUG
325  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: General material " << genMaterial << "\tSectors " << nsectors
326  << ", " << nsectortot << "\tHalves " << nhalf << "\tRotation matrix " << rotns << ":"
327  << rotHalf << "\n\t\t" << rin << "\t" << rout << "\t" << rzones;
328  for (int i = 0; i < rzones; i++)
329  edm::LogVerbatim("HCalGeom") << "\tTheta[" << i << "] = " << theta[i] << "\trmax[" << i << "] = " << rmax[i]
330  << "\tzoff[" << i << "] = " << zoff[i];
331 #endif
332  //Layers
334  nLayers = int(nArgs["NLayers"]);
335 #ifdef EDM_ML_DEBUG
336  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: Layer\t" << nLayers;
337 #endif
338  layerId = dbl_to_int(vArgs["Id"]);
339  layerLabel = vsArgs["LayerLabel"];
340  layerMat = vsArgs["LayerMat"];
341  layerWidth = vArgs["LayerWidth"];
342  layerD1 = vArgs["D1"];
343  layerD2 = vArgs["D2"];
344  layerAlpha = vArgs["Alpha2"];
345  layerT1 = vArgs["T1"];
346  layerT2 = vArgs["T2"];
347  layerAbsorb = dbl_to_int(vArgs["AbsL"]);
348  layerGap = vArgs["Gap"];
349 #ifdef EDM_ML_DEBUG
350  for (int i = 0; i < nLayers; i++)
351  edm::LogVerbatim("HCalGeom") << layerLabel[i] << "\t" << layerId[i] << "\t" << layerMat[i] << "\t" << layerWidth[i]
352  << "\t" << layerD1[i] << "\t" << layerD2[i] << "\t" << layerAlpha[i] << "\t"
353  << layerT1[i] << "\t" << layerT2[i] << "\t" << layerAbsorb[i] << "\t" << layerGap[i];
354 #endif
355 
357  //Absorber Layers and middle part
358  absorbName = vsArgs["AbsorbName"];
359  absorbMat = vsArgs["AbsorbMat"];
360  absorbD = vArgs["AbsorbD"];
361  absorbT = vArgs["AbsorbT"];
362  nAbsorber = absorbName.size();
363 #ifdef EDM_ML_DEBUG
364  for (int i = 0; i < nAbsorber; i++)
365  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << absorbName[i] << " Material " << absorbMat[i] << " d "
366  << absorbD[i] << " t " << absorbT[i];
367 #endif
368  middleMat = sArgs["MiddleMat"];
369  middleD = nArgs["MiddleD"];
370  middleW = nArgs["MiddleW"];
371 #ifdef EDM_ML_DEBUG
372  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: Middle material " << middleMat << " d " << middleD << " w "
373  << middleW;
374 #endif
375  midName = vsArgs["MidAbsName"];
376  midMat = vsArgs["MidAbsMat"];
377  midW = vArgs["MidAbsW"];
378  midT = vArgs["MidAbsT"];
379  nMidAbs = midName.size();
380 #ifdef EDM_ML_DEBUG
381  for (int i = 0; i < nMidAbs; i++)
382  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << midName[i] << " Material " << midMat[i] << " W " << midW[i]
383  << " T " << midT[i];
384 #endif
385 
386  //Absorber layers in the side part
387  sideMat = vsArgs["SideMat"];
388  sideD = vArgs["SideD"];
389  sideT = vArgs["SideT"];
390 #ifdef EDM_ML_DEBUG
391  for (unsigned int i = 0; i < sideMat.size(); i++)
392  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: Side material " << sideMat[i] << " d " << sideD[i] << " t "
393  << sideT[i];
394 #endif
395  sideAbsName = vsArgs["SideAbsName"];
396  sideAbsMat = vsArgs["SideAbsMat"];
397  sideAbsW = vArgs["SideAbsW"];
398  nSideAbs = sideAbsName.size();
399 #ifdef EDM_ML_DEBUG
400  for (int i = 0; i < nSideAbs; i++)
401  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: " << sideAbsName[i] << " Material " << sideAbsMat[i] << " W "
402  << sideAbsW[i];
403 #endif
404 
406  // Detectors
407 
408  detMat = sArgs["DetMat"];
409  detRot = sArgs["DetRot"];
410  detMatPl = sArgs["DetMatPl"];
411  detMatSc = sArgs["DetMatSc"];
412 #ifdef EDM_ML_DEBUG
413  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: Detector (" << nLayers << ") Rotation matrix " << rotns << ":"
414  << detRot << "\n\t\t" << detMat << "\t" << detMatPl << "\t" << detMatSc;
415 #endif
416  detType = dbl_to_int(vArgs["DetType"]);
417  detdP1 = vArgs["DetdP1"];
418  detdP2 = vArgs["DetdP2"];
419  detT11 = vArgs["DetT11"];
420  detT12 = vArgs["DetT12"];
421  detTsc = vArgs["DetTsc"];
422  detT21 = vArgs["DetT21"];
423  detT22 = vArgs["DetT22"];
424  detWidth1 = vArgs["DetWidth1"];
425  detWidth2 = vArgs["DetWidth2"];
426  detPosY = dbl_to_int(vArgs["DetPosY"]);
427 #ifdef EDM_ML_DEBUG
428  for (int i = 0; i < nLayers; i++)
429  edm::LogVerbatim("HCalGeom") << i + 1 << "\t" << detType[i] << "\t" << detdP1[i] << ", " << detdP2[i] << "\t"
430  << detT11[i] << ", " << detT12[i] << "\t" << detTsc[i] << "\t" << detT21[i] << ", "
431  << detT22[i] << "\t" << detWidth1[i] << "\t" << detWidth2[i] << "\t" << detPosY[i];
432 #endif
433 
434  // idName = parentName.name();
435  idName = sArgs["MotherName"];
437  idOffset = int(nArgs["IdOffset"]);
438 #ifdef EDM_ML_DEBUG
439  edm::LogVerbatim("HCalGeom") << "DDHCalBarrelAlgo: Parent " << parent().name() << " idName " << idName
440  << " NameSpace " << idNameSpace << " Offset " << idOffset;
441 #endif
442 }

References absorbD, absorbMat, absorbName, absorbT, dbl_to_int(), detdP1, detdP2, detMat, detMatPl, detMatSc, detPosY, detRot, detT11, detT12, detT21, detT22, detTsc, detType, detWidth1, detWidth2, genMaterial, mps_fire::i, idName, idNameSpace, idOffset, createfilelist::int, layerAbsorb, layerAlpha, layerD1, layerD2, layerGap, layerId, layerLabel, layerMat, layerT1, layerT2, layerWidth, middleD, middleMat, middleW, midMat, midName, midT, midW, nAbsorber, nhalf, nLayers, nMidAbs, DDCurrentNamespace::ns(), nsectors, nsectortot, nSideAbs, class-composition::parent, rin, rmax, rotHalf, rotns, rout, rzones, sideAbsMat, sideAbsName, sideAbsW, sideD, sideMat, sideT, funct::tan(), theta, ttheta, and zoff.

Member Data Documentation

◆ absorbD

std::vector<double> DDHCalBarrelAlgo::absorbD
private

Definition at line 200 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ absorbMat

std::vector<std::string> DDHCalBarrelAlgo::absorbMat
private

Definition at line 199 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ absorbName

std::vector<std::string> DDHCalBarrelAlgo::absorbName
private

Definition at line 198 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ absorbT

std::vector<double> DDHCalBarrelAlgo::absorbT
private

Definition at line 201 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detdP1

std::vector<double> DDHCalBarrelAlgo::detdP1
private

Definition at line 236 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detdP2

std::vector<double> DDHCalBarrelAlgo::detdP2
private

Definition at line 237 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detMat

std::string DDHCalBarrelAlgo::detMat
private

Definition at line 231 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detMatPl

std::string DDHCalBarrelAlgo::detMatPl
private

Definition at line 233 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detMatSc

std::string DDHCalBarrelAlgo::detMatSc
private

Definition at line 234 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detPosY

std::vector<int> DDHCalBarrelAlgo::detPosY
private

Definition at line 245 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detRot

std::string DDHCalBarrelAlgo::detRot
private

Definition at line 232 of file DDHCalBarrelAlgo.cc.

Referenced by constructInsideLayers(), and initialize().

◆ detT11

std::vector<double> DDHCalBarrelAlgo::detT11
private

Definition at line 238 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detT12

std::vector<double> DDHCalBarrelAlgo::detT12
private

Definition at line 239 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detT21

std::vector<double> DDHCalBarrelAlgo::detT21
private

Definition at line 241 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detT22

std::vector<double> DDHCalBarrelAlgo::detT22
private

Definition at line 242 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detTsc

std::vector<double> DDHCalBarrelAlgo::detTsc
private

Definition at line 240 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detType

std::vector<int> DDHCalBarrelAlgo::detType
private

Definition at line 235 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detWidth1

std::vector<double> DDHCalBarrelAlgo::detWidth1
private

Definition at line 243 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ detWidth2

std::vector<double> DDHCalBarrelAlgo::detWidth2
private

Definition at line 244 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ genMaterial

std::string DDHCalBarrelAlgo::genMaterial
private

Definition at line 145 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ idName

std::string DDHCalBarrelAlgo::idName
private

◆ idNameSpace

std::string DDHCalBarrelAlgo::idNameSpace
private

◆ idOffset

int DDHCalBarrelAlgo::idOffset
private

Definition at line 249 of file DDHCalBarrelAlgo.cc.

Referenced by constructInsideLayers(), and initialize().

◆ layerAbsorb

std::vector<int> DDHCalBarrelAlgo::layerAbsorb
private

Definition at line 194 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerAlpha

std::vector<double> DDHCalBarrelAlgo::layerAlpha
private

Definition at line 191 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerD1

std::vector<double> DDHCalBarrelAlgo::layerD1
private

Definition at line 189 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerD2

std::vector<double> DDHCalBarrelAlgo::layerD2
private

Definition at line 190 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerGap

std::vector<double> DDHCalBarrelAlgo::layerGap
private

Definition at line 195 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerId

std::vector<int> DDHCalBarrelAlgo::layerId
private

Definition at line 185 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerLabel

std::vector<std::string> DDHCalBarrelAlgo::layerLabel
private

Definition at line 186 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerMat

std::vector<std::string> DDHCalBarrelAlgo::layerMat
private

Definition at line 187 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerT1

std::vector<double> DDHCalBarrelAlgo::layerT1
private

Definition at line 192 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerT2

std::vector<double> DDHCalBarrelAlgo::layerT2
private

Definition at line 193 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ layerWidth

std::vector<double> DDHCalBarrelAlgo::layerWidth
private

Definition at line 188 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ middleD

double DDHCalBarrelAlgo::middleD
private

Definition at line 203 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ middleMat

std::string DDHCalBarrelAlgo::middleMat
private

Definition at line 202 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ middleW

double DDHCalBarrelAlgo::middleW
private

Definition at line 204 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ midMat

std::vector<std::string> DDHCalBarrelAlgo::midMat
private

Definition at line 207 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ midName

std::vector<std::string> DDHCalBarrelAlgo::midName
private

Definition at line 206 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ midT

std::vector<double> DDHCalBarrelAlgo::midT
private

Definition at line 209 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ midW

std::vector<double> DDHCalBarrelAlgo::midW
private

Definition at line 208 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ nAbsorber

int DDHCalBarrelAlgo::nAbsorber
private

Definition at line 197 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ nhalf

int DDHCalBarrelAlgo::nhalf
private

Definition at line 148 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ nLayers

int DDHCalBarrelAlgo::nLayers
private

Definition at line 184 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ nMidAbs

int DDHCalBarrelAlgo::nMidAbs
private

Definition at line 205 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ nsectors

int DDHCalBarrelAlgo::nsectors
private

Definition at line 146 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ nsectortot

int DDHCalBarrelAlgo::nsectortot
private

Definition at line 147 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ nSideAbs

int DDHCalBarrelAlgo::nSideAbs
private

Definition at line 214 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ rin

double DDHCalBarrelAlgo::rin
private

◆ rmax

std::vector<double> DDHCalBarrelAlgo::rmax
private

Definition at line 152 of file DDHCalBarrelAlgo.cc.

Referenced by constructMidLayer(), and initialize().

◆ rotHalf

std::string DDHCalBarrelAlgo::rotHalf
private

Definition at line 155 of file DDHCalBarrelAlgo.cc.

Referenced by constructGeneralVolume(), and initialize().

◆ rotns

std::string DDHCalBarrelAlgo::rotns
private

Definition at line 156 of file DDHCalBarrelAlgo.cc.

Referenced by constructGeneralVolume(), constructInsideLayers(), and initialize().

◆ rout

double DDHCalBarrelAlgo::rout
private

Definition at line 149 of file DDHCalBarrelAlgo.cc.

Referenced by constructGeneralVolume(), constructInsideSector(), and initialize().

◆ rzones

int DDHCalBarrelAlgo::rzones
private

Definition at line 150 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ sideAbsMat

std::vector<std::string> DDHCalBarrelAlgo::sideAbsMat
private

Definition at line 216 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ sideAbsName

std::vector<std::string> DDHCalBarrelAlgo::sideAbsName
private

Definition at line 215 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ sideAbsW

std::vector<double> DDHCalBarrelAlgo::sideAbsW
private

Definition at line 217 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ sideD

std::vector<double> DDHCalBarrelAlgo::sideD
private

Definition at line 212 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ sideMat

std::vector<std::string> DDHCalBarrelAlgo::sideMat
private

Definition at line 211 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ sideT

std::vector<double> DDHCalBarrelAlgo::sideT
private

Definition at line 213 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ theta

std::vector<double> DDHCalBarrelAlgo::theta
private

Definition at line 151 of file DDHCalBarrelAlgo.cc.

Referenced by constructGeneralVolume(), initialize(), and Tau.Tau::zImpact().

◆ ttheta

std::vector<double> DDHCalBarrelAlgo::ttheta
private

Definition at line 154 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

◆ zoff

std::vector<double> DDHCalBarrelAlgo::zoff
private

Definition at line 153 of file DDHCalBarrelAlgo.cc.

Referenced by initialize().

DDHCalBarrelAlgo::detRot
std::string detRot
Definition: DDHCalBarrelAlgo.cc:232
DDHCalBarrelAlgo::getDetT21
double getDetT21(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:92
DDHCalBarrelAlgo::genMaterial
std::string genMaterial
Definition: DDHCalBarrelAlgo.cc:145
DDHCalBarrelAlgo::getDetdP1
double getDetdP1(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:87
DDHCalBarrelAlgo::detT21
std::vector< double > detT21
Definition: DDHCalBarrelAlgo.cc:241
DDHCalBarrelAlgo::detMat
std::string detMat
Definition: DDHCalBarrelAlgo.cc:231
RandomServiceHelper.t2
t2
Definition: RandomServiceHelper.py:257
DDHCalBarrelAlgo::layerT1
std::vector< double > layerT1
Definition: DDHCalBarrelAlgo.cc:192
DDAxes::y
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
DDHCalBarrelAlgo::getLayerAlpha
double getLayerAlpha(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:55
DDHCalBarrelAlgo::rotHalf
std::string rotHalf
Definition: DDHCalBarrelAlgo.cc:155
mps_fire.i
i
Definition: mps_fire.py:355
DDHCalBarrelAlgo::getSideAbsName
const std::string & getSideAbsName(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:65
DDHCalBarrelAlgo::getNsectortot
int getNsectortot() const
Definition: DDHCalBarrelAlgo.cc:38
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
DDHCalBarrelAlgo::getAbsorbT
double getAbsorbT(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:73
DDHCalBarrelAlgo::constructGeneralVolume
void constructGeneralVolume(DDCompactView &cpv)
Definition: DDHCalBarrelAlgo.cc:460
DDHCalBarrelAlgo::getAbsorbMat
const std::string & getAbsorbMat(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:71
DDHCalBarrelAlgo::rzones
int rzones
Definition: DDHCalBarrelAlgo.cc:150
DDHCalBarrelAlgo::detWidth2
std::vector< double > detWidth2
Definition: DDHCalBarrelAlgo.cc:244
DDName
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
DDHCalBarrelAlgo::nLayers
int nLayers
Definition: DDHCalBarrelAlgo.cc:184
DDHCalBarrelAlgo::detdP2
std::vector< double > detdP2
Definition: DDHCalBarrelAlgo.cc:237
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
DDHCalBarrelAlgo::getRmax
double getRmax(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:45
DDHCalBarrelAlgo::layerGap
std::vector< double > layerGap
Definition: DDHCalBarrelAlgo.cc:195
DDHCalBarrelAlgo::getDetMatPl
const std::string & getDetMatPl() const
Definition: DDHCalBarrelAlgo.cc:84
angle_units::operators::convertRadToDeg
constexpr NumType convertRadToDeg(NumType radians)
Definition: angle_units.h:21
DDHCalBarrelAlgo::getDetT22
double getDetT22(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:93
DDHCalBarrelAlgo::getDetWidth1
double getDetWidth1(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:94
DDHCalBarrelAlgo::middleMat
std::string middleMat
Definition: DDHCalBarrelAlgo.cc:202
formatAsDegreesInInteger
std::string formatAsDegreesInInteger(double radianVal)
Definition: DDTypes.cc:79
DDHCalBarrelAlgo::layerAlpha
std::vector< double > layerAlpha
Definition: DDHCalBarrelAlgo.cc:191
DDHCalBarrelAlgo::getSideT
double getSideT(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:63
DDHCalBarrelAlgo::sideAbsName
std::vector< std::string > sideAbsName
Definition: DDHCalBarrelAlgo.cc:215
DDHCalBarrelAlgo::sideAbsMat
std::vector< std::string > sideAbsMat
Definition: DDHCalBarrelAlgo.cc:216
DDHCalBarrelAlgo::layerAbsorb
std::vector< int > layerAbsorb
Definition: DDHCalBarrelAlgo.cc:194
DDHCalBarrelAlgo::sideD
std::vector< double > sideD
Definition: DDHCalBarrelAlgo.cc:212
DDHCalBarrelAlgo::absorbT
std::vector< double > absorbT
Definition: DDHCalBarrelAlgo.cc:201
DDHCalBarrelAlgo::getNsectors
int getNsectors() const
Definition: DDHCalBarrelAlgo.cc:37
DDHCalBarrelAlgo::getMidAbsW
double getMidAbsW(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:80
DDHCalBarrelAlgo::idOffset
int idOffset
Definition: DDHCalBarrelAlgo.cc:249
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
DDHCalBarrelAlgo::nsectortot
int nsectortot
Definition: DDHCalBarrelAlgo.cc:147
DDHCalBarrelAlgo::layerT2
std::vector< double > layerT2
Definition: DDHCalBarrelAlgo.cc:193
DDHCalBarrelAlgo::detTsc
std::vector< double > detTsc
Definition: DDHCalBarrelAlgo.cc:240
DDHCalBarrelAlgo::absorbName
std::vector< std::string > absorbName
Definition: DDHCalBarrelAlgo.cc:198
DDAxes::x
DDHCalBarrelAlgo::getLayerAbsorb
int getLayerAbsorb(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:58
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
DDHCalBarrelAlgo::midW
std::vector< double > midW
Definition: DDHCalBarrelAlgo.cc:208
DDHCalBarrelAlgo::midName
std::vector< std::string > midName
Definition: DDHCalBarrelAlgo.cc:206
DDHCalBarrelAlgo::detT22
std::vector< double > detT22
Definition: DDHCalBarrelAlgo.cc:242
dqmdumpme.first
first
Definition: dqmdumpme.py:55
DDHCalBarrelAlgo::getMidAbsT
double getMidAbsT(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:81
DDHCalBarrelAlgo::getMiddleD
double getMiddleD() const
Definition: DDHCalBarrelAlgo.cc:75
DDHCalBarrelAlgo::sideMat
std::vector< std::string > sideMat
Definition: DDHCalBarrelAlgo.cc:211
DDHCalBarrelAlgo::sideT
std::vector< double > sideT
Definition: DDHCalBarrelAlgo.cc:213
DDHCalBarrelAlgo::getLayerT1
double getLayerT1(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:56
DDHCalBarrelAlgo::getLayerId
int getLayerId(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:49
DDHCalBarrelAlgo::getMidAbsMat
const std::string & getMidAbsMat(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:79
DDHCalBarrelAlgo::getDetT12
double getDetT12(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:90
DDHCalBarrelAlgo::getAbsorberN
int getAbsorberN() const
Definition: DDHCalBarrelAlgo.cc:69
DDHCalBarrelAlgo::rout
double rout
Definition: DDHCalBarrelAlgo.cc:149
DDHCalBarrelAlgo::constructMidLayer
DDLogicalPart constructMidLayer(const DDLogicalPart &laylog, const std::string &nm, double rin, double alpha, DDCompactView &cpv)
Definition: DDHCalBarrelAlgo.cc:946
DDMaterial
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:45
DDHCalBarrelAlgo::midMat
std::vector< std::string > midMat
Definition: DDHCalBarrelAlgo.cc:207
DDHCalBarrelAlgo::middleD
double middleD
Definition: DDHCalBarrelAlgo.cc:203
DDHCalBarrelAlgo::getAbsorbD
double getAbsorbD(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:72
RandomServiceHelper.t1
t1
Definition: RandomServiceHelper.py:256
DDHCalBarrelAlgo::getRzones
int getRzones() const
Definition: DDHCalBarrelAlgo.cc:42
DDHCalBarrelAlgo::detMatPl
std::string detMatPl
Definition: DDHCalBarrelAlgo.cc:233
DDHCalBarrelAlgo::getRout
double getRout() const
Definition: DDHCalBarrelAlgo.cc:41
DDHCalBarrelAlgo::getLayerGap
double getLayerGap(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:59
SiStripMonitorCluster_cfi.zmax
zmax
Definition: SiStripMonitorCluster_cfi.py:201
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
DDHCalBarrelAlgo::nsectors
int nsectors
Definition: DDHCalBarrelAlgo.cc:146
DDTranslation
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
DDBase::name
const N & name() const
Definition: DDBase.h:59
DDHCalBarrelAlgo::getLayerLabel
const std::string & getLayerLabel(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:50
DDHCalBarrelAlgo::detPosY
std::vector< int > detPosY
Definition: DDHCalBarrelAlgo.cc:245
DDHCalBarrelAlgo::getDetdP2
double getDetdP2(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:88
DDHCalBarrelAlgo::getSideAbsW
double getSideAbsW(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:67
DDHCalBarrelAlgo::detType
std::vector< int > detType
Definition: DDHCalBarrelAlgo.cc:235
dqmdumpme.k
k
Definition: dqmdumpme.py:60
DDHCalBarrelAlgo::getLayerWidth
double getLayerWidth(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:52
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DDHCalBarrelAlgo::zoff
std::vector< double > zoff
Definition: DDHCalBarrelAlgo.cc:153
DDHCalBarrelAlgo::absorbD
std::vector< double > absorbD
Definition: DDHCalBarrelAlgo.cc:200
DDHCalBarrelAlgo::ttheta
std::vector< double > ttheta
Definition: DDHCalBarrelAlgo.cc:154
DDHCalBarrelAlgo::theta
std::vector< double > theta
Definition: DDHCalBarrelAlgo.cc:151
DDHCalBarrelAlgo::constructInsideDetectors
void constructInsideDetectors(const DDLogicalPart &detector, const std::string &name, int id, double dx, double dy, double dz, int type, DDCompactView &cpv)
Definition: DDHCalBarrelAlgo.cc:1092
DDHCalBarrelAlgo::layerWidth
std::vector< double > layerWidth
Definition: DDHCalBarrelAlgo.cc:188
idealTransformation.rotation
dictionary rotation
Definition: idealTransformation.py:1
DDHCalBarrelAlgo::getSideD
double getSideD(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:62
DDHCalBarrelAlgo::getLayerT2
double getLayerT2(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:57
DDHCalBarrelAlgo::idNameSpace
std::string idNameSpace
Definition: DDHCalBarrelAlgo.cc:248
DDBase::ddname
const N & ddname() const
Definition: DDBase.h:61
DDHCalBarrelAlgo::layerD2
std::vector< double > layerD2
Definition: DDHCalBarrelAlgo.cc:190
DDHCalBarrelAlgo::nAbsorber
int nAbsorber
Definition: DDHCalBarrelAlgo.cc:197
DDHCalBarrelAlgo::getRin
double getRin() const
Definition: DDHCalBarrelAlgo.cc:40
DDHCalBarrelAlgo::constructInsideSector
void constructInsideSector(const DDLogicalPart &sector, DDCompactView &cpv)
Definition: DDHCalBarrelAlgo.cc:641
recoMuon::in
Definition: RecoMuonEnumerators.h:6
DDHCalBarrelAlgo::detT11
std::vector< double > detT11
Definition: DDHCalBarrelAlgo.cc:238
DDHCalBarrelAlgo::getDetMatSc
const std::string & getDetMatSc() const
Definition: DDHCalBarrelAlgo.cc:85
DDLogicalPart
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Definition: DDLogicalPart.h:93
DDHCalBarrelAlgo::getZoff
double getZoff(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:46
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
createfilelist.int
int
Definition: createfilelist.py:10
DDHCalBarrelAlgo::rmax
std::vector< double > rmax
Definition: DDHCalBarrelAlgo.cc:152
DDHCalBarrelAlgo::getSideMat
const std::string & getSideMat(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:61
edm::LogVerbatim
Definition: MessageLogger.h:297
DDHCalBarrelAlgo::rotns
std::string rotns
Definition: DDHCalBarrelAlgo.cc:156
DDHCalBarrelAlgo::absorbMat
std::vector< std::string > absorbMat
Definition: DDHCalBarrelAlgo.cc:199
PVValHelper::dy
Definition: PVValidationHelpers.h:49
DDHCalBarrelAlgo::middleW
double middleW
Definition: DDHCalBarrelAlgo.cc:204
DDHCalBarrelAlgo::layerD1
std::vector< double > layerD1
Definition: DDHCalBarrelAlgo.cc:189
DDHCalBarrelAlgo::detT12
std::vector< double > detT12
Definition: DDHCalBarrelAlgo.cc:239
DDHCalBarrelAlgo::getNhalf
int getNhalf() const
Definition: DDHCalBarrelAlgo.cc:39
DDHCalBarrelAlgo::midT
std::vector< double > midT
Definition: DDHCalBarrelAlgo.cc:209
DDHCalBarrelAlgo::getDetMat
const std::string & getDetMat() const
Definition: DDHCalBarrelAlgo.cc:83
DDHCalBarrelAlgo::detdP1
std::vector< double > detdP1
Definition: DDHCalBarrelAlgo.cc:236
DDHCalBarrelAlgo::getMiddleMat
const std::string & getMiddleMat() const
Definition: DDHCalBarrelAlgo.cc:74
DDHCalBarrelAlgo::detWidth1
std::vector< double > detWidth1
Definition: DDHCalBarrelAlgo.cc:243
DDHCalBarrelAlgo::getLayerMaterial
const std::string & getLayerMaterial(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:51
DDHCalBarrelAlgo::detMatSc
std::string detMatSc
Definition: DDHCalBarrelAlgo.cc:234
DDAxes::phi
DDHCalBarrelAlgo::constructSideLayer
DDLogicalPart constructSideLayer(const DDLogicalPart &laylog, const std::string &nm, int nAbs, double rin, double alpha, DDCompactView &cpv)
Definition: DDHCalBarrelAlgo.cc:869
DDHCalBarrelAlgo::sideAbsW
std::vector< double > sideAbsW
Definition: DDHCalBarrelAlgo.cc:217
DDHCalBarrelAlgo::getAbsorbName
const std::string & getAbsorbName(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:70
type
type
Definition: HCALResponse.h:21
DDHCalBarrelAlgo::getDetPosY
int getDetPosY(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:96
DDHCalBarrelAlgo::getMidAbsorber
int getMidAbsorber() const
Definition: DDHCalBarrelAlgo.cc:77
DDHCalBarrelAlgo::constructInsideLayers
void constructInsideLayers(const DDLogicalPart &laylog, const std::string &name, int id, int nAbs, double rin, double d1, double alpha1, double d2, double alpha2, double t1, double t2, DDCompactView &cpv)
Definition: DDHCalBarrelAlgo.cc:763
PVValHelper::dz
Definition: PVValidationHelpers.h:50
DDHCalBarrelAlgo::getDetT11
double getDetT11(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:89
DDCurrentNamespace::ns
static std::string & ns()
Definition: DDCurrentNamespace.cc:3
DDHCalBarrelAlgo::getTanTheta
double getTanTheta(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:43
DDHCalBarrelAlgo::rin
double rin
Definition: DDHCalBarrelAlgo.cc:149
DDHCalBarrelAlgo::nMidAbs
int nMidAbs
Definition: DDHCalBarrelAlgo.cc:205
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
DDHCalBarrelAlgo::getSideAbsorber
int getSideAbsorber() const
Definition: DDHCalBarrelAlgo.cc:64
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
DDSolid
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
DDRotation
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:57
DDHCalBarrelAlgo::getNLayers
int getNLayers() const
Definition: DDHCalBarrelAlgo.cc:48
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
DDHCalBarrelAlgo::layerLabel
std::vector< std::string > layerLabel
Definition: DDHCalBarrelAlgo.cc:186
DDHCalBarrelAlgo::nhalf
int nhalf
Definition: DDHCalBarrelAlgo.cc:148
DDHCalBarrelAlgo::getLayerD2
double getLayerD2(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:54
DDHCalBarrelAlgo::getGenMaterial
const std::string & getGenMaterial() const
Definition: DDHCalBarrelAlgo.cc:36
hgcalTestNeighbor_cfi.detector
detector
Definition: hgcalTestNeighbor_cfi.py:6
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
DDHCalBarrelAlgo::idName
std::string idName
Definition: DDHCalBarrelAlgo.cc:247
DDHCalBarrelAlgo::getSideAbsMat
const std::string & getSideAbsMat(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:66
DDHCalBarrelAlgo::getLayerD1
double getLayerD1(unsigned i) const
Definition: DDHCalBarrelAlgo.cc:53
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
DDHCalBarrelAlgo::getMidAbsName
const std::string & getMidAbsName(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:78
DDHCalBarrelAlgo::getDetWidth2
double getDetWidth2(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:95
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
DDSolidFactory::box
static DDSolid box(const DDName &name, double xHalf, double yHalf, double zHalf)
Creates a box with side length 2*xHalf, 2*yHalf, 2*zHalf.
Definition: DDSolid.cc:533
class-composition.parent
parent
Definition: class-composition.py:88
cuy.ii
ii
Definition: cuy.py:590
PVValHelper::dx
Definition: PVValidationHelpers.h:48
DDHCalBarrelAlgo::getDetType
int getDetType(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:86
d1
static constexpr float d1
Definition: L1EGammaCrystalsEmulatorProducer.cc:84
DDHCalBarrelAlgo::nSideAbs
int nSideAbs
Definition: DDHCalBarrelAlgo.cc:214
DDHCalBarrelAlgo::layerMat
std::vector< std::string > layerMat
Definition: DDHCalBarrelAlgo.cc:187
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
DDHCalBarrelAlgo::layerId
std::vector< int > layerId
Definition: DDHCalBarrelAlgo.cc:185
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
DDHCalBarrelAlgo::getDetTsc
double getDetTsc(unsigned int i) const
Definition: DDHCalBarrelAlgo.cc:91
DDHCalBarrelAlgo::getMiddleW
double getMiddleW() const
Definition: DDHCalBarrelAlgo.cc:76