@@ -355,11 +355,21 @@ int AlignParam::getLevel() const
355355}
356356
357357// _____________________________________________________________________________
358- void AlignParam::print () const
358+ void AlignParam::print (bool printLocal ) const
359359{
360- // print parameters
361- printf (" %s (Lvl:%2d): %6d | %s | tra: X: %+e Y: %+e Z: %+e | pitch: %+e roll: %+e yaw: %e\n " , getSymName ().c_str (), getLevel (), getAlignableID (), (mIsGlobal ) ? " G" : " L" ,
362- getX (), getY (), getZ (), getPsi (), getTheta (), getPhi ());
360+ if (!printLocal || !mIsGlobal ) {
361+ printf (" %s (Lvl:%2d): %6d | %s | tra: X: %+e Y: %+e Z: %+e | pitch: %+e roll: %+e yaw: %e\n " , getSymName ().c_str (), getLevel (), getAlignableID (), (mIsGlobal ) ? " G" : " L" ,
362+ getX (), getY (), getZ (), getPsi (), getTheta (), getPhi ());
363+ } else {
364+ TGeoHMatrix local;
365+ double psi, theta, phi;
366+ if (!createLocalMatrix (local) || !matrixToAngles (local.GetRotationMatrix (), psi, theta, phi)) {
367+ printf (" Failed to create local deltas for %s\n " , mSymName .c_str ());
368+ return ;
369+ }
370+ const auto * tra = local.GetTranslation ();
371+ printf (" %s (Lvl:%2d): %6d | L | tra: X: %+e Y: %+e Z: %+e | pitch: %+e roll: %+e yaw: %e\n " , getSymName ().c_str (), getLevel (), getAlignableID (), tra[0 ], tra[1 ], tra[2 ], phi, theta, psi);
372+ }
363373}
364374
365375// _____________________________________________________________________________
0 commit comments