CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TransverseBoundPlaneFactory.cc
Go to the documentation of this file.
1 //#include "Utilities/Configuration/interface/Architecture.h"
2 
4 
6  const Surface::GlobalVector& dir) const {
7  // z axis perpendicular to transverse momentum
8  GlobalVector zAxis = GlobalVector(dir.x(), dir.y(), 0.).unit();
9 
10  // y axis coincides with global z
11  GlobalVector yAxis(0., 0., 1.);
12 
13  // x axis obtained by cross product
14  GlobalVector xAxis = (yAxis.cross(zAxis)).unit();
15 
17  xAxis.x(), xAxis.y(), xAxis.z(), yAxis.x(), yAxis.y(), yAxis.z(), zAxis.x(), zAxis.y(), zAxis.z());
18 
19  // Surface::RotationType rot(yAxis, zAxis);
20 
21  return new BoundPlane(origin, rot);
22 }
Plane BoundPlane
Definition: Plane.h:94
Vector3DBase< float, GlobalTag > GlobalVector
Basic3DVector unit() const
Point3DBase< float, GlobalTag > GlobalPoint
Vector3DBase unit() const
Definition: Vector3DBase.h:54
BoundPlane * operator()(const Surface::GlobalPoint &origin, const Surface::GlobalVector &perp) const
Global3DVector GlobalVector
Definition: GlobalVector.h:10