14 #include "CLHEP/Units/GlobalSystemOfUnits.h"
17 edm::LogInfo(
"MuonGeom") <<
"DDMuonAngular test: Creating an instance";
34 edm::LogInfo(
"MuonGeom") <<
"DDMuonAngular debug: Parameters for positioning-- "
35 <<
n <<
" copies in steps of " <<
stepAngle/CLHEP::deg
36 <<
" from " <<
startAngle/CLHEP::deg <<
" \tZoffest "
37 <<
zoffset <<
"\tStart and inremental copy nos "
40 rotns = sArgs[
"RotNameSpace"];
44 edm::LogInfo(
"MuonGeom") <<
"DDMuonAngular debug: Parent " << parentName
45 <<
"\tChild " <<
childName <<
"\tNameSpace "
56 double phideg = phi/CLHEP::deg;
58 if (phideg > 0) iphi = int(phideg+0.1);
59 else iphi = int(phideg-0.1);
60 if (iphi >= 360) iphi -= 360;
67 if (phideg >=0 && phideg < 10) rotstr =
"R00";
68 else if (phideg < 100) rotstr =
"R0";
72 edm::LogInfo(
"MuonGeom") <<
"DDMuonAngular test: Creating a new rotation "
74 << phideg <<
", 90, " << (phideg+90) <<
", 0, 0";
76 phideg*CLHEP::deg, 90*CLHEP::deg,
77 (90+phideg)*CLHEP::deg, 0*CLHEP::deg, 0*CLHEP::deg);
87 << copyNo <<
" positioned in " << parentName <<
" at "
88 << tran <<
" with " << rotstr <<
" " <<
rotation;
void position(const DDLogicalPart &self, const DDLogicalPart &parent, std::string copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=NULL)
DDName is used to identify DDD entities uniquely.
static std::string & ns()
std::string dbl_to_string(const double &in)
Converts only the integer part of a double to a string.
type of data representation of DDCompactView
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Represents a uniquely identifyable rotation matrix.
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
void execute(DDCompactView &cpv)
const std::string & name() const
Returns the name.