CMS 3D CMS Logo

TransverseBoundPlaneFactory.cc
Go to the documentation of this file.
1 //#include "Utilities/Configuration/interface/Architecture.h"
2 
4 
7  const Surface::GlobalVector& dir) const {
8 
9  // z axis perpendicular to transverse momentum
10  GlobalVector zAxis = GlobalVector(dir.x(), dir.y(), 0.).unit();
11 
12  // y axis coincides with global z
13  GlobalVector yAxis(0., 0., 1.);
14 
15  // x axis obtained by cross product
16  GlobalVector xAxis = (yAxis.cross(zAxis)).unit();
17 
18  Surface::RotationType rot( xAxis.x(), xAxis.y(), xAxis.z(),
19  yAxis.x(), yAxis.y(), yAxis.z(),
20  zAxis.x(), zAxis.y(), zAxis.z());
21 
22  // Surface::RotationType rot(yAxis, zAxis);
23 
24  return new BoundPlane( origin, rot);
25 }
BoundPlane * operator()(const Surface::GlobalPoint &origin, const Surface::GlobalVector &perp) const
Plane BoundPlane
Definition: Plane.h:95
T y() const
Definition: PV3DBase.h:63
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
Definition: Vector3DBase.h:119
T z() const
Definition: PV3DBase.h:64
Vector3DBase unit() const
Definition: Vector3DBase.h:57
dbl *** dir
Definition: mlp_gen.cc:35
T x() const
Definition: PV3DBase.h:62
Global3DVector GlobalVector
Definition: GlobalVector.h:10