Go to the documentation of this file.00001
00002
00003 #include "DataFormats/GeometryCommonDetAlgo/interface/TransverseBoundPlaneFactory.h"
00004
00005 BoundPlane*
00006 TransverseBoundPlaneFactory::operator()(const Surface::GlobalPoint& origin,
00007 const Surface::GlobalVector& dir) const {
00008
00009
00010 GlobalVector zAxis = GlobalVector(dir.x(), dir.y(), 0.).unit();
00011
00012
00013 GlobalVector yAxis(0., 0., 1.);
00014
00015
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
00023
00024 return new BoundPlane( origin, rot);
00025 }