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