CMS 3D CMS Logo

BoundingBox Class Reference

A helper class that returns the corners of a rectangle that fully contains a bound plane. More...

#include <DataFormats/GeometrySurface/interface/BoundingBox.h>

List of all members.

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< GlobalPointcorners (const BoundPlane &)

Private Attributes

GlobalPoint m_corners [8]


Detailed Description

A helper class that returns the corners of a rectangle that fully contains a bound plane.

Definition at line 12 of file BoundingBox.h.


Constructor & Destructor Documentation

BoundingBox::BoundingBox (  )  [inline]

Definition at line 15 of file BoundingBox.h.

00015 {}

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 }


Member Function Documentation

GlobalPoint const& BoundingBox::corner ( unsigned int  i  )  const [inline]

Definition at line 25 of file BoundingBox.h.

References m_corners.

00025                                                    {
00026     return  m_corners[i];
00027   }

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]

Definition at line 22 of file BoundingBox.h.

References m_corners.

00022                                                        {
00023     return  m_corners[i];
00024   }


Member Data Documentation

GlobalPoint BoundingBox::m_corners[8] [private]

Definition at line 33 of file BoundingBox.h.

Referenced by BoundingBox(), corner(), and operator[]().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:15:02 2009 for CMSSW by  doxygen 1.5.4