Skip to content
Snippets Groups Projects
Commit 9668399f authored by Vakhtang Tsulaia's avatar Vakhtang Tsulaia
Browse files

Rolled back two commits which affected GeoTrf::Transform3D Pow::operator()

These commits are: 810d7a0f and e0e82eb7. The reason for the rollback is that
we want to understand why they lead to some changes in ATLAS G4 Sim outputs.
parent 614cc422
No related branches found
No related tags found
1 merge request!100Rolled back two commits which affected Pow::operator()
......@@ -231,25 +231,23 @@ __attribute__ ((flatten))
//
// Get the translation part and the rotation part:
//
Eigen::Matrix3d linear = m_xf.linear ();
Eigen::EigenSolver<GeoTrf::RotationMatrix3D> solver(linear);
Eigen::MatrixXcd D = solver.eigenvalues().asDiagonal();
Eigen::MatrixXcd V = solver.eigenvectors();
GeoTrf::RotationMatrix3D rotate = m_xf.rotation ();
GeoTrf::Vector3D translate = m_xf.translation ();
Eigen::AngleAxis<double> aa(rotate);
//
// Evaluate the function
//
double nTimes = (*m_function) (x);
//
// Modify:
//
translate *= nTimes;
Eigen::Matrix3cd DPowN=Eigen::Matrix3cd::Zero();
for (unsigned int i=0;i<3;i++) DPowN(i,i)=pow(D(i,i),nTimes);
double& delta = aa.angle();
delta *= nTimes;
//
// Now compose these and return a result:
//
GeoTrf::Transform3D tRPowN = GeoTrf::Transform3D::Identity();
tRPowN.linear()=(V*DPowN*V.inverse()).real();
return GeoTrf::Translation3D (translate) * tRPowN;
return GeoTrf::Translation3D (translate) * GeoTrf::Transform3D(aa);
}
GeoTrf::Transform3D Pow::operator () (const GeoGenfun::Argument & argument) const
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment