|
|
|
void | constructGeneralVolume (cms::DDNamespace &ns, dd4hep::Volume &parent) |
|
void | constructInsideModule (cms::DDNamespace &ns, dd4hep::Volume &module, int mod) |
|
void | constructInsideModule0 (cms::DDNamespace &ns, dd4hep::Volume &module, int mod) |
|
void | constructInsideSector (cms::DDNamespace &ns, dd4hep::Volume §or) |
|
void | constructScintLayer (cms::DDNamespace &ns, dd4hep::Volume &detector, double dz, double yh, double bl, double tl, double alp, const std::string &nm, int id) |
|
int | getLayer (unsigned int i, unsigned int j) const |
|
dd4hep::Rotation3D | getRotation (const std::string &rotation, cms::DDNamespace &ns) |
|
double | getTrim (unsigned int i, unsigned int j) const |
|
| HCalEndcapAlgo ()=delete |
|
| HCalEndcapAlgo (cms::DDParsingContext &ctxt, xml_h e) |
|
void | parameterLayer (int iphi, double rinF, double routF, double rinB, double routB, double zi, double zo, double &yh1, double &bl1, double &tl1, double &yh2, double &bl2, double &tl2, double &alp, double &theta, double &phi, double &xpos, double &ypos, double &zpos) |
|
void | parameterLayer0 (int mod, int layer, int iphi, double &yh, double &bl, double &tl, double &alp, double &xpos, double &ypos, double &zpos) |
|
Definition at line 22 of file DDHCalEndcapAlgo.cc.
◆ HCalEndcapAlgo() [1/2]
HCalEndcapAlgo::HCalEndcapAlgo |
( |
| ) |
|
|
delete |
◆ HCalEndcapAlgo() [2/2]
Definition at line 92 of file DDHCalEndcapAlgo.cc.
113 double gap =
args.value<
double>(
"Gap");
114 double z1 =
args.value<
double>(
"Z1");
115 double r1 =
args.value<
double>(
"R1");
124 <<
", " <<
nsectortot <<
"\tEndcaps " <<
nEndcap <<
"\tRotation matrix for half "
163 modName =
args.value<std::vector<std::string> >(
"ModuleName");
164 modMat =
args.value<std::vector<std::string> >(
"ModuleMat");
165 modType =
args.value<std::vector<int> >(
"ModuleType");
167 thick =
args.value<std::vector<double> >(
"ModuleThick");
168 trimLeft =
args.value<std::vector<double> >(
"TrimLeft");
170 eModule =
args.value<std::vector<int> >(
"EquipModule");
171 layerN =
args.value<std::vector<int> >(
"LayerN");
172 layerN0 =
args.value<std::vector<int> >(
"LayerN0");
173 layerN1 =
args.value<std::vector<int> >(
"LayerN1");
174 layerN2 =
args.value<std::vector<int> >(
"LayerN2");
175 layerN3 =
args.value<std::vector<int> >(
"LayerN3");
176 layerN4 =
args.value<std::vector<int> >(
"LayerN4");
177 layerN5 =
args.value<std::vector<int> >(
"LayerN5");
183 <<
" equip module " <<
eModule[
i] <<
" with " <<
layerN[
i] <<
" layers";
215 phiName =
args.value<std::vector<std::string> >(
"PhiName");
217 layerName =
args.value<std::vector<std::string> >(
"LayerName");
219 layerT =
args.value<std::vector<double> >(
"LayerT");
220 scintT =
args.value<std::vector<double> >(
"ScintT");
311 <<
" NameSpace " << ns.name() <<
" Offset " <<
idOffset;
325 edm::LogVerbatim(
"HCalGeom") <<
"<<== End of DDHCalEndcapAlgo construction ...";
References writedatasetfile::args, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), MillePedeFileConverter_cfg::e, muonTiming_cfi::etamin, JetChargeProducer_cfi::exp, HLT_2018_cff::gap, mps_fire::i, versionedElectronIDProducer_cfi::idName, dqmiolumiharvest::j, hgcalTopologyTester_cfi::layers, LogMessageMonitor_cff::modules, cms::DDNamespace::name(), class-composition::parent, diffTwoXMLs::r1, idealTransformation::rotation, funct::sin(), slope, AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), and cms::DDNamespace::volume().
◆ constructGeneralVolume()
void HCalEndcapAlgo::constructGeneralVolume |
( |
cms::DDNamespace & |
ns, |
|
|
dd4hep::Volume & |
parent |
|
) |
| |
|
inline |
!!!!!!!!!!!!!!!!Should be zero. And removed as soon as
Definition at line 329 of file DDHCalEndcapAlgo.cc.
335 for (
int i = 0;
i < 3;
i++)
352 std::vector<double> pgonZ, pgonRmin, pgonRmax;
355 pgonZ.emplace_back(zf -
dzShift);
370 pgonRmin.emplace_back(
riKink);
371 pgonRmax.emplace_back(
rout);
373 pgonRmin.emplace_back(
riDip);
374 pgonRmax.emplace_back(
rout);
376 pgonRmin.emplace_back(
riDip);
377 pgonRmax.emplace_back(
roDip);
380 pgonRmax.emplace_back(
roDip);
381 pgonZ.emplace_back(
zEnd);
383 pgonRmax.emplace_back(
roDip);
391 for (
unsigned int i = 0;
i < pgonZ.size();
i++)
398 parent.placeVolume(genlogic, 1, dd4hep::Transform3D(
rot, r0));
400 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << genlogic.name() <<
" number 1 positioned in "
402 <<
") with rotation: " <<
rot;
407 parent.placeVolume(genlogic, 2, dd4hep::Transform3D(
rot, r0));
409 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << genlogic.name() <<
" number 2 "
411 <<
") with rotation: " <<
rot;
417 std::vector<double> pgonZMod, pgonRminMod, pgonRmaxMod;
418 for (
unsigned int i = 0;
i < (pgonZ.size() - 1);
i++) {
419 pgonZMod.emplace_back(pgonZ[
i] +
dzShift);
420 pgonRminMod.emplace_back(pgonRmin[
i]);
421 pgonRmaxMod.emplace_back(pgonRmax[
i]);
428 for (
unsigned int i = 0;
i < pgonZMod.size();
i++)
438 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << genlogich.name() <<
" number 1 positioned in "
449 for (
unsigned int i = 0;
i < pgonZMod.size();
i++)
458 dd4hep::Rotation3D rot0;
460 rot0 = dd4hep::RotationZ(
phi);
466 genlogich.placeVolume(seclogic,
ii + 1, rot0);
468 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << seclogic.name() <<
" number " <<
ii + 1
469 <<
" positioned in " << genlogich.name() <<
" at (0, 0, 0) with rotation: " << rot0;
478 std::vector<double> pgonZBack, pgonRminBack, pgonRmaxBack;
481 pgonRmaxBack.emplace_back(
roDip);
482 pgonZBack.emplace_back(
zEnd);
484 pgonRmaxBack.emplace_back(
roDip);
487 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << solid.name() <<
" Polyhedra made of " <<
absMat <<
" with "
490 for (
unsigned int i = 0;
i < pgonZBack.size();
i++)
498 genlogic.placeVolume(glog, 1);
500 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << glog.name() <<
" number 1 positioned in " << genlogic.name()
501 <<
" at (0,0,0) with no rotation";
References cms::DDNamespace::addVolumeNS(), zMuMuMuonUserData::alpha, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), mps_fire::i, versionedElectronIDProducer_cfi::idName, cuy::ii, cms::DDNamespace::material(), g4SimHits_cfi::Material, Skims_PA_cff::name, class-composition::parent, HGCalGeometryMode::Polyhedra, PixelTestBeamValidation_cfi::Position, cms::DDNamespace::prepend(), makeMuonMisalignmentScenario::rot, idealTransformation::rotation, slope, AlCaHLTBitMon_QueryRunRegistry::string, and funct::tan().
◆ constructInsideModule()
void HCalEndcapAlgo::constructInsideModule |
( |
cms::DDNamespace & |
ns, |
|
|
dd4hep::Volume & |
module, |
|
|
int |
mod |
|
) |
| |
|
inline |
Definition at line 684 of file DDHCalEndcapAlgo.cc.
703 double zo = zi + 0.5 *
dzStep;
729 double yh1, bl1, tl1, yh2, bl2, tl2,
theta,
phi, alp;
730 double xpos, ypos, zpos;
732 iphi, rinF, routF, rinB, routB, ziAir, zo, yh1, bl1, tl1, yh2, bl2, tl2, alp,
theta,
phi, xpos, ypos, zpos);
735 solid = dd4hep::Trap(ns.
prepend(
name), 0.5 *
thick[
mod],
theta,
phi, yh1, bl1, tl1, alp, yh2, bl2, tl2, alp);
737 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << solid.name() <<
" Trap made of " << matter.name()
748 module.placeVolume(glog, layer + 1, dd4hep::Transform3D(
rot,
r1));
751 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << glog.name() <<
" number " << (layer + 1)
754 <<
") with rotation: " <<
rot;
762 solid = dd4hep::Trap(ns.
prepend(
name), 0.5 *
layerT[layer], 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
772 ypos = 0.5 * (routF + rinB) - xpos;
777 <<
" positioned in " << glog.name() <<
" at (0, " <<
convertCmToMm(ypos)
778 <<
", 0) with no rotation";
782 int copyNo = layer * 10 +
layerType[layer];
References zMuMuMuonUserData::alpha, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), DDSplit(), dqmdumpme::first, mps_fire::i, LEDCalibrationChannels::iphi, cms::DDNamespace::material(), g4SimHits_cfi::Material, mod(), Skims_PA_cff::name, PixelTestBeamValidation_cfi::Position, cms::DDNamespace::prepend(), diffTwoXMLs::r1, makeMuonMisalignmentScenario::rot, slope, AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), and theta().
◆ constructInsideModule0()
void HCalEndcapAlgo::constructInsideModule0 |
( |
cms::DDNamespace & |
ns, |
|
|
dd4hep::Volume & |
module, |
|
|
int |
mod |
|
) |
| |
|
inline |
Definition at line 576 of file DDHCalEndcapAlgo.cc.
590 double xpos, ypos, zpos;
594 double yh, bl, tl, alp;
597 solid = dd4hep::Trap(ns.
prepend(
name), 0.5 *
layerT[layer], 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
618 int copyNo = layer0 * 10 +
layerType[layer];
625 double zo = zi + 0.5 *
dzStep;
626 double rinF, routF, rinB, routB;
645 double yh1, bl1, tl1, yh2, bl2, tl2,
theta,
phi, alp;
647 0, rinF, routF, rinB, routB, zi, zo, yh1, bl1, tl1, yh2, bl2, tl2, alp,
theta,
phi, xpos, ypos, zpos);
662 solid = dd4hep::Trap(ns.
prepend(
name), 0.5 *
thick[
mod],
theta,
phi, yh1, bl1, tl1, alp, yh2, bl2, tl2, alp);
675 module.placeVolume(glog, 1, dd4hep::Transform3D(
rot,
r2));
678 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << glog.name() <<
" number 1 positioned in " <<
module.name()
References geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), DDSplit(), fact, dqmdumpme::first, LEDCalibrationChannels::iphi, cms::DDNamespace::material(), g4SimHits_cfi::Material, mod(), Skims_PA_cff::name, PixelTestBeamValidation_cfi::Position, cms::DDNamespace::prepend(), diffTwoXMLs::r1, diffTwoXMLs::r2, makeMuonMisalignmentScenario::rot, slope, AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), and theta().
◆ constructInsideSector()
void HCalEndcapAlgo::constructInsideSector |
( |
cms::DDNamespace & |
ns, |
|
|
dd4hep::Volume & |
sector |
|
) |
| |
|
inline |
!!!!!!!!!!!!!!!!Should be zero. And removed as soon as
Definition at line 505 of file DDHCalEndcapAlgo.cc.
522 std::vector<double> pgonZ, pgonRmin, pgonRmax;
525 pgonZ.emplace_back(zf);
528 pgonZ.emplace_back(
ziKink);
529 pgonRmin.emplace_back(
riKink);
530 pgonRmax.emplace_back(
rout);
537 pgonZ.emplace_back(
ziDip);
538 pgonRmin.emplace_back(
riDip);
539 pgonRmax.emplace_back(
rout);
540 pgonZ.emplace_back(pgonZ[1] + deltaz);
541 pgonRmin.emplace_back(pgonRmin[1]);
542 pgonRmax.emplace_back(
roDip);
554 for (
unsigned int k = 0;
k < pgonZ.size();
k++)
562 sector.placeVolume(glog,
i + 1);
564 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << glog.name() <<
" number " <<
i + 1 <<
" positioned in "
565 << sector.name() <<
" at (0,0,0) with no rotation";
References zMuMuMuonUserData::alpha, geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), mps_fire::i, versionedElectronIDProducer_cfi::idName, dqmdumpme::k, cms::DDNamespace::material(), g4SimHits_cfi::Material, LogMessageMonitor_cff::modules, Skims_PA_cff::name, HGCalGeometryMode::Polyhedra, cms::DDNamespace::prepend(), slope, AlCaHLTBitMon_QueryRunRegistry::string, and funct::tan().
◆ constructScintLayer()
void HCalEndcapAlgo::constructScintLayer |
( |
cms::DDNamespace & |
ns, |
|
|
dd4hep::Volume & |
detector, |
|
|
double |
dz, |
|
|
double |
yh, |
|
|
double |
bl, |
|
|
double |
tl, |
|
|
double |
alp, |
|
|
const std::string & |
nm, |
|
|
int |
id |
|
) |
| |
|
inline |
Definition at line 791 of file DDHCalEndcapAlgo.cc.
803 dd4hep::Solid solid = dd4hep::Trap(ns.
prepend(
name), 0.5 *
dz, 0, 0, yh, bl, tl, alp, yh, bl, tl, alp);
815 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalEndcapAlgo: " << glog.name() <<
" number " <<
id <<
" positioned in "
816 <<
detector.name() <<
" at (0,0,0) with no rotation";
References geant_units::operators::convertCmToMm(), angle_units::operators::convertRadToDeg(), hgcalTestNeighbor_cfi::detector, PVValHelper::dz, versionedElectronIDProducer_cfi::idName, cms::DDNamespace::material(), g4SimHits_cfi::Material, Skims_PA_cff::name, cms::DDNamespace::prepend(), and AlCaHLTBitMon_QueryRunRegistry::string.
◆ getLayer()
int HCalEndcapAlgo::getLayer |
( |
unsigned int |
i, |
|
|
unsigned int |
j |
|
) |
| const |
|
inline |
◆ getRotation()
dd4hep::Rotation3D HCalEndcapAlgo::getRotation |
( |
const std::string & |
rotation, |
|
|
cms::DDNamespace & |
ns |
|
) |
| |
|
inline |
◆ getTrim()
double HCalEndcapAlgo::getTrim |
( |
unsigned int |
i, |
|
|
unsigned int |
j |
|
) |
| const |
|
inline |
◆ parameterLayer()
void HCalEndcapAlgo::parameterLayer |
( |
int |
iphi, |
|
|
double |
rinF, |
|
|
double |
routF, |
|
|
double |
rinB, |
|
|
double |
routB, |
|
|
double |
zi, |
|
|
double |
zo, |
|
|
double & |
yh1, |
|
|
double & |
bl1, |
|
|
double & |
tl1, |
|
|
double & |
yh2, |
|
|
double & |
bl2, |
|
|
double & |
tl2, |
|
|
double & |
alp, |
|
|
double & |
theta, |
|
|
double & |
phi, |
|
|
double & |
xpos, |
|
|
double & |
ypos, |
|
|
double & |
zpos |
|
) |
| |
|
inline |
◆ parameterLayer0()
void HCalEndcapAlgo::parameterLayer0 |
( |
int |
mod, |
|
|
int |
layer, |
|
|
int |
iphi, |
|
|
double & |
yh, |
|
|
double & |
bl, |
|
|
double & |
tl, |
|
|
double & |
alp, |
|
|
double & |
xpos, |
|
|
double & |
ypos, |
|
|
double & |
zpos |
|
) |
| |
|
inline |
◆ absMat
std::string HCalEndcapAlgo::absMat |
◆ angBot
double HCalEndcapAlgo::angBot |
◆ angGap
double HCalEndcapAlgo::angGap |
◆ angTop
double HCalEndcapAlgo::angTop |
◆ drEnd
double HCalEndcapAlgo::drEnd |
◆ dzShift
double HCalEndcapAlgo::dzShift |
◆ dzStep
double HCalEndcapAlgo::dzStep |
◆ eModule
std::vector<int> HCalEndcapAlgo::eModule |
◆ genMaterial
std::string HCalEndcapAlgo::genMaterial |
◆ heboxDepth
double HCalEndcapAlgo::heboxDepth |
◆ idName
std::string HCalEndcapAlgo::idName |
◆ idOffset
int HCalEndcapAlgo::idOffset |
◆ layerN
std::vector<int> HCalEndcapAlgo::layerN |
◆ layerN0
std::vector<int> HCalEndcapAlgo::layerN0 |
◆ layerN1
std::vector<int> HCalEndcapAlgo::layerN1 |
◆ layerN2
std::vector<int> HCalEndcapAlgo::layerN2 |
◆ layerN3
std::vector<int> HCalEndcapAlgo::layerN3 |
◆ layerN4
std::vector<int> HCalEndcapAlgo::layerN4 |
◆ layerN5
std::vector<int> HCalEndcapAlgo::layerN5 |
◆ layerName
std::vector<std::string> HCalEndcapAlgo::layerName |
◆ layers
int HCalEndcapAlgo::layers |
◆ layerT
std::vector<double> HCalEndcapAlgo::layerT |
◆ layerType
std::vector<int> HCalEndcapAlgo::layerType |
◆ modMat
std::vector<std::string> HCalEndcapAlgo::modMat |
◆ modName
std::vector<std::string> HCalEndcapAlgo::modName |
◆ modType
std::vector<int> HCalEndcapAlgo::modType |
◆ modules
int HCalEndcapAlgo::modules |
◆ nEndcap
int HCalEndcapAlgo::nEndcap |
◆ nsectors
int HCalEndcapAlgo::nsectors |
◆ nsectortot
int HCalEndcapAlgo::nsectortot |
◆ phiName
std::vector<std::string> HCalEndcapAlgo::phiName |
◆ phiSections
int HCalEndcapAlgo::phiSections |
◆ plastMat
std::string HCalEndcapAlgo::plastMat |
◆ riDip
double HCalEndcapAlgo::riDip |
◆ riKink
double HCalEndcapAlgo::riKink |
◆ rinBlock1
std::vector<double> HCalEndcapAlgo::rinBlock1 |
◆ rinBlock2
std::vector<double> HCalEndcapAlgo::rinBlock2 |
◆ roDip
double HCalEndcapAlgo::roDip |
◆ rotation
std::string HCalEndcapAlgo::rotation |
◆ rotHalf
std::string HCalEndcapAlgo::rotHalf |
◆ rotmat
std::string HCalEndcapAlgo::rotmat |
◆ rout
double HCalEndcapAlgo::rout |
◆ routBlock1
std::vector<double> HCalEndcapAlgo::routBlock1 |
◆ routBlock2
std::vector<double> HCalEndcapAlgo::routBlock2 |
◆ scintMat
std::string HCalEndcapAlgo::scintMat |
◆ scintT
std::vector<double> HCalEndcapAlgo::scintT |
◆ sectionModule
std::vector<int> HCalEndcapAlgo::sectionModule |
◆ slope
double HCalEndcapAlgo::slope |
◆ thick
std::vector<double> HCalEndcapAlgo::thick |
◆ tolAbs
double HCalEndcapAlgo::tolAbs |
◆ tolPos
double HCalEndcapAlgo::tolPos |
◆ trimLeft
std::vector<double> HCalEndcapAlgo::trimLeft |
◆ trimRight
std::vector<double> HCalEndcapAlgo::trimRight |
◆ z0Beam
double HCalEndcapAlgo::z0Beam |
◆ z1Beam
double HCalEndcapAlgo::z1Beam |
◆ zEnd
double HCalEndcapAlgo::zEnd |
◆ zFront
double HCalEndcapAlgo::zFront |
◆ ziBody
double HCalEndcapAlgo::ziBody |
◆ ziDip
double HCalEndcapAlgo::ziDip |
◆ ziKink
double HCalEndcapAlgo::ziKink |
◆ ziL0Body
double HCalEndcapAlgo::ziL0Body |
◆ ziL0Nose
double HCalEndcapAlgo::ziL0Nose |
◆ ziNose
double HCalEndcapAlgo::ziNose |
◆ zmaxBlock
std::vector<double> HCalEndcapAlgo::zmaxBlock |
◆ zminBlock
std::vector<double> HCalEndcapAlgo::zminBlock |
◆ zShift
double HCalEndcapAlgo::zShift |
◆ zShiftHac2
double HCalEndcapAlgo::zShiftHac2 |
std::vector< std::string > layerName
dd4hep::Material material(const std::string &name) const
std::vector< int > modType
alpha
zGenParticlesMatch = cms.InputTag(""),
std::vector< double > trimRight
constexpr NumType convertRadToDeg(NumType radians)
std::vector< int > layerN2
T mod(const T &a, const T &b)
void constructInsideModule(cms::DDNamespace &ns, dd4hep::Volume &module, int mod)
std::vector< double > rinBlock1
int getLayer(unsigned int i, unsigned int j) const
void constructGeneralVolume(cms::DDNamespace &ns, dd4hep::Volume &parent)
std::vector< double > thick
std::vector< double > routBlock1
Sin< T >::type sin(const T &t)
void parameterLayer(int iphi, double rinF, double routF, double rinB, double routB, double zi, double zo, double &yh1, double &bl1, double &tl1, double &yh2, double &bl2, double &tl2, double &alp, double &theta, double &phi, double &xpos, double &ypos, double &zpos)
std::string prepend(const std::string &) const
std::vector< int > layerN3
Geom::Theta< T > theta() const
const dd4hep::Rotation3D & rotation(const std::string &name) const
std::vector< double > rinBlock2
void constructInsideModule0(cms::DDNamespace &ns, dd4hep::Volume &module, int mod)
std::vector< double > zminBlock
std::vector< double > trimLeft
std::vector< double > zmaxBlock
constexpr NumType convertCmToMm(NumType centimeters)
void constructScintLayer(cms::DDNamespace &ns, dd4hep::Volume &detector, double dz, double yh, double bl, double tl, double alp, const std::string &nm, int id)
Tan< T >::type tan(const T &t)
std::vector< std::string > modName
std::vector< int > sectionModule
void parameterLayer0(int mod, int layer, int iphi, double &yh, double &bl, double &tl, double &alp, double &xpos, double &ypos, double &zpos)
dd4hep::Rotation3D getRotation(const std::string &rotation, cms::DDNamespace &ns)
std::vector< int > layerN
std::vector< int > layerN1
std::vector< int > layerType
std::vector< std::string > modMat
std::vector< double > scintT
std::vector< std::string > phiName
dd4hep::Volume addVolumeNS(dd4hep::Volume vol) const
std::vector< double > routBlock2
std::vector< int > layerN0
std::vector< int > eModule
std::vector< double > layerT
double getTrim(unsigned int i, unsigned int j) const
void constructInsideSector(cms::DDNamespace &ns, dd4hep::Volume §or)
std::vector< int > layerN5
std::vector< int > layerN4
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'