Go to the source code of this file.
Definition at line 8 of file DDHCalLinearXY.cc.
References writedatasetfile::args, submitPVValidationJobs::child, cms::convert2mm(), filterCSVwithJSON::copy, mps_fire::i, dqmiolumiharvest::j, isotrackApplyRegressor::k, SpecificationBuilder_cfi::parent(), cms::DDAlgoArguments::parentName(), PixelTestBeamValidation_cfi::Position, cms::s_executed, AlCaHLTBitMon_QueryRunRegistry::string, cms::DDAlgoArguments::value(), and cms::DDNamespace::volume().
12 int numberX =
args.value<
int>(
"NumberX");
13 int numberY =
args.value<
int>(
"NumberY");
14 double deltaX =
args.value<
double>(
"DeltaX");
15 double deltaY =
args.value<
double>(
"DeltaY");
16 std::vector<double> centre =
args.value<std::vector<double> >(
"Center");
18 std::vector<std::string> childName =
args.value<std::vector<std::string> >(
"Child");
21 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalLinearXY: Parent " << parent.name() <<
" \twith " << childName.size()
24 for (
auto const&
child : childName) {
28 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalLinearXY: Number along X/Y " << numberX <<
"/" << numberY
33 double xoff = centre[0] - (numberX - 1) * 0.5 * deltaX;
34 double yoff = centre[1] - (numberY - 1) * 0.5 * deltaY;
35 unsigned int copy = 0;
36 for (
int i = 0;
i < numberX; ++
i) {
37 for (
int j = 0;
j < numberY; ++
j) {
38 unsigned int k = (childName.size() == 1) ? 0 : copy;
40 if (k < childName.size() && (childName[
k] !=
" " && childName[
k] !=
"Null")) {
43 parent.placeVolume(ns.volume(child),
copy, tran);
45 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalLinearXY: " << child <<
" number " << copy <<
" positioned in "
48 <<
") with no rotation";
52 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalLinearXY: no child placed for [" << copy <<
"]";
Log< level::Info, true > LogVerbatim
constexpr NumType convert2mm(NumType length)
static constexpr long s_executed
DD4HEP_OPEN_PLUGIN |
( |
dd4hep |
, |
|
|
ddcms_det_element_DDCMS_hcal_DDHCalLinearXY |
|
|
) |
| |