1 #include "DD4hep/DetFactoryHelper.h"
12 dd4hep::SensitiveDetector& ) {
17 double eta =
args.value<
double>(
"Eta");
19 double shiftY =
args.value<
double>(
"ShiftX");
20 double shiftX =
args.value<
double>(
"ShiftY");
21 double zoffset =
args.value<
double>(
"Zoffset");
22 double dist =
args.value<
double>(
"Distance");
23 double tilt =
args.value<
double>(
"TiltAngle");
24 int copyNumber =
args.value<
int>(
"Number");
27 childName = idNameSpace + childName;
33 <<
"axes; \tZoffest " <<
convertCmToMm(zoffset) <<
"\tRadial Distance "
36 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBZposAlgo: Parent " <<
args.parentName() <<
"\tChild " << childName
37 <<
" NameSpace " << idNameSpace;
44 double thetax = 90._deg -
theta;
45 double z = zoffset + dist *
tan(thetax);
46 double x = shiftX - shiftY *
sin(tilt);
47 double y = shiftY *
cos(tilt);
49 dd4hep::Rotation3D
rot;
55 rot = dd4hep::RotationZ(tilt);
57 mother.placeVolume(
child, copyNumber, dd4hep::Transform3D(
rot, tran));
59 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTBZposAlgo: " <<
child.name() <<
" number " << copyNumber <<
" positioned in "