36 distanceZ = nArgs[
"DistZ"];
38 copyNumber =
int (nArgs[
"Number"]);
41 edm::LogVerbatim(
"HCalGeom") <<
"DDHCalTestBeamAlgo: Parameters for position" 42 <<
"ing--" <<
" Eta " <<
eta <<
"\tPhi " 45 <<
distance <<
"/" << distanceZ <<
"/" 46 << dist <<
"\tDz " <<
dz <<
"\tcopyNumber " 50 childName = sArgs[
"ChildName"];
53 <<
parent().name() <<
"\tChild " << childName
54 <<
" NameSpace " << idNameSpace;
60 double thetax = 90._deg +
theta;
61 double sthx =
sin(thetax);
62 if (
std::abs(sthx)>1.
e-12) sthx = 1./sthx;
65 double thetay = 90._deg;
66 double phiy = 90._deg + phi;
67 double thetaz =
theta;
81 rotation =
DDrot(
DDName(rotstr, idNameSpace), thetax, phix, thetay, phiy,
85 double xpos = r*
cos(phi);
86 double ypos = r*
sin(phi);
91 cpv.
position(
DDName(childName,idNameSpace), parentName, copyNumber, tran,
95 <<
DDName(childName, idNameSpace) <<
" number " 96 << copyNumber <<
" positioned in " << parentName
97 <<
" at " << tran <<
" with " <<
rotation;
103 edm::LogInfo(
"HCalGeom") <<
"DDHCalTestBeamAlgo: Suggested Beam position " 104 <<
"(" << xpos <<
", " << ypos <<
", " << zpos
105 <<
") and (dist, eta, phi) = (" << (dist-
dz) <<
", " 106 <<
eta <<
", " << phi <<
")";
Sin< T >::type sin(const T &t)
Geom::Theta< T > theta() const
DDName is used to identify DDD entities uniquely.
constexpr NumType convertRadToDeg(NumType radians)
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
static std::string & ns()
Compact representation of the geometrical detector hierarchy.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Represents a uniquely identifyable rotation matrix.
~DDHCalTestBeamAlgo() override
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=0)
void execute(DDCompactView &cpv) override