CMS 3D CMS Logo

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

Public Types

typedef HepGeom::Point3D< double > Pt3D
 
typedef HepGeom::ReflectZ3D RfZ3D
 
typedef HepGeom::Rotate3D Ro3D
 
typedef CLHEP::HepRotation Rota
 
typedef HepGeom::RotateX3D RoX3D
 
typedef HepGeom::RotateY3D RoY3D
 
typedef HepGeom::RotateZ3D RoZ3D
 
typedef HepGeom::Transform3D Tf3D
 
typedef HepGeom::Translate3D Tl3D
 
typedef EcalTrapezoidParameters Trap
 
typedef CLHEP::Hep3Vector Vec3
 

Public Member Functions

DDName addTmp (DDName aName) const
 
DDName alvName (unsigned int i) const
 
const DDTranslationcryFCtr (unsigned int iRow, unsigned int iCol) const
 
DDName cryName () const
 
const DDTranslationcryRCtr (unsigned int iRow, unsigned int iCol) const
 
DDName cutBoxName () const
 
 DDEcalEndcapAlgo ()
 
DDMaterial ddmat (const std::string &s) const
 
DDName ddname (const std::string &s) const
 
void EECreateCR ()
 
void EECreateSC (const unsigned int iSCType, DDCompactView &cpv)
 
double eeCrysFront () const
 
double eeCrysLength () const
 
DDMaterial eeCrysMat () const
 
double eeCrysRear () const
 
std::vector< double > EEGetSCCtrs (const int iCol, const int iRow)
 
DDName EEGetSCName (const int iCol, const int iRow)
 
unsigned int EEGetSCType (const unsigned int iCol, const unsigned int iRow)
 
DDMaterial eeMat () const
 
double eenColumns () const
 
double eenCRSC () const
 
double eenSCCutaway () const
 
double eenSCquad () const
 
double eenSCTypes () const
 
double eePF45 () const
 
double eePFFifth () const
 
double eePFHalf () const
 
void EEPositionCRs (const DDName &pName, const DDTranslation &offset, const int iSCType, DDCompactView &cpv)
 
void EEPosSC (const int iCol, const int iRow, DDName EEDeeName)
 
DDMaterial eeQuaMat () const
 
DDName eeQuaName () const
 
double eeSCAFront () const
 
double eeSCALength () const
 
double eeSCARear () const
 
double eeSCAWall () const
 
double eeSCEFront () const
 
double eeSCELength () const
 
double eeSCERear () const
 
double eeSCHLength () const
 
double eeSCHSide () const
 
const std::vector< double > & eevecEECRCtrs () const
 
const std::vector< double > & eevecEESCCtrs () const
 
const std::vector< double > & eevecEESCCutaway () const
 
const std::vector< double > & eevecEESCProf () const
 
const std::vector< double > & eevecEEShape () const
 
DDMaterial eeWallMat () const
 
double eezOff () const
 
DDName envName (unsigned int i) const
 
void execute (DDCompactView &cpv) override
 
const std::string & idNameSpace () const
 
double iLength () const
 
void initialize (const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
 
DDName intName (unsigned int i) const
 
double iXYOff () const
 
DDRotation myrot (const std::string &s, const DDRotationMatrix &r) const
 
const DDTranslationscrFCtr (unsigned int iRow, unsigned int iCol) const
 
const DDTranslationscrRCtr (unsigned int iRow, unsigned int iCol) const
 
const std::vector< double > & vecEESCLims () const
 
 ~DDEcalEndcapAlgo () override
 

Private Attributes

std::string m_alvName
 
DDTranslation m_cryFCtr [5][5]
 
std::string m_cryName
 
DDTranslation m_cryRCtr [5][5]
 
double m_cryZOff
 
std::string m_cutBoxName
 
const std::vector< double > * m_cutParms
 
double m_EECrysFront
 
double m_EECrysLength
 
std::string m_EECrysMat
 
double m_EECrysRear
 
std::string m_EEMat
 
double m_EEnColumns
 
double m_EEnCRSC
 
double m_EEnSCCutaway
 
double m_EEnSCquad
 
double m_EEnSCTypes
 
std::string m_EEQuaMat
 
std::string m_EEQuaName
 
double m_EESCAFront
 
double m_EESCALength
 
double m_EESCARear
 
double m_EESCAWall
 
double m_EESCEFront
 
double m_EESCELength
 
double m_EESCERear
 
double m_EESCHLength
 
double m_EESCHSide
 
std::string m_EEWallMat
 
double m_EEzOff
 
std::string m_envName
 
std::string m_idNameSpace
 
double m_iLength
 
std::string m_intName
 
double m_iXYOff
 
double m_PF45
 
double m_PFfifth
 
double m_PFhalf
 
DDTranslation m_scrFCtr [10][10]
 
DDTranslation m_scrRCtr [10][10]
 
std::vector< double > m_vecEECRCtrs
 
std::vector< double > m_vecEESCCtrs
 
std::vector< double > m_vecEESCCutaway
 
std::vector< double > m_vecEESCLims
 
std::vector< double > m_vecEESCProf
 
std::vector< double > m_vecEEShape
 
double m_zFront
 

Detailed Description

Definition at line 33 of file DDEcalEndcapAlgo.cc.

Member Typedef Documentation

◆ Pt3D

Definition at line 36 of file DDEcalEndcapAlgo.cc.

◆ RfZ3D

typedef HepGeom::ReflectZ3D DDEcalEndcapAlgo::RfZ3D

Definition at line 38 of file DDEcalEndcapAlgo.cc.

◆ Ro3D

typedef HepGeom::Rotate3D DDEcalEndcapAlgo::Ro3D

Definition at line 40 of file DDEcalEndcapAlgo.cc.

◆ Rota

typedef CLHEP::HepRotation DDEcalEndcapAlgo::Rota

Definition at line 46 of file DDEcalEndcapAlgo.cc.

◆ RoX3D

typedef HepGeom::RotateX3D DDEcalEndcapAlgo::RoX3D

Definition at line 43 of file DDEcalEndcapAlgo.cc.

◆ RoY3D

typedef HepGeom::RotateY3D DDEcalEndcapAlgo::RoY3D

Definition at line 42 of file DDEcalEndcapAlgo.cc.

◆ RoZ3D

typedef HepGeom::RotateZ3D DDEcalEndcapAlgo::RoZ3D

Definition at line 41 of file DDEcalEndcapAlgo.cc.

◆ Tf3D

typedef HepGeom::Transform3D DDEcalEndcapAlgo::Tf3D

Definition at line 37 of file DDEcalEndcapAlgo.cc.

◆ Tl3D

typedef HepGeom::Translate3D DDEcalEndcapAlgo::Tl3D

Definition at line 39 of file DDEcalEndcapAlgo.cc.

◆ Trap

Definition at line 35 of file DDEcalEndcapAlgo.cc.

◆ Vec3

typedef CLHEP::Hep3Vector DDEcalEndcapAlgo::Vec3

Definition at line 45 of file DDEcalEndcapAlgo.cc.

Constructor & Destructor Documentation

◆ DDEcalEndcapAlgo()

DDEcalEndcapAlgo::DDEcalEndcapAlgo ( )

Definition at line 209 of file DDEcalEndcapAlgo.cc.

210  : m_idNameSpace(""),
211  m_EEMat(""),
212  m_EEzOff(0),
213  m_EEQuaName(""),
214  m_EEQuaMat(""),
215  m_EECrysMat(""),
216  m_EEWallMat(""),
217  m_EECrysLength(0),
218  m_EECrysRear(0),
219  m_EECrysFront(0),
220  m_EESCELength(0),
221  m_EESCERear(0),
222  m_EESCEFront(0),
223  m_EESCALength(0),
224  m_EESCARear(0),
225  m_EESCAFront(0),
226  m_EESCAWall(0),
227  m_EESCHLength(0),
228  m_EESCHSide(0),
229  m_EEnSCTypes(0),
230  m_vecEESCProf(),
231  m_EEnColumns(0),
232  m_vecEEShape(),
233  m_EEnSCCutaway(0),
235  m_EEnSCquad(0),
236  m_vecEESCCtrs(),
237  m_EEnCRSC(0),
238  m_vecEECRCtrs(),
239  m_cutParms(nullptr),
240  m_cutBoxName(""),
241  m_envName(""),
242  m_alvName(""),
243  m_intName(""),
244  m_cryName(""),
245  m_PFhalf(0),
246  m_PFfifth(0),
247  m_PF45(0),
248  m_vecEESCLims(),
249  m_iLength(0),
250  m_iXYOff(0),
251  m_cryZOff(0),
252  m_zFront(0) {
253  LogDebug("EcalGeom") << "DDEcalEndcapAlgo info: Creating an instance";
254 }

References LogDebug.

◆ ~DDEcalEndcapAlgo()

DDEcalEndcapAlgo::~DDEcalEndcapAlgo ( )
override

Definition at line 256 of file DDEcalEndcapAlgo.cc.

256 {}

Member Function Documentation

◆ addTmp()

DDName DDEcalEndcapAlgo::addTmp ( DDName  aName) const
inline

Definition at line 124 of file DDEcalEndcapAlgo.cc.

124 { return ddname(aName.name() + "Tmp"); }

References ddname(), and DDName::name().

Referenced by EECreateSC().

◆ alvName()

DDName DDEcalEndcapAlgo::alvName ( unsigned int  i) const
inline

Definition at line 120 of file DDEcalEndcapAlgo.cc.

120 { return ddname(m_alvName + std::to_string(i)); }

References ddname(), mps_fire::i, and m_alvName.

Referenced by EECreateSC().

◆ cryFCtr()

const DDTranslation& DDEcalEndcapAlgo::cryFCtr ( unsigned int  iRow,
unsigned int  iCol 
) const
inline

Definition at line 126 of file DDEcalEndcapAlgo.cc.

126 { return m_cryFCtr[iRow - 1][iCol - 1]; }

References m_cryFCtr.

Referenced by EEPositionCRs().

◆ cryName()

DDName DDEcalEndcapAlgo::cryName ( ) const
inline

Definition at line 122 of file DDEcalEndcapAlgo.cc.

122 { return ddname(m_cryName); }

References ddname(), and m_cryName.

Referenced by EECreateCR(), and EEPositionCRs().

◆ cryRCtr()

const DDTranslation& DDEcalEndcapAlgo::cryRCtr ( unsigned int  iRow,
unsigned int  iCol 
) const
inline

Definition at line 128 of file DDEcalEndcapAlgo.cc.

128 { return m_cryRCtr[iRow - 1][iCol - 1]; }

References m_cryRCtr.

Referenced by EEPositionCRs().

◆ cutBoxName()

DDName DDEcalEndcapAlgo::cutBoxName ( ) const
inline

Definition at line 114 of file DDEcalEndcapAlgo.cc.

114 { return ddname(m_cutBoxName); }

References ddname(), and m_cutBoxName.

Referenced by EECreateSC(), and execute().

◆ ddmat()

DDMaterial DDEcalEndcapAlgo::ddmat ( const std::string &  s) const

Definition at line 328 of file DDEcalEndcapAlgo.cc.

328 { return DDMaterial(ddname(s)); }

References ddname(), and alignCSCRings::s.

Referenced by eeCrysMat(), eeMat(), eeQuaMat(), and eeWallMat().

◆ ddname()

DDName DDEcalEndcapAlgo::ddname ( const std::string &  s) const

Definition at line 330 of file DDEcalEndcapAlgo.cc.

330  {
331  const pair<std::string, std::string> temp(DDSplit(s));
332  if (temp.second.empty()) {
333  return DDName(temp.first, m_idNameSpace);
334  } else {
335  return DDName(temp.first, temp.second);
336  }
337 }

References DDSplit(), m_idNameSpace, alignCSCRings::s, and groupFilesInBlocks::temp.

Referenced by addTmp(), alvName(), cryName(), cutBoxName(), ddmat(), eeQuaName(), envName(), intName(), and myrot().

◆ EECreateCR()

void DDEcalEndcapAlgo::EECreateCR ( )

Definition at line 572 of file DDEcalEndcapAlgo.cc.

572  {
573  // EECreateCR Create endcap crystal logical volume
574 
575  // edm::LogInfo("EcalGeom") << "EECreateCR: = " << std::endl;
576 
578  0.5 * eeCrysLength(),
579  atan((eeCrysRear() - eeCrysFront()) / (sqrt(2.) * eeCrysLength())),
580  45. * deg,
581  0.5 * eeCrysFront(),
582  0.5 * eeCrysFront(),
583  0.5 * eeCrysFront(),
584  0. * deg,
585  0.5 * eeCrysRear(),
586  0.5 * eeCrysRear(),
587  0.5 * eeCrysRear(),
588  0. * deg));
589 
590  DDLogicalPart part(cryName(), eeCrysMat(), EECRSolid);
591 }

References cryName(), eeCrysFront(), eeCrysLength(), eeCrysMat(), eeCrysRear(), mathSSE::sqrt(), and DDSolidFactory::trap().

Referenced by execute().

◆ EECreateSC()

void DDEcalEndcapAlgo::EECreateSC ( const unsigned int  iSCType,
DDCompactView cpv 
)

Definition at line 430 of file DDEcalEndcapAlgo.cc.

431  { // EECreateSCType Create SC logical volume of the given type
432 
433  DDRotation noRot;
434 
435  DDLogicalPart eeSCELog;
436  DDLogicalPart eeSCALog;
437  DDLogicalPart eeSCILog;
438 
439  // edm::LogInfo("EcalGeom") << "EECreateSC: Creating SC envelope" << std::endl;
440 
441  const string anum(std::to_string(iSCType));
442 
443  const double eFront(0.5 * eeSCEFront());
444  const double eRear(0.5 * eeSCERear());
445  const double eAng(atan((eeSCERear() - eeSCEFront()) / (sqrt(2.) * eeSCELength())));
446  const double ffived(45 * deg);
447  const double zerod(0 * deg);
448  DDSolid eeSCEnv(DDSolidFactory::trap((1 == iSCType ? envName(iSCType) : addTmp(envName(iSCType))),
449  0.5 * eeSCELength(),
450  eAng,
451  ffived,
452  eFront,
453  eFront,
454  eFront,
455  zerod,
456  eRear,
457  eRear,
458  eRear,
459  zerod));
460 
461  const double aFront(0.5 * eeSCAFront());
462  const double aRear(0.5 * eeSCARear());
463  const double aAng(atan((eeSCARear() - eeSCAFront()) / (sqrt(2.) * eeSCALength())));
464  const DDSolid eeSCAlv(DDSolidFactory::trap((1 == iSCType ? alvName(iSCType) : addTmp(alvName(iSCType))),
465  0.5 * eeSCALength(),
466  aAng,
467  ffived,
468  aFront,
469  aFront,
470  aFront,
471  zerod,
472  aRear,
473  aRear,
474  aRear,
475  zerod));
476 
477  const double dwall(eeSCAWall());
478  const double iFront(aFront - dwall);
479  const double iRear(iFront); //aRear - dwall ) ;
480  const double iLen(iLength()); //0.075*eeSCALength() ) ;
481  const DDSolid eeSCInt(DDSolidFactory::trap((1 == iSCType ? intName(iSCType) : addTmp(intName(iSCType))),
482  iLen / 2.,
483  atan((eeSCARear() - eeSCAFront()) / (sqrt(2.) * eeSCALength())),
484  ffived,
485  iFront,
486  iFront,
487  iFront,
488  zerod,
489  iRear,
490  iRear,
491  iRear,
492  zerod));
493 
494  const double dz(-0.5 * (eeSCELength() - eeSCALength()));
495  const double dxy(0.5 * dz * (eeSCERear() - eeSCEFront()) / eeSCELength());
496  const double zIOff(-(eeSCALength() - iLen) / 2.);
497  const double xyIOff(iXYOff());
498 
499  if (1 == iSCType) // standard SC in this block
500  {
501  eeSCELog = DDLogicalPart(envName(iSCType), eeMat(), eeSCEnv);
502  eeSCALog = DDLogicalPart(alvName(iSCType), eeWallMat(), eeSCAlv);
503  eeSCILog = DDLogicalPart(intName(iSCType), eeMat(), eeSCInt);
504  } else // partial SCs this block: create subtraction volumes as appropriate
505  {
506  const double half((*m_cutParms)[0] - eePFHalf() * eeCrysRear());
507  const double fifth((*m_cutParms)[0] + eePFFifth() * eeCrysRear());
508  const double fac(eePF45());
509 
510  const double zmm(0 * mm);
511 
512  DDTranslation cutTra(
513  2 == iSCType ? DDTranslation(zmm, half, zmm)
514  : (3 == iSCType ? DDTranslation(half, zmm, zmm)
515  : (4 == iSCType ? DDTranslation(zmm, -fifth, zmm)
516  : (5 == iSCType ? DDTranslation(-half * fac, -half * fac, zmm)
517  : DDTranslation(-fifth, zmm, zmm)))));
518 
519  const CLHEP::HepRotationZ cutm(ffived);
520 
521  DDRotation cutRot(5 != iSCType ? noRot
522  : myrot("EECry5Rot",
523  DDRotationMatrix(cutm.xx(),
524  cutm.xy(),
525  cutm.xz(),
526  cutm.yx(),
527  cutm.yy(),
528  cutm.yz(),
529  cutm.zx(),
530  cutm.zy(),
531  cutm.zz())));
532 
533  DDSolid eeCutEnv(
534  DDSolidFactory::subtraction(envName(iSCType), addTmp(envName(iSCType)), cutBoxName(), cutTra, cutRot));
535 
536  const DDTranslation extra(dxy, dxy, dz);
537 
538  DDSolid eeCutAlv(
539  DDSolidFactory::subtraction(alvName(iSCType), addTmp(alvName(iSCType)), cutBoxName(), cutTra - extra, cutRot));
540 
541  const double mySign(iSCType < 4 ? +1. : -1.);
542 
543  const DDTranslation extraI(xyIOff + mySign * 2 * mm, xyIOff + mySign * 2 * mm, zIOff);
544 
545  DDSolid eeCutInt(
546  DDSolidFactory::subtraction(intName(iSCType), addTmp(intName(iSCType)), cutBoxName(), cutTra - extraI, cutRot));
547 
548  eeSCELog = DDLogicalPart(envName(iSCType), eeMat(), eeCutEnv);
549  eeSCALog = DDLogicalPart(alvName(iSCType), eeWallMat(), eeCutAlv);
550  eeSCILog = DDLogicalPart(intName(iSCType), eeMat(), eeCutInt);
551  }
552 
553  cpv.position(eeSCALog, envName(iSCType), iSCType * 100 + 1, DDTranslation(dxy, dxy, dz), noRot);
554  cpv.position(eeSCILog, alvName(iSCType), iSCType * 100 + 1, DDTranslation(xyIOff, xyIOff, zIOff), noRot);
555 
556  DDTranslation croffset(0., 0., 0.);
557  EEPositionCRs(alvName(iSCType), croffset, iSCType, cpv);
558 }

