CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/Geometry/TrackerGeometryBuilder/interface/PlaneBuilderForGluedDet.h

Go to the documentation of this file.
00001 #ifndef Geometry_TrackerGeometryBuilder_PlaneBuilderForGluedDet_H
00002 #define Geometry_TrackerGeometryBuilder_PlaneBuilderForGluedDet_H
00003 
00004 #include "DataFormats/GeometrySurface/interface/BoundPlane.h"
00005 #include "DataFormats/GeometrySurface/interface/ReferenceCounted.h"
00006 #include "DataFormats/GeometrySurface/interface/RectangularPlaneBounds.h"
00007 #include "DataFormats/GeometrySurface/interface/TrapezoidalPlaneBounds.h"
00008 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h"
00009 #include <utility>
00010 #include <vector>
00011 
00012 
00016 class PlaneBuilderForGluedDet {
00017 public:
00018 
00021   typedef ReferenceCountingPointer<BoundPlane>  ResultType;
00022 
00023   ResultType plane( const std::vector<const GeomDetUnit*> & dets) const;
00024 
00025   std::pair<RectangularPlaneBounds, GlobalVector> computeRectBounds( const std::vector<const GeomDetUnit*> & dets, const BoundPlane& plane) const;
00026 
00027   Surface::RotationType 
00028   computeRotation( const std::vector<GeomDetUnit*> & dets, 
00029                    const Surface::PositionType& meanPos) const; 
00030 
00031 };
00032 
00033 #endif