Go to the documentation of this file.
58 dphi = nArgs[
"deltaPhi"];
64 rotMat = sArgs[
"Rotation"];
65 childName = sArgs[
"ChildName"];
67 edm::LogVerbatim(
"ForwardGeom") <<
"DDBHMAngular debug: Parent " <<
parent().name() <<
"\tChild " << childName
68 <<
"\tRotation matrix " << rotMat;
77 if (rotstr !=
"NULL") {
82 static const double fac1 = 0.5;
83 static const double fac2 = 1.5;
84 static const double fac3 = 14.5;
85 static const double fac4 = 15.5;
87 double driverX(0), driverY(0), driverZ(0);
90 driverY =
sqrt(
rr *
rr - driverX * driverX);
91 }
else if (
jj == 16) {
92 driverX =
rr *
cos(fac4 * dphi);
93 driverY = -
sqrt(
rr *
rr - driverX * driverX);
94 }
else if (
jj == 17) {
95 driverX =
rr *
cos(fac3 * dphi);
96 driverY = -
sqrt(
rr *
rr - driverX * driverX);
97 }
else if (
jj == 18) {
99 driverY = -
sqrt(
rr *
rr - driverX * driverX);
100 }
else if (
jj == 19) {
102 driverY = -
sqrt(
rr *
rr - driverX * driverX);
109 << parentName <<
" at " << tran <<
" with " <<
rot;
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
DDName is used to identify DDD entities uniquely.
constexpr NumType convertRadToDeg(NumType radians)
U second(std::pair< T, U > const &p)
TString units(TString variable, Char_t axis)
Cos< T >::type cos(const T &t)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
void execute(DDCompactView &cpv) override
Compact representation of the geometrical detector hierarchy.
#define DEFINE_EDM_PLUGIN(factory, type, name)
Represents a uniquely identifyable rotation matrix.
constexpr NumType convertMmToCm(NumType millimeters)
static AlgebraicMatrix initialize()
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)
ROOT::Math::Rotation3D DDRotation