#include <DataFormats/GeometrySurface/interface/BoundingBox.h>
Public Member Functions | |
BoundingBox (const BoundPlane &plane) | |
BoundingBox () | |
GlobalPoint const & | corner (unsigned int i) const |
GlobalPoint const & | operator[] (unsigned int i) const |
Static Public Member Functions | |
static std::vector< GlobalPoint > | corners (const BoundPlane &) |
Private Attributes | |
GlobalPoint | m_corners [8] |
Definition at line 12 of file BoundingBox.h.
BoundingBox::BoundingBox | ( | ) | [inline] |
BoundingBox::BoundingBox | ( | const BoundPlane & | plane | ) |
Definition at line 6 of file BoundingBox.cc.
References BoundSurface::bounds(), Bounds::length(), m_corners, Bounds::thickness(), Surface::toGlobal(), and Bounds::width().
00006 { 00007 float hLen = plane.bounds().length() / 2; 00008 float hWid = plane.bounds().width() / 2; 00009 float hThick = plane.bounds().thickness() / 2; 00010 00011 m_corners[0] = plane.toGlobal( LocalPoint( hWid, hLen, hThick)); 00012 m_corners[1] = plane.toGlobal( LocalPoint( hWid, hLen,-hThick)); 00013 m_corners[2] = plane.toGlobal( LocalPoint( hWid,-hLen, hThick)); 00014 m_corners[3] = plane.toGlobal( LocalPoint( hWid,-hLen,-hThick)); 00015 m_corners[4] = plane.toGlobal( LocalPoint(-hWid, hLen, hThick)); 00016 m_corners[5] = plane.toGlobal( LocalPoint(-hWid, hLen,-hThick)); 00017 m_corners[6] = plane.toGlobal( LocalPoint(-hWid,-hLen, hThick)); 00018 m_corners[7] = plane.toGlobal( LocalPoint(-hWid,-hLen,-hThick)); 00019 00020 }
GlobalPoint const& BoundingBox::corner | ( | unsigned int | i | ) | const [inline] |
std::vector< GlobalPoint > BoundingBox::corners | ( | const BoundPlane & | plane | ) | [static] |
Definition at line 24 of file BoundingBox.cc.
References BoundSurface::bounds(), Bounds::length(), HLT_VtxMuL3::result, Bounds::thickness(), Surface::toGlobal(), and Bounds::width().
00025 { 00026 std::vector<GlobalPoint> result; 00027 result.reserve(8); 00028 00029 float hLen = plane.bounds().length() / 2; 00030 float hWid = plane.bounds().width() / 2; 00031 float hThick = plane.bounds().thickness() / 2; 00032 00033 result.push_back( plane.toGlobal( LocalPoint( hWid, hLen, hThick))); 00034 result.push_back( plane.toGlobal( LocalPoint( hWid, hLen,-hThick))); 00035 result.push_back( plane.toGlobal( LocalPoint( hWid,-hLen, hThick))); 00036 result.push_back( plane.toGlobal( LocalPoint( hWid,-hLen,-hThick))); 00037 result.push_back( plane.toGlobal( LocalPoint(-hWid, hLen, hThick))); 00038 result.push_back( plane.toGlobal( LocalPoint(-hWid, hLen,-hThick))); 00039 result.push_back( plane.toGlobal( LocalPoint(-hWid,-hLen, hThick))); 00040 result.push_back( plane.toGlobal( LocalPoint(-hWid,-hLen,-hThick))); 00041 00042 return result; 00043 }
GlobalPoint const& BoundingBox::operator[] | ( | unsigned int | i | ) | const [inline] |
GlobalPoint BoundingBox::m_corners[8] [private] |
Definition at line 33 of file BoundingBox.h.
Referenced by BoundingBox(), corner(), and operator[]().