References addTmp(), alvName(), cutBoxName(), PVValHelper::dxy, PVValHelper::dz, eeCrysRear(), eeMat(), eePF45(), eePFFifth(), eePFHalf(), EEPositionCRs(), eeSCAFront(), eeSCALength(), eeSCARear(), eeSCAWall(), eeSCEFront(), eeSCELength(), eeSCERear(), eeWallMat(), envName(), iLength(), intName(), iXYOff(), m_cutParms, myrot(), DDCompactView::position(), mathSSE::sqrt(), DDSolidFactory::subtraction(), and DDSolidFactory::trap().

Referenced by execute().

◆ eeCrysFront()

double DDEcalEndcapAlgo::eeCrysFront ( ) const
inline

Definition at line 92 of file DDEcalEndcapAlgo.cc.

92 { return m_EECrysFront; }

References m_EECrysFront.

Referenced by EECreateCR(), and EEPositionCRs().

◆ eeCrysLength()

double DDEcalEndcapAlgo::eeCrysLength ( ) const
inline

Definition at line 90 of file DDEcalEndcapAlgo.cc.

90 { return m_EECrysLength; }

References m_EECrysLength.

Referenced by EECreateCR(), and EEPositionCRs().

◆ eeCrysMat()

DDMaterial DDEcalEndcapAlgo::eeCrysMat ( ) const
inline

Definition at line 87 of file DDEcalEndcapAlgo.cc.

87 { return ddmat(m_EECrysMat); }

References ddmat(), and m_EECrysMat.

Referenced by EECreateCR().

◆ eeCrysRear()

double DDEcalEndcapAlgo::eeCrysRear ( ) const
inline

Definition at line 91 of file DDEcalEndcapAlgo.cc.

91 { return m_EECrysRear; }

References m_EECrysRear.

Referenced by EECreateCR(), EECreateSC(), and EEPositionCRs().

◆ EEGetSCCtrs()

std::vector<double> DDEcalEndcapAlgo::EEGetSCCtrs ( const int  iCol,
const int  iRow 
)

◆ EEGetSCName()

DDName DDEcalEndcapAlgo::EEGetSCName ( const int  iCol,
const int  iRow 
)

◆ EEGetSCType()

unsigned int DDEcalEndcapAlgo::EEGetSCType ( const unsigned int  iCol,
const unsigned int  iRow 
)

Definition at line 560 of file DDEcalEndcapAlgo.cc.

560  {
561  unsigned int iType = 1;
562  for (unsigned int ii = 0; ii < (unsigned int)(eenSCCutaway()); ++ii) {
563  if ((eevecEESCCutaway()[3 * ii] == iCol) && (eevecEESCCutaway()[3 * ii + 1] == iRow)) {
564  iType = int(eevecEESCCutaway()[3 * ii + 2]);
565  // edm::LogInfo("EcalGeom") << "EEGetSCType: col, row, type = "
566  // << iCol << " " << iRow << " " << iType << std::endl;
567  }
568  }
569  return iType;
570 }

References eenSCCutaway(), eevecEESCCutaway(), cuy::ii, and createfilelist::int.

Referenced by execute().

◆ eeMat()

DDMaterial DDEcalEndcapAlgo::eeMat ( ) const
inline

Definition at line 81 of file DDEcalEndcapAlgo.cc.

81 { return ddmat(m_EEMat); }

References ddmat(), and m_EEMat.

Referenced by EECreateSC().

◆ eenColumns()

double DDEcalEndcapAlgo::eenColumns ( ) const
inline

Definition at line 104 of file DDEcalEndcapAlgo.cc.

104 { return m_EEnColumns; }

References m_EEnColumns.

Referenced by execute().

◆ eenCRSC()

double DDEcalEndcapAlgo::eenCRSC ( ) const
inline

Definition at line 107 of file DDEcalEndcapAlgo.cc.

107 { return m_EEnCRSC; }

References m_EEnCRSC.

◆ eenSCCutaway()

double DDEcalEndcapAlgo::eenSCCutaway ( ) const
inline

Definition at line 105 of file DDEcalEndcapAlgo.cc.

105 { return m_EEnSCCutaway; }

References m_EEnSCCutaway.

Referenced by EEGetSCType().

◆ eenSCquad()

double DDEcalEndcapAlgo::eenSCquad ( ) const
inline

Definition at line 106 of file DDEcalEndcapAlgo.cc.

106 { return m_EEnSCquad; }

References m_EEnSCquad.

Referenced by execute().

◆ eenSCTypes()

double DDEcalEndcapAlgo::eenSCTypes ( ) const
inline

Definition at line 103 of file DDEcalEndcapAlgo.cc.

103 { return m_EEnSCTypes; }

References m_EEnSCTypes.

Referenced by EEPositionCRs(), and execute().

◆ eePF45()

double DDEcalEndcapAlgo::eePF45 ( ) const
inline

Definition at line 117 of file DDEcalEndcapAlgo.cc.

117 { return m_PF45; }

References m_PF45.

Referenced by EECreateSC().

◆ eePFFifth()

double DDEcalEndcapAlgo::eePFFifth ( ) const
inline

Definition at line 116 of file DDEcalEndcapAlgo.cc.

116 { return m_PFfifth; }

References m_PFfifth.

Referenced by EECreateSC().

◆ eePFHalf()

double DDEcalEndcapAlgo::eePFHalf ( ) const
inline

Definition at line 115 of file DDEcalEndcapAlgo.cc.

115 { return m_PFhalf; }

References m_PFhalf.

Referenced by EECreateSC().

◆ EEPositionCRs()

void DDEcalEndcapAlgo::EEPositionCRs ( const DDName pName,
const DDTranslation offset,
const int  iSCType,
DDCompactView cpv 
)

Definition at line 593 of file DDEcalEndcapAlgo.cc.

596  {
597  // EEPositionCRs Position crystals within parent supercrystal interior volume
598 
599  // edm::LogInfo("EcalGeom") << "EEPositionCRs called " << std::endl;
600 
601  static const unsigned int ncol(5);
602 
603  if (iSCType > 0 && iSCType <= eenSCTypes()) {
604  const unsigned int icoffset((iSCType - 1) * ncol - 1);
605 
606  // Loop over columns of SC
607  for (unsigned int icol(1); icol <= ncol; ++icol) {
608  // Get column limits for this SC type from xml input
609  const int ncrcol((int)eevecEESCProf()[icoffset + icol]);
610 
611  const int imin(0 < ncrcol ? 1 : (0 > ncrcol ? ncol + ncrcol + 1 : 0));
612  const int imax(0 < ncrcol ? ncrcol : (0 > ncrcol ? ncol : 0));
613 
614  if (imax > 0) {
615  // Loop over crystals in this row
616  for (int irow(imin); irow <= imax; ++irow) {
617  // edm::LogInfo("EcalGeom") << " type, col, row " << iSCType
618  // << " " << icol << " " << irow << std::endl;
619 
620  // Create crystal as a DDEcalEndcapTrap object and calculate rotation and
621  // translation required to position it in the SC.
623 
624  crystal.moveto(cryFCtr(icol, irow), cryRCtr(icol, irow));
625 
626  DDName rname("EECrRoC" + std::to_string(icol) + "R" + std::to_string(irow));
627 
628  cpv.position(cryName(),
629  pName,
630  100 * iSCType + 10 * (icol - 1) + (irow - 1),
631  crystal.centrePos() - DDTranslation(0, 0, m_cryZOff),
632  myrot(rname.fullname(), crystal.rotation()));
633  }
634  }
635  }
636  }
637 }

References DDEcalEndcapTrap::centrePos(), cryFCtr(), cryName(), cryRCtr(), eeCrysFront(), eeCrysLength(), eeCrysRear(), eenSCTypes(), eevecEESCProf(), m_cryZOff, DDEcalEndcapTrap::moveto(), myrot(), DDCompactView::position(), rname, and DDEcalEndcapTrap::rotation().

Referenced by EECreateSC().

◆ EEPosSC()

void DDEcalEndcapAlgo::EEPosSC ( const int  iCol,
const int  iRow,
DDName  EEDeeName 
)

◆ eeQuaMat()

DDMaterial DDEcalEndcapAlgo::eeQuaMat ( ) const
inline

Definition at line 85 of file DDEcalEndcapAlgo.cc.

85 { return ddmat(m_EEQuaMat); }

References ddmat(), and m_EEQuaMat.

◆ eeQuaName()

DDName DDEcalEndcapAlgo::eeQuaName ( ) const
inline

Definition at line 84 of file DDEcalEndcapAlgo.cc.

84 { return ddname(m_EEQuaName); }

References ddname(), and m_EEQuaName.

Referenced by execute().

◆ eeSCAFront()

double DDEcalEndcapAlgo::eeSCAFront ( ) const
inline

Definition at line 98 of file DDEcalEndcapAlgo.cc.

98 { return m_EESCAFront; }

References m_EESCAFront.

Referenced by EECreateSC().

◆ eeSCALength()

double DDEcalEndcapAlgo::eeSCALength ( ) const
inline

Definition at line 96 of file DDEcalEndcapAlgo.cc.

96 { return m_EESCALength; }

References m_EESCALength.

Referenced by EECreateSC().

◆ eeSCARear()

double DDEcalEndcapAlgo::eeSCARear ( ) const
inline

Definition at line 97 of file DDEcalEndcapAlgo.cc.

97 { return m_EESCARear; }

References m_EESCARear.

Referenced by EECreateSC().

◆ eeSCAWall()

double DDEcalEndcapAlgo::eeSCAWall ( ) const
inline

Definition at line 99 of file DDEcalEndcapAlgo.cc.

99 { return m_EESCAWall; }

References m_EESCAWall.

Referenced by EECreateSC().

◆ eeSCEFront()

double DDEcalEndcapAlgo::eeSCEFront ( ) const
inline

Definition at line 95 of file DDEcalEndcapAlgo.cc.

95 { return m_EESCEFront; }

References m_EESCEFront.

Referenced by EECreateSC(), and execute().

◆ eeSCELength()

double DDEcalEndcapAlgo::eeSCELength ( ) const
inline

Definition at line 93 of file DDEcalEndcapAlgo.cc.

93 { return m_EESCELength; }

References m_EESCELength.

Referenced by EECreateSC(), and execute().

◆ eeSCERear()

double DDEcalEndcapAlgo::eeSCERear ( ) const
inline

Definition at line 94 of file DDEcalEndcapAlgo.cc.

94 { return m_EESCERear; }

References m_EESCERear.

Referenced by EECreateSC(), and execute().

◆ eeSCHLength()

double DDEcalEndcapAlgo::eeSCHLength ( ) const
inline

Definition at line 100 of file DDEcalEndcapAlgo.cc.

100 { return m_EESCHLength; }

References m_EESCHLength.

◆ eeSCHSide()

double DDEcalEndcapAlgo::eeSCHSide ( ) const
inline

Definition at line 101 of file DDEcalEndcapAlgo.cc.

101 { return m_EESCHSide; }

References m_EESCHSide.

◆ eevecEECRCtrs()

const std::vector<double>& DDEcalEndcapAlgo::eevecEECRCtrs ( ) const
inline

Definition at line 112 of file DDEcalEndcapAlgo.cc.

112 { return m_vecEECRCtrs; }

References m_vecEECRCtrs.

Referenced by execute().

◆ eevecEESCCtrs()

const std::vector<double>& DDEcalEndcapAlgo::eevecEESCCtrs ( ) const
inline

Definition at line 111 of file DDEcalEndcapAlgo.cc.

111 { return m_vecEESCCtrs; }

References m_vecEESCCtrs.

Referenced by execute().

◆ eevecEESCCutaway()

const std::vector<double>& DDEcalEndcapAlgo::eevecEESCCutaway ( ) const
inline

Definition at line 110 of file DDEcalEndcapAlgo.cc.

110 { return m_vecEESCCutaway; }

References m_vecEESCCutaway.

Referenced by EEGetSCType().

◆ eevecEESCProf()

const std::vector<double>& DDEcalEndcapAlgo::eevecEESCProf ( ) const
inline

Definition at line 108 of file DDEcalEndcapAlgo.cc.

108 { return m_vecEESCProf; }

References m_vecEESCProf.

Referenced by EEPositionCRs().

◆ eevecEEShape()

const std::vector<double>& DDEcalEndcapAlgo::eevecEEShape ( ) const
inline

Definition at line 109 of file DDEcalEndcapAlgo.cc.

109 { return m_vecEEShape; }

References m_vecEEShape.

Referenced by execute().

◆ eeWallMat()

DDMaterial DDEcalEndcapAlgo::eeWallMat ( ) const
inline

Definition at line 88 of file DDEcalEndcapAlgo.cc.

88 { return ddmat(m_EEWallMat); }

References ddmat(), and m_EEWallMat.

Referenced by EECreateSC().

◆ eezOff()

double DDEcalEndcapAlgo::eezOff ( ) const
inline

Definition at line 82 of file DDEcalEndcapAlgo.cc.

82 { return m_EEzOff; }

References m_EEzOff.

Referenced by execute().

◆ envName()

DDName DDEcalEndcapAlgo::envName ( unsigned int  i) const
inline

Definition at line 119 of file DDEcalEndcapAlgo.cc.

119 { return ddname(m_envName + std::to_string(i)); }

References ddname(), mps_fire::i, and m_envName.

Referenced by EECreateSC(), and execute().

◆ execute()

void DDEcalEndcapAlgo::execute ( DDCompactView cpv)
override

Definition at line 341 of file DDEcalEndcapAlgo.cc.

