15 #include "CLHEP/Units/GlobalSystemOfUnits.h"
18 LogDebug(
"BHMGeom") <<
"DDBHMAngular test: Creating an instance";
29 units = int (nArgs[
"number"]);
31 dphi = nArgs[
"deltaPhi"];
32 LogDebug(
"BHMGeom") <<
"DDBHMAngular debug: Parameters for positioning-- "
33 <<
units <<
" copies at radius " <<
rr/CLHEP::cm
34 <<
" cm with delta(phi) " <<
dphi/CLHEP::deg;
36 rotMat = sArgs[
"Rotation"];
38 LogDebug(
"BHMGeom") <<
"DDBHMAngular debug: Parent " <<
parent().name()
39 <<
"\tChild " <<
childName <<
"\tRotation matrix "
49 if (rotstr !=
"NULL") {
55 double driverX(0), driverY(0), driverZ(0);
58 driverY =
sqrt(
rr*
rr-driverX*driverX);
61 driverY =-
sqrt(
rr*
rr-driverX*driverX);
64 driverY =-
sqrt(
rr*
rr-driverX*driverX);
67 driverY =-
sqrt(
rr*
rr-driverX*driverX);
70 driverY =-
sqrt(
rr*
rr-driverX*driverX);
74 cpv.
position(child, parentName,
jj+1, tran, rot);
75 LogDebug(
"BHMGeom") <<
"DDBHMAngular test: " << child <<
" number " <<
jj+1
76 <<
" positioned in " << parentName <<
" at " << tran
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.
type of data representation of DDCompactView
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Represents a uniquely identifyable rotation matrix.
U second(std::pair< T, U > const &p)
Cos< T >::type cos(const T &t)
void execute(DDCompactView &cpv)
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'