6 #include "DD4hep/DetFactoryHelper.h"
9 using namespace geant_units::operators;
14 double startAngle = args.
value<
double>(
"startAngle");
15 double stepAngle = args.
value<
double>(
"stepAngle");
16 double zoffset = args.
value<
double>(
"zoffset");
17 double roffset = args.
value<
double>(
"roffset");
18 int n = args.
value<
int>(
"n");
19 int startCopyNo = args.
value<
int>(
"startCopyNo");
20 int incrCopyNo = args.
value<
int>(
"incrCopyNo");
22 edm::LogVerbatim(
"ForwardGeom") <<
"DDTotemAngular: Parameters for positioning-- " << n <<
" copies in steps of "
24 <<
" \tZoffset " << zoffset <<
" \tRoffset " << roffset
25 <<
"\tStart and inremental copy nos " << startCopyNo <<
", " << incrCopyNo;
31 edm::LogVerbatim(
"ForwardGeom") <<
"DDTotemAngular debug: Parent " << parent.name() <<
"\tChild " << child.name();
34 double phi = startAngle;
35 int copyNo = startCopyNo;
37 for (
int ii = 0;
ii <
n;
ii++) {
40 edm::LogVerbatim(
"ForwardGeom") <<
"DDTotemAngular: Creating a new rotation \t90, "
46 parent.placeVolume(child, copyNo, dd4hep::Transform3D(rotation, tran));
48 edm::LogVerbatim(
"ForwardGeom") <<
"DDTotemAngular: " << child.name() <<
" number " << copyNo <<
" positioned in "
49 << parent.name() <<
" at " << tran <<
" with " <<
rotation;
Log< level::Info, true > LogVerbatim
dd4hep::Volume volume(const std::string &name, bool exc=true) const
constexpr NumType convertRadToDeg(NumType radians)
Sin< T >::type sin(const T &t)
T value(const std::string &name) const
DDRotationMatrix makeRotation3D(double thetaX, double phiX, double thetaY, double phiY, double thetaZ, double phiZ)
#define DECLARE_DDCMS_DETELEMENT(name, func)
Cos< T >::type cos(const T &t)
std::string prepend(const std::string &) const
std::string parentName() const
Access value of rParent child node.