#include <DataFormats/GeometryCommonDetAlgo/interface/TransverseBoundPlaneFactory.h>
Public Member Functions | |
BoundPlane * | operator() (const Surface::GlobalPoint &origin, const Surface::GlobalVector &perp) const |
Definition at line 9 of file TransverseBoundPlaneFactory.h.
BoundPlane * TransverseBoundPlaneFactory::operator() | ( | const Surface::GlobalPoint & | origin, | |
const Surface::GlobalVector & | perp | |||
) | const |
Definition at line 6 of file TransverseBoundPlaneFactory.cc.
References Vector3DBase< T, FrameTag >::cross(), rot, Vector3DBase< T, FrameTag >::unit(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
00007 { 00008 00009 // z axis perpendicular to transverse momentum 00010 GlobalVector zAxis = GlobalVector(dir.x(), dir.y(), 0.).unit(); 00011 00012 // y axis coincides with global z 00013 GlobalVector yAxis(0., 0., 1.); 00014 00015 // x axis obtained by cross product 00016 GlobalVector xAxis = (yAxis.cross(zAxis)).unit(); 00017 00018 Surface::RotationType rot( xAxis.x(), xAxis.y(), xAxis.z(), 00019 yAxis.x(), yAxis.y(), yAxis.z(), 00020 zAxis.x(), zAxis.y(), zAxis.z()); 00021 00022 // Surface::RotationType rot(yAxis, zAxis); 00023 00024 return new BoundPlane( origin, rot); 00025 }