341  {
342  // Position supercrystals in EE Quadrant
343  // Version: 1.00
344  // Created: 30 July 2007
345  // Last Mod:
346  //---------------------------------------------------------------------
347 
348  //********************************* cutbox for trimming edge SCs
349  const double cutWid(eeSCERear() / sqrt(2.));
350  const DDSolid eeCutBox(DDSolidFactory::box(cutBoxName(), cutWid, cutWid, eeSCELength() / sqrt(2.)));
351  m_cutParms = &eeCutBox.parameters();
352  //**************************************************************
353 
354  const double zFix(m_zFront - 3172 * mm); // fix for changing z offset
355 
356  //** fill supercrystal front and rear center positions from xml input
357  for (unsigned int iC(0); iC != (unsigned int)eenSCquad(); ++iC) {
358  const unsigned int iOff(8 * iC);
359  const unsigned int ix((unsigned int)eevecEESCCtrs()[iOff + 0]);
360  const unsigned int iy((unsigned int)eevecEESCCtrs()[iOff + 1]);
361 
362  assert(ix > 0 && ix < 11 && iy > 0 && iy < 11);
363 
364  m_scrFCtr[ix - 1][iy - 1] =
365  DDTranslation(eevecEESCCtrs()[iOff + 2], eevecEESCCtrs()[iOff + 4], eevecEESCCtrs()[iOff + 6] + zFix);
366 
367  m_scrRCtr[ix - 1][iy - 1] =
368  DDTranslation(eevecEESCCtrs()[iOff + 3], eevecEESCCtrs()[iOff + 5], eevecEESCCtrs()[iOff + 7] + zFix);
369  }
370 
371  //** fill crystal front and rear center positions from xml input
372  for (unsigned int iC(0); iC != 25; ++iC) {
373  const unsigned int iOff(8 * iC);
374  const unsigned int ix((unsigned int)eevecEECRCtrs()[iOff + 0]);
375  const unsigned int iy((unsigned int)eevecEECRCtrs()[iOff + 1]);
376 
377  assert(ix > 0 && ix < 6 && iy > 0 && iy < 6);
378 
379  m_cryFCtr[ix - 1][iy - 1] =
380  DDTranslation(eevecEECRCtrs()[iOff + 2], eevecEECRCtrs()[iOff + 4], eevecEECRCtrs()[iOff + 6]);
381 
382  m_cryRCtr[ix - 1][iy - 1] =
383  DDTranslation(eevecEECRCtrs()[iOff + 3], eevecEECRCtrs()[iOff + 5], eevecEECRCtrs()[iOff + 7]);
384  }
385 
386  EECreateCR(); // make a single crystal just once here
387 
388  for (unsigned int isc(0); isc < eenSCTypes(); ++isc) {
389  EECreateSC(isc + 1, cpv);
390  }
391 
392  const std::vector<double>& colLimits(eevecEEShape());
393  //** Loop over endcap columns
394  for (int icol = 1; icol <= int(eenColumns()); icol++) {
395  //** Loop over SCs in column, using limits from xml input
396  for (int irow = int(colLimits[2 * icol - 2]); irow <= int(colLimits[2 * icol - 1]); ++irow) {
397  if (vecEESCLims()[0] <= icol && vecEESCLims()[1] >= icol && vecEESCLims()[2] <= irow &&
398  vecEESCLims()[3] >= irow) {
399  // Find SC type (complete or partial) for this location
400  const unsigned int isctype(EEGetSCType(icol, irow));
401 
402  // Create SC as a DDEcalEndcapTrap object and calculate rotation and
403  // translation required to position it in the endcap.
405 
406  scrys.moveto(scrFCtr(icol, irow), scrRCtr(icol, irow));
407  scrys.translate(DDTranslation(0., 0., -eezOff()));
408 
409  DDName rname(envName(isctype).name() + std::to_string(icol) + "R" + std::to_string(irow));
410  /*
411  edm::LogInfo("EcalGeom") << "Quadrant, SC col/row "
412  << eeQuaName() << " " << icol << " / " << irow << std::endl
413  << " Limits " << int(colLimits[2*icol-2]) << "->" << int(colLimits[2*icol-1]) << std::endl
414  << " SC type = " << isctype << std::endl
415  << " Zoff, Scz = " << eezOff() << " " << sc1.z() << std::endl
416  << " Rotation " << rname << " " << scrys.rotation() << std::endl
417  << " Position " << sccentre << std::endl;
418 */
419  // Position SC in endcap
420  cpv.position(envName(isctype),
421  eeQuaName(),
422  100 * isctype + 10 * (icol - 1) + (irow - 1),
423  scrys.centrePos(),
424  myrot(rname.fullname(), scrys.rotation()));
425  }
426  }
427  }
428 }

References cms::cuda::assert(), DDSolidFactory::box(), DDEcalEndcapTrap::centrePos(), cutBoxName(), EECreateCR(), EECreateSC(), EEGetSCType(), eenColumns(), eenSCquad(), eenSCTypes(), eeQuaName(), eeSCEFront(), eeSCELength(), eeSCERear(), eevecEECRCtrs(), eevecEESCCtrs(), eevecEEShape(), eezOff(), envName(), createfilelist::int, m_cryFCtr, m_cryRCtr, m_cutParms, m_scrFCtr, m_scrRCtr, m_zFront, DDEcalEndcapTrap::moveto(), myrot(), Skims_PA_cff::name, DDSolid::parameters(), DDCompactView::position(), rname, DDEcalEndcapTrap::rotation(), scrFCtr(), scrRCtr(), mathSSE::sqrt(), DDEcalEndcapTrap::translate(), and vecEESCLims().

◆ idNameSpace()

const std::string& DDEcalEndcapAlgo::idNameSpace ( ) const
inline

Definition at line 78 of file DDEcalEndcapAlgo.cc.

78 { return m_idNameSpace; }

References m_idNameSpace.

◆ iLength()

double DDEcalEndcapAlgo::iLength ( ) const
inline

Definition at line 136 of file DDEcalEndcapAlgo.cc.

136 { return m_iLength; }

References m_iLength.

Referenced by EECreateSC().

◆ initialize()

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

Definition at line 258 of file DDEcalEndcapAlgo.cc.

262  {
263  // edm::LogInfo("EcalGeom") << "DDEcalEndcapAlgo info: Initialize" ;
265  // TRICK!
266  m_idNameSpace = parent().name().ns();
267  // barrel parent volume
268  m_EEMat = sArgs["EEMat"];
269  m_EEzOff = nArgs["EEzOff"];
270 
271  m_EEQuaName = sArgs["EEQuaName"];
272  m_EEQuaMat = sArgs["EEQuaMat"];
273  m_EECrysMat = sArgs["EECrysMat"];
274  m_EEWallMat = sArgs["EEWallMat"];
275  m_EECrysLength = nArgs["EECrysLength"];
276  m_EECrysRear = nArgs["EECrysRear"];
277  m_EECrysFront = nArgs["EECrysFront"];
278  m_EESCELength = nArgs["EESCELength"];
279  m_EESCERear = nArgs["EESCERear"];
280  m_EESCEFront = nArgs["EESCEFront"];
281  m_EESCALength = nArgs["EESCALength"];
282  m_EESCARear = nArgs["EESCARear"];
283  m_EESCAFront = nArgs["EESCAFront"];
284  m_EESCAWall = nArgs["EESCAWall"];
285  m_EESCHLength = nArgs["EESCHLength"];
286  m_EESCHSide = nArgs["EESCHSide"];
287  m_EEnSCTypes = nArgs["EEnSCTypes"];
288  m_EEnColumns = nArgs["EEnColumns"];
289  m_EEnSCCutaway = nArgs["EEnSCCutaway"];
290  m_EEnSCquad = nArgs["EEnSCquad"];
291  m_EEnCRSC = nArgs["EEnCRSC"];
292  m_vecEESCProf = vArgs["EESCProf"];
293  m_vecEEShape = vArgs["EEShape"];
294  m_vecEESCCutaway = vArgs["EESCCutaway"];
295  m_vecEESCCtrs = vArgs["EESCCtrs"];
296  m_vecEECRCtrs = vArgs["EECRCtrs"];
297 
298  m_cutBoxName = sArgs["EECutBoxName"];
299 
300  m_envName = sArgs["EEEnvName"];
301  m_alvName = sArgs["EEAlvName"];
302  m_intName = sArgs["EEIntName"];
303  m_cryName = sArgs["EECryName"];
304 
305  m_PFhalf = nArgs["EEPFHalf"];
306  m_PFfifth = nArgs["EEPFFifth"];
307  m_PF45 = nArgs["EEPF45"];
308 
309  m_vecEESCLims = vArgs["EESCLims"];
310 
311  m_iLength = nArgs["EEiLength"];
312 
313  m_iXYOff = nArgs["EEiXYOff"];
314 
315  m_cryZOff = nArgs["EECryZOff"];
316 
317  m_zFront = nArgs["EEzFront"];
318 }

References m_alvName, m_cryName, m_cryZOff, m_cutBoxName, m_EECrysFront, m_EECrysLength, m_EECrysMat, m_EECrysRear, m_EEMat, m_EEnColumns, m_EEnCRSC, m_EEnSCCutaway, m_EEnSCquad, m_EEnSCTypes, m_EEQuaMat, m_EEQuaName, m_EESCAFront, m_EESCALength, m_EESCARear, m_EESCAWall, m_EESCEFront, m_EESCELength, m_EESCERear, m_EESCHLength, m_EESCHSide, m_EEWallMat, m_EEzOff, m_envName, m_idNameSpace, m_iLength, m_intName, m_iXYOff, m_PF45, m_PFfifth, m_PFhalf, m_vecEECRCtrs, m_vecEESCCtrs, m_vecEESCCutaway, m_vecEESCLims, m_vecEESCProf, m_vecEEShape, m_zFront, DDCurrentNamespace::ns(), and class-composition::parent.

◆ intName()

DDName DDEcalEndcapAlgo::intName ( unsigned int  i) const
inline

Definition at line 121 of file DDEcalEndcapAlgo.cc.

121 { return ddname(m_intName + std::to_string(i)); }

References ddname(), mps_fire::i, and m_intName.

Referenced by EECreateSC().

◆ iXYOff()

double DDEcalEndcapAlgo::iXYOff ( ) const
inline

Definition at line 137 of file DDEcalEndcapAlgo.cc.

137 { return m_iXYOff; }

References m_iXYOff.

Referenced by EECreateSC().

◆ myrot()

DDRotation DDEcalEndcapAlgo::myrot ( const std::string &  s,
const DDRotationMatrix r 
) const

Definition at line 324 of file DDEcalEndcapAlgo.cc.

324  {
325  return DDrot(ddname(m_idNameSpace + ":" + s), std::make_unique<DDRotationMatrix>(r));
326 }

References ddname(), DDrot(), m_idNameSpace, alignCSCRings::r, and alignCSCRings::s.

Referenced by EECreateSC(), EEPositionCRs(), and execute().

◆ scrFCtr()

const DDTranslation& DDEcalEndcapAlgo::scrFCtr ( unsigned int  iRow,
unsigned int  iCol 
) const
inline

Definition at line 130 of file DDEcalEndcapAlgo.cc.

130 { return m_scrFCtr[iRow - 1][iCol - 1]; }

References m_scrFCtr.

Referenced by execute().

◆ scrRCtr()

const DDTranslation& DDEcalEndcapAlgo::scrRCtr ( unsigned int  iRow,
unsigned int  iCol 
) const
inline

Definition at line 132 of file DDEcalEndcapAlgo.cc.

132 { return m_scrRCtr[iRow - 1][iCol - 1]; }

References m_scrRCtr.

Referenced by execute().

◆ vecEESCLims()

const std::vector<double>& DDEcalEndcapAlgo::vecEESCLims ( ) const
inline

Definition at line 134 of file DDEcalEndcapAlgo.cc.

134 { return m_vecEESCLims; }

References m_vecEESCLims.

Referenced by execute().

Member Data Documentation

◆ m_alvName

std::string DDEcalEndcapAlgo::m_alvName
private

Definition at line 181 of file DDEcalEndcapAlgo.cc.

Referenced by alvName(), and initialize().

◆ m_cryFCtr

DDTranslation DDEcalEndcapAlgo::m_cryFCtr[5][5]
private

Definition at line 185 of file DDEcalEndcapAlgo.cc.

Referenced by cryFCtr(), and execute().

◆ m_cryName

std::string DDEcalEndcapAlgo::m_cryName
private

Definition at line 183 of file DDEcalEndcapAlgo.cc.

Referenced by cryName(), and initialize().

◆ m_cryRCtr

DDTranslation DDEcalEndcapAlgo::m_cryRCtr[5][5]
private

Definition at line 186 of file DDEcalEndcapAlgo.cc.

Referenced by cryRCtr(), and execute().

◆ m_cryZOff

double DDEcalEndcapAlgo::m_cryZOff
private

Definition at line 201 of file DDEcalEndcapAlgo.cc.

Referenced by EEPositionCRs(), and initialize().

◆ m_cutBoxName

std::string DDEcalEndcapAlgo::m_cutBoxName
private

Definition at line 178 of file DDEcalEndcapAlgo.cc.

Referenced by cutBoxName(), and initialize().

◆ m_cutParms

const std::vector<double>* DDEcalEndcapAlgo::m_cutParms
private

Definition at line 177 of file DDEcalEndcapAlgo.cc.

Referenced by EECreateSC(), and execute().

◆ m_EECrysFront

double DDEcalEndcapAlgo::m_EECrysFront
private

Definition at line 155 of file DDEcalEndcapAlgo.cc.

Referenced by eeCrysFront(), and initialize().

◆ m_EECrysLength

double DDEcalEndcapAlgo::m_EECrysLength
private

Definition at line 153 of file DDEcalEndcapAlgo.cc.

Referenced by eeCrysLength(), and initialize().

◆ m_EECrysMat

std::string DDEcalEndcapAlgo::m_EECrysMat
private

Definition at line 150 of file DDEcalEndcapAlgo.cc.

Referenced by eeCrysMat(), and initialize().

◆ m_EECrysRear

double DDEcalEndcapAlgo::m_EECrysRear
private

Definition at line 154 of file DDEcalEndcapAlgo.cc.

Referenced by eeCrysRear(), and initialize().

◆ m_EEMat

std::string DDEcalEndcapAlgo::m_EEMat
private

Definition at line 144 of file DDEcalEndcapAlgo.cc.

Referenced by eeMat(), and initialize().

◆ m_EEnColumns

double DDEcalEndcapAlgo::m_EEnColumns
private

Definition at line 168 of file DDEcalEndcapAlgo.cc.

Referenced by eenColumns(), and initialize().

◆ m_EEnCRSC

double DDEcalEndcapAlgo::m_EEnCRSC
private

Definition at line 174 of file DDEcalEndcapAlgo.cc.

Referenced by eenCRSC(), and initialize().

◆ m_EEnSCCutaway

double DDEcalEndcapAlgo::m_EEnSCCutaway
private

Definition at line 170 of file DDEcalEndcapAlgo.cc.

Referenced by eenSCCutaway(), and initialize().

◆ m_EEnSCquad

double DDEcalEndcapAlgo::m_EEnSCquad
private

Definition at line 172 of file DDEcalEndcapAlgo.cc.

Referenced by eenSCquad(), and initialize().

◆ m_EEnSCTypes

double DDEcalEndcapAlgo::m_EEnSCTypes
private

Definition at line 166 of file DDEcalEndcapAlgo.cc.

Referenced by eenSCTypes(), and initialize().

◆ m_EEQuaMat

std::string DDEcalEndcapAlgo::m_EEQuaMat
private

Definition at line 148 of file DDEcalEndcapAlgo.cc.

Referenced by eeQuaMat(), and initialize().

◆ m_EEQuaName

std::string DDEcalEndcapAlgo::m_EEQuaName
private

Definition at line 147 of file DDEcalEndcapAlgo.cc.

Referenced by eeQuaName(), and initialize().

◆ m_EESCAFront

double DDEcalEndcapAlgo::m_EESCAFront
private

Definition at line 161 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCAFront(), and initialize().

◆ m_EESCALength

double DDEcalEndcapAlgo::m_EESCALength
private

Definition at line 159 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCALength(), and initialize().

◆ m_EESCARear

double DDEcalEndcapAlgo::m_EESCARear
private

Definition at line 160 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCARear(), and initialize().

◆ m_EESCAWall

double DDEcalEndcapAlgo::m_EESCAWall
private

Definition at line 162 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCAWall(), and initialize().

◆ m_EESCEFront

double DDEcalEndcapAlgo::m_EESCEFront
private

Definition at line 158 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCEFront(), and initialize().

◆ m_EESCELength

double DDEcalEndcapAlgo::m_EESCELength
private

Definition at line 156 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCELength(), and initialize().

◆ m_EESCERear

double DDEcalEndcapAlgo::m_EESCERear
private

Definition at line 157 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCERear(), and initialize().

◆ m_EESCHLength

double DDEcalEndcapAlgo::m_EESCHLength
private

Definition at line 163 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCHLength(), and initialize().

◆ m_EESCHSide

double DDEcalEndcapAlgo::m_EESCHSide
private

Definition at line 164 of file DDEcalEndcapAlgo.cc.

Referenced by eeSCHSide(), and initialize().

◆ m_EEWallMat

std::string DDEcalEndcapAlgo::m_EEWallMat
private

Definition at line 151 of file DDEcalEndcapAlgo.cc.

Referenced by eeWallMat(), and initialize().

◆ m_EEzOff

double DDEcalEndcapAlgo::m_EEzOff
private

Definition at line 145 of file DDEcalEndcapAlgo.cc.

Referenced by eezOff(), and initialize().

◆ m_envName

std::string DDEcalEndcapAlgo::m_envName
private

Definition at line 180 of file DDEcalEndcapAlgo.cc.

Referenced by envName(), and initialize().

◆ m_idNameSpace

std::string DDEcalEndcapAlgo::m_idNameSpace
private

Definition at line 141 of file DDEcalEndcapAlgo.cc.

Referenced by ddname(), idNameSpace(), initialize(), and myrot().

◆ m_iLength

double DDEcalEndcapAlgo::m_iLength
private

Definition at line 197 of file DDEcalEndcapAlgo.cc.

Referenced by iLength(), and initialize().

◆ m_intName

std::string DDEcalEndcapAlgo::m_intName
private

Definition at line 182 of file DDEcalEndcapAlgo.cc.

Referenced by initialize(), and intName().

◆ m_iXYOff

double DDEcalEndcapAlgo::m_iXYOff
private

Definition at line 199 of file DDEcalEndcapAlgo.cc.

Referenced by initialize(), and iXYOff().

◆ m_PF45

double DDEcalEndcapAlgo::m_PF45
private

Definition at line 193 of file DDEcalEndcapAlgo.cc.

Referenced by eePF45(), and initialize().

◆ m_PFfifth

double DDEcalEndcapAlgo::m_PFfifth
private

Definition at line 192 of file DDEcalEndcapAlgo.cc.

Referenced by eePFFifth(), and initialize().

◆ m_PFhalf

double DDEcalEndcapAlgo::m_PFhalf
private

Definition at line 191 of file DDEcalEndcapAlgo.cc.

