Go to the source code of this file.
◆ algorithm()
Definition at line 10 of file DDBHMAngular.cc.
References writedatasetfile::args, angle_units::operators::convertMmToCm(), angle_units::operators::convertRadToDeg(), funct::cos(), DDSplit(), MillePedeFileConverter_cfg::e, isotrackTrainRegressor::fac1(), isotrackTrainRegressor::fac2(), findQualityFiles::jj, class-composition::parent, PixelTestBeamValidation_cfi::Position, cms::DDNamespace::prepend(), makeMuonMisalignmentScenario::rot, cms::DDNamespace::rotation(), findQualityFiles::rr, mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, units(), and cms::DDNamespace::volume().
14 double rr =
args.value<
double>(
"radius");
15 double dphi =
args.value<
double>(
"deltaPhi");
27 <<
"\tRotation matrix " << rotMat;
30 dd4hep::Rotation3D
rot;
31 if (rotstr !=
"NULL") {
32 rot = ns.rotation(rotMat);
34 static const int startpos = 16;
35 static const double fac1 = 0.5;
36 static const double fac2 = 1.5;
38 double driverX(0), driverY(0), driverZ(0);
41 driverY =
sqrt(
rr *
rr - driverX * driverX);
42 }
else if (
jj == startpos) {
43 driverX =
rr *
cos((startpos -
fac1) * dphi);
44 driverY = -
sqrt(
rr *
rr - driverX * driverX);
45 }
else if (
jj == startpos + 1) {
46 driverX =
rr *
cos((startpos -
fac2) * dphi);
47 driverY = -
sqrt(
rr *
rr - driverX * driverX);
48 }
else if (
jj == startpos + 2) {
50 driverY = -
sqrt(
rr *
rr - driverX * driverX);
51 }
else if (
jj == startpos + 3) {
53 driverY = -
sqrt(
rr *
rr - driverX * driverX);
60 <<
" positioned in " <<
parent.name() <<
" at " << tran <<
" with " << rotMat
Log< level::Info, true > LogVerbatim
constexpr NumType convertRadToDeg(NumType radians)
Cos< T >::type cos(const T &t)
constexpr NumType convertMmToCm(NumType millimeters)
TString units(TString variable, Char_t axis)
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
◆ DD4HEP_OPEN_PLUGIN()
DD4HEP_OPEN_PLUGIN |
( |
dd4hep |
, |
|
|
ddcms_det_element_DDCMS_bhmalgo_DDBHMAngular |
|
|
) |
| |