15 Vector posSum( 0, 0, 0 );
18 posSum += (*det).surface().position().basicVector();
30 std::pair<RectangularPlaneBounds*, GlobalVector> bo =
computeRectBounds( dets, tmpPlane);
31 return new Plane( meanPos+bo.second, rotation, newmp, bo.first);
35 std::pair<RectangularPlaneBounds*, GlobalVector>
39 std::vector<GlobalPoint> corners;
42 const Plane& bplane =
dynamic_cast<const Plane&
>(det->surface());
44 corners.insert( corners.end(), dc.begin(), dc.end());
48 for( std::vector<GlobalPoint>::const_iterator
i = corners.begin(), cend = corners.end();
56 if( p.
z() < zmin ) zmin = p.
z();
57 if( p.
z() > zmax ) zmax = p.
z();
81 if( planeYAxis.
z() < 0 )
89 if( n.
x() * meanPos.
x() + n.
y() * meanPos.
y() > 0 )
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Surface::RotationType computeRotation(const std::vector< const GeomDetUnit * > &dets, const Surface::PositionType &meanPos) const
Local3DVector LocalVector
ROOT::Math::Plane3D::Vector Vector
ResultType plane(const std::vector< const GeomDetUnit * > &dets) const
LocalPoint toLocal(const GlobalPoint &gp) const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
std::pair< RectangularPlaneBounds *, GlobalVector > computeRectBounds(const std::vector< const GeomDetUnit * > &dets, const Plane &plane) const
static std::vector< GlobalPoint > corners(const Plane &)
TkRotation< float > RotationType