22 edm::LogInfo(
"MuonGeom") <<
"DDMuonAngular test: Creating an instance";
34 startAngle = nArgs[
"startAngle"];
35 stepAngle = nArgs[
"stepAngle"];
36 zoffset = nArgs[
"zoffset"];
38 startCopyNo =
int (nArgs[
"startCopyNo"]);
39 incrCopyNo =
int (nArgs[
"incrCopyNo"]);
41 edm::LogInfo(
"MuonGeom") <<
"DDMuonAngular debug: Parameters for positioning-- " 42 <<
n <<
" copies in steps of " <<
CONVERT_TO( stepAngle, deg )
43 <<
" from " <<
CONVERT_TO( startAngle, deg ) <<
" \tZoffest " 44 << zoffset <<
"\tStart and inremental copy nos " 45 << startCopyNo <<
", " << incrCopyNo;
47 rotns = sArgs[
"RotNameSpace"];
49 childName = sArgs[
"ChildName"];
52 edm::LogInfo(
"MuonGeom") <<
"DDMuonAngular debug: Parent " << parentName
53 <<
"\tChild " << childName <<
"\tNameSpace " 54 << idNameSpace <<
"\tRotation Namespace " << rotns;
60 double phi = startAngle;
61 int copyNo = startCopyNo;
66 if (phitmp >= 2.
_pi) phitmp -= 2._pi;
76 edm::LogInfo(
"MuonGeom") <<
"DDMuonAngular test: Creating a new rotation " 77 <<
DDName(rotstr, idNameSpace) <<
"\t90, " 80 rotation =
DDrot(
DDName(rotstr, rotns), 90._deg, phitmp, 90._deg, 90._deg + phitmp, 0., 0.);
87 cpv.
position(
DDName(childName,idNameSpace), parentName, copyNo, tran, rotation);
90 <<
DDName(childName, idNameSpace) <<
" number " 91 << copyNo <<
" positioned in " << parentName
92 <<
" at " << tran <<
" with " << rotstr <<
" "
#define CONVERT_TO(_x, _y)
DDName is used to identify DDD entities uniquely.
static std::string & ns()
Compact representation of the geometrical detector hierarchy.
~DDMuonAngular() override
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Represents a uniquely identifyable rotation matrix.
void execute(DDCompactView &cpv) override
Abs< T >::type abs(const T &t)
std::string formatAsDegrees(double radianVal)
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=0)
constexpr long double _pi(M_PI)
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override