Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:46

0001 #ifndef RecoTracker_TkDetLayers_ForwardDiskSectorBuilderFromWedges_h
0002 #define RecoTracker_TkDetLayers_ForwardDiskSectorBuilderFromWedges_h
0003 
0004 #include "DataFormats/GeometrySurface/interface/BoundDiskSector.h"
0005 #include "DataFormats/GeometrySurface/interface/DiskSectorBounds.h"
0006 #include "TECWedge.h"
0007 #include <utility>
0008 #include <vector>
0009 
0010 /** As it's name indicates, it's a builder of a BoundDiskSector from a collection of
0011  *  Wedges (of one petal). The disk sector has the minimal size fully containing all wedges.
0012  */
0013 
0014 #pragma GCC visibility push(hidden)
0015 class ForwardDiskSectorBuilderFromWedges {
0016 public:
0017   /// Warning, remember to assign this pointer to a ReferenceCountingPointer!
0018   /// Should be changed to return a ReferenceCountingPointer<BoundDisk>
0019   BoundDiskSector* operator()(const std::vector<const TECWedge*>& wedges) const;
0020 
0021 private:
0022   std::pair<DiskSectorBounds*, GlobalVector> computeBounds(const std::vector<const TECWedge*>& wedges) const;
0023 
0024   Surface::RotationType computeRotation(const std::vector<const TECWedge*>& wedges, Surface::PositionType pos) const;
0025 };
0026 
0027 #pragma GCC visibility pop
0028 #endif