Referenced by eePFHalf(), and initialize().

◆ m_scrFCtr

DDTranslation DDEcalEndcapAlgo::m_scrFCtr[10][10]
private

Definition at line 188 of file DDEcalEndcapAlgo.cc.

Referenced by execute(), and scrFCtr().

◆ m_scrRCtr

DDTranslation DDEcalEndcapAlgo::m_scrRCtr[10][10]
private

Definition at line 189 of file DDEcalEndcapAlgo.cc.

Referenced by execute(), and scrRCtr().

◆ m_vecEECRCtrs

std::vector<double> DDEcalEndcapAlgo::m_vecEECRCtrs
private

Definition at line 175 of file DDEcalEndcapAlgo.cc.

Referenced by eevecEECRCtrs(), and initialize().

◆ m_vecEESCCtrs

std::vector<double> DDEcalEndcapAlgo::m_vecEESCCtrs
private

Definition at line 173 of file DDEcalEndcapAlgo.cc.

Referenced by eevecEESCCtrs(), and initialize().

◆ m_vecEESCCutaway

std::vector<double> DDEcalEndcapAlgo::m_vecEESCCutaway
private

Definition at line 171 of file DDEcalEndcapAlgo.cc.

Referenced by eevecEESCCutaway(), and initialize().

◆ m_vecEESCLims

std::vector<double> DDEcalEndcapAlgo::m_vecEESCLims
private

Definition at line 195 of file DDEcalEndcapAlgo.cc.

Referenced by initialize(), and vecEESCLims().

◆ m_vecEESCProf

std::vector<double> DDEcalEndcapAlgo::m_vecEESCProf
private

Definition at line 167 of file DDEcalEndcapAlgo.cc.

Referenced by eevecEESCProf(), and initialize().

◆ m_vecEEShape

std::vector<double> DDEcalEndcapAlgo::m_vecEEShape
private

Definition at line 169 of file DDEcalEndcapAlgo.cc.

Referenced by eevecEEShape(), and initialize().

◆ m_zFront

double DDEcalEndcapAlgo::m_zFront
private

Definition at line 203 of file DDEcalEndcapAlgo.cc.

Referenced by execute(), and initialize().

DDEcalEndcapAlgo::m_vecEEShape
std::vector< double > m_vecEEShape
Definition: DDEcalEndcapAlgo.cc:169
DDEcalEndcapAlgo::m_EEMat
std::string m_EEMat
Definition: DDEcalEndcapAlgo.cc:144
DDEcalEndcapAlgo::cryName
DDName cryName() const
Definition: DDEcalEndcapAlgo.cc:122
DDEcalEndcapAlgo::m_EEzOff
double m_EEzOff
Definition: DDEcalEndcapAlgo.cc:145
DDEcalEndcapAlgo::m_scrFCtr
DDTranslation m_scrFCtr[10][10]
Definition: DDEcalEndcapAlgo.cc:188
mps_fire.i
i
Definition: mps_fire.py:355
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
DDEcalEndcapAlgo::addTmp
DDName addTmp(DDName aName) const
Definition: DDEcalEndcapAlgo.cc:124
DDEcalEndcapAlgo::m_EEnSCTypes
double m_EEnSCTypes
Definition: DDEcalEndcapAlgo.cc:166
DDEcalEndcapAlgo::m_cryRCtr
DDTranslation m_cryRCtr[5][5]
Definition: DDEcalEndcapAlgo.cc:186
DDEcalEndcapAlgo::iLength
double iLength() const
Definition: DDEcalEndcapAlgo.cc:136
DDName
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
DDEcalEndcapAlgo::m_EESCARear
double m_EESCARear
Definition: DDEcalEndcapAlgo.cc:160
DDEcalEndcapAlgo::m_EEnCRSC
double m_EEnCRSC
Definition: DDEcalEndcapAlgo.cc:174
DDEcalEndcapAlgo::m_cryName
std::string m_cryName
Definition: DDEcalEndcapAlgo.cc:183
DDEcalEndcapAlgo::intName
DDName intName(unsigned int i) const
Definition: DDEcalEndcapAlgo.cc:121
DDEcalEndcapAlgo::eevecEESCCutaway
const std::vector< double > & eevecEESCCutaway() const
Definition: DDEcalEndcapAlgo.cc:110
DDEcalEndcapAlgo::cryFCtr
const DDTranslation & cryFCtr(unsigned int iRow, unsigned int iCol) const
Definition: DDEcalEndcapAlgo.cc:126
DDEcalEndcapAlgo::m_EESCELength
double m_EESCELength
Definition: DDEcalEndcapAlgo.cc:156
cms::cuda::assert
assert(be >=bs)
DDEcalEndcapAlgo::eeSCERear
double eeSCERear() const
Definition: DDEcalEndcapAlgo.cc:94
DDEcalEndcapAlgo::m_vecEECRCtrs
std::vector< double > m_vecEECRCtrs
Definition: DDEcalEndcapAlgo.cc:175
DDEcalEndcapAlgo::eeSCEFront
double eeSCEFront() const
Definition: DDEcalEndcapAlgo.cc:95
DDEcalEndcapAlgo::m_alvName
std::string m_alvName
Definition: DDEcalEndcapAlgo.cc:181
DDEcalEndcapAlgo::m_PFfifth
double m_PFfifth
Definition: DDEcalEndcapAlgo.cc:192
DDEcalEndcapAlgo::scrFCtr
const DDTranslation & scrFCtr(unsigned int iRow, unsigned int iCol) const
Definition: DDEcalEndcapAlgo.cc:130
DDEcalEndcapAlgo::eeSCAWall
double eeSCAWall() const
Definition: DDEcalEndcapAlgo.cc:99
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
DDRotationMatrix
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
Definition: DDRotationMatrix.h:8
DDEcalEndcapAlgo::alvName
DDName alvName(unsigned int i) const
Definition: DDEcalEndcapAlgo.cc:120
DDEcalEndcapAlgo::m_vecEESCCutaway
std::vector< double > m_vecEESCCutaway
Definition: DDEcalEndcapAlgo.cc:171
DDEcalEndcapTrap
Definition: DDEcalEndcapTrap.h:11
DDEcalEndcapAlgo::m_EECrysFront
double m_EECrysFront
Definition: DDEcalEndcapAlgo.cc:155
alignCSCRings.s
s
Definition: alignCSCRings.py:92
DDMaterial
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:45
DDEcalEndcapAlgo::eezOff
double eezOff() const
Definition: DDEcalEndcapAlgo.cc:82
DDSolidFactory::subtraction
static DDSolid subtraction(const DDName &name, const DDSolid &a, const DDSolid &b, const DDTranslation &t, const DDRotation &r)
Definition: DDSolid.cc:585
part
part
Definition: HCALResponse.h:20
DDEcalEndcapAlgo::m_vecEESCCtrs
std::vector< double > m_vecEESCCtrs
Definition: DDEcalEndcapAlgo.cc:173
DDEcalEndcapAlgo::eevecEESCCtrs
const std::vector< double > & eevecEESCCtrs() const
Definition: DDEcalEndcapAlgo.cc:111
DDEcalEndcapAlgo::m_iXYOff
double m_iXYOff
Definition: DDEcalEndcapAlgo.cc:199
DDEcalEndcapAlgo::m_EESCERear
double m_EESCERear
Definition: DDEcalEndcapAlgo.cc:157
DDTranslation
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
DDEcalEndcapAlgo::m_EEnSCCutaway
double m_EEnSCCutaway
Definition: DDEcalEndcapAlgo.cc:170
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
DDEcalEndcapAlgo::ddmat
DDMaterial ddmat(const std::string &s) const
Definition: DDEcalEndcapAlgo.cc:328
DDEcalEndcapAlgo::eeCrysMat
DDMaterial eeCrysMat() const
Definition: DDEcalEndcapAlgo.cc:87
DDEcalEndcapAlgo::eevecEECRCtrs
const std::vector< double > & eevecEECRCtrs() const
Definition: DDEcalEndcapAlgo.cc:112
DDEcalEndcapAlgo::EECreateSC
void EECreateSC(const unsigned int iSCType, DDCompactView &cpv)
Definition: DDEcalEndcapAlgo.cc:430
DDEcalEndcapAlgo::eeCrysFront
double eeCrysFront() const
Definition: DDEcalEndcapAlgo.cc:92
DDEcalEndcapAlgo::m_EEWallMat
std::string m_EEWallMat
Definition: DDEcalEndcapAlgo.cc:151
DDEcalEndcapAlgo::m_zFront
double m_zFront
Definition: DDEcalEndcapAlgo.cc:203
DDEcalEndcapAlgo::m_EESCEFront
double m_EESCEFront
Definition: DDEcalEndcapAlgo.cc:158
DDEcalEndcapAlgo::eevecEESCProf
const std::vector< double > & eevecEESCProf() const
Definition: DDEcalEndcapAlgo.cc:108
DDEcalEndcapAlgo::m_cutBoxName
std::string m_cutBoxName
Definition: DDEcalEndcapAlgo.cc:178
DDEcalEndcapAlgo::eevecEEShape
const std::vector< double > & eevecEEShape() const
Definition: DDEcalEndcapAlgo.cc:109
DDEcalEndcapAlgo::eenSCCutaway
double eenSCCutaway() const
Definition: DDEcalEndcapAlgo.cc:105
DDEcalEndcapAlgo::m_EESCAWall
double m_EESCAWall
Definition: DDEcalEndcapAlgo.cc:162
DDEcalEndcapAlgo::eeSCALength
double eeSCALength() const
Definition: DDEcalEndcapAlgo.cc:96
DDEcalEndcapAlgo::ddname
DDName ddname(const std::string &s) const
Definition: DDEcalEndcapAlgo.cc:330
DDEcalEndcapAlgo::m_vecEESCProf
std::vector< double > m_vecEESCProf
Definition: DDEcalEndcapAlgo.cc:167
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
DDEcalEndcapAlgo::m_cutParms
const std::vector< double > * m_cutParms
Definition: DDEcalEndcapAlgo.cc:177
DDEcalEndcapAlgo::iXYOff
double iXYOff() const
Definition: DDEcalEndcapAlgo.cc:137
DDEcalEndcapAlgo::myrot
DDRotation myrot(const std::string &s, const DDRotationMatrix &r) const
Definition: DDEcalEndcapAlgo.cc:324
rname
const G4String rname[NREG]
Definition: ParametrisedEMPhysics.cc:46
DDEcalEndcapAlgo::eeCrysLength
double eeCrysLength() const
Definition: DDEcalEndcapAlgo.cc:90
DDEcalEndcapAlgo::m_EESCALength
double m_EESCALength
Definition: DDEcalEndcapAlgo.cc:159
DDLogicalPart
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Definition: DDLogicalPart.h:93
DDEcalEndcapAlgo::m_PFhalf
double m_PFhalf
Definition: DDEcalEndcapAlgo.cc:191
createfilelist.int
int
Definition: createfilelist.py:10
DDEcalEndcapAlgo::eePF45
double eePF45() const
Definition: DDEcalEndcapAlgo.cc:117
DDName::name
const std::string & name() const
Returns the name.
Definition: DDName.cc:40
DDEcalEndcapAlgo::EEPositionCRs
void EEPositionCRs(const DDName &pName, const DDTranslation &offset, const int iSCType, DDCompactView &cpv)
Definition: DDEcalEndcapAlgo.cc:593
DDEcalEndcapAlgo::m_EECrysLength
double m_EECrysLength
Definition: DDEcalEndcapAlgo.cc:153
DDEcalEndcapAlgo::m_EESCHSide
double m_EESCHSide
Definition: DDEcalEndcapAlgo.cc:164
DDEcalEndcapAlgo::EECreateCR
void EECreateCR()
Definition: DDEcalEndcapAlgo.cc:572
DDEcalEndcapAlgo::m_scrRCtr
DDTranslation m_scrRCtr[10][10]
Definition: DDEcalEndcapAlgo.cc:189
DDEcalEndcapAlgo::EEGetSCType
unsigned int EEGetSCType(const unsigned int iCol, const unsigned int iRow)
Definition: DDEcalEndcapAlgo.cc:560
DDEcalEndcapAlgo::eeMat
DDMaterial eeMat() const
Definition: DDEcalEndcapAlgo.cc:81
DDEcalEndcapAlgo::m_iLength
double m_iLength
Definition: DDEcalEndcapAlgo.cc:197
DDEcalEndcapAlgo::m_cryFCtr
DDTranslation m_cryFCtr[5][5]
Definition: DDEcalEndcapAlgo.cc:185
DDEcalEndcapAlgo::eenSCTypes
double eenSCTypes() const
Definition: DDEcalEndcapAlgo.cc:103
DDEcalEndcapAlgo::m_EECrysRear
double m_EECrysRear
Definition: DDEcalEndcapAlgo.cc:154
DDEcalEndcapAlgo::eenColumns
double eenColumns() const
Definition: DDEcalEndcapAlgo.cc:104
alignCSCRings.r
r
Definition: alignCSCRings.py:93
DDEcalEndcapAlgo::vecEESCLims
const std::vector< double > & vecEESCLims() const
Definition: DDEcalEndcapAlgo.cc:134
DDEcalEndcapAlgo::m_EEnSCquad
double m_EEnSCquad
Definition: DDEcalEndcapAlgo.cc:172
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
PVValHelper::dz
Definition: PVValidationHelpers.h:50
DDEcalEndcapAlgo::m_intName
std::string m_intName
Definition: DDEcalEndcapAlgo.cc:182
DDCurrentNamespace::ns
static std::string & ns()
Definition: DDCurrentNamespace.cc:3
DDEcalEndcapAlgo::eeCrysRear
double eeCrysRear() const
Definition: DDEcalEndcapAlgo.cc:91
DDEcalEndcapAlgo::m_cryZOff
double m_cryZOff
Definition: DDEcalEndcapAlgo.cc:201
DDEcalEndcapAlgo::scrRCtr
const DDTranslation & scrRCtr(unsigned int iRow, unsigned int iCol) const
Definition: DDEcalEndcapAlgo.cc:132
DDEcalEndcapAlgo::m_idNameSpace
std::string m_idNameSpace
Definition: DDEcalEndcapAlgo.cc:141
DDEcalEndcapAlgo::m_EESCHLength
double m_EESCHLength
Definition: DDEcalEndcapAlgo.cc:163
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
DDEcalEndcapAlgo::cryRCtr
const DDTranslation & cryRCtr(unsigned int iRow, unsigned int iCol) const
Definition: DDEcalEndcapAlgo.cc:128
DDEcalEndcapAlgo::m_EEQuaName
std::string m_EEQuaName
Definition: DDEcalEndcapAlgo.cc:147
DDEcalEndcapAlgo::m_EEQuaMat
std::string m_EEQuaMat
Definition: DDEcalEndcapAlgo.cc:148
DDEcalEndcapAlgo::m_EESCAFront
double m_EESCAFront
Definition: DDEcalEndcapAlgo.cc:161
DDEcalEndcapAlgo::m_EEnColumns
double m_EEnColumns
Definition: DDEcalEndcapAlgo.cc:168
DDEcalEndcapAlgo::m_PF45
double m_PF45
Definition: DDEcalEndcapAlgo.cc:193
DDEcalEndcapAlgo::eeSCELength
double eeSCELength() const
Definition: DDEcalEndcapAlgo.cc:93
DDEcalEndcapAlgo::eeSCAFront
double eeSCAFront() const
Definition: DDEcalEndcapAlgo.cc:98
DDEcalEndcapAlgo::eeWallMat
DDMaterial eeWallMat() const
Definition: DDEcalEndcapAlgo.cc:88
DDEcalEndcapAlgo::eePFFifth
double eePFFifth() const
Definition: DDEcalEndcapAlgo.cc:116
DDEcalEndcapAlgo::eeSCARear
double eeSCARear() const
Definition: DDEcalEndcapAlgo.cc:97
DDEcalEndcapAlgo::eeQuaName
DDName eeQuaName() const
Definition: DDEcalEndcapAlgo.cc:84
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
DDEcalEndcapAlgo::m_vecEESCLims
std::vector< double > m_vecEESCLims
Definition: DDEcalEndcapAlgo.cc:195
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
DDEcalEndcapAlgo::envName
DDName envName(unsigned int i) const
Definition: DDEcalEndcapAlgo.cc:119
class-composition.parent
parent
Definition: class-composition.py:88
DDEcalEndcapAlgo::m_EECrysMat
std::string m_EECrysMat
Definition: DDEcalEndcapAlgo.cc:150
DDEcalEndcapAlgo::eePFHalf
double eePFHalf() const
Definition: DDEcalEndcapAlgo.cc:115
cuy.ii
ii
Definition: cuy.py:590
DDEcalEndcapAlgo::m_envName
std::string m_envName
Definition: DDEcalEndcapAlgo.cc:180
DDSplit
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
Definition: DDSplit.cc:3
DDEcalEndcapAlgo::eenSCquad
double eenSCquad() const
Definition: DDEcalEndcapAlgo.cc:106
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
DDEcalEndcapAlgo::cutBoxName
DDName cutBoxName() const
Definition: DDEcalEndcapAlgo.cc:114
DDTranslation
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDEcalEndcapAlgo.cc:17