Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef TkDetLayers_TIBLayer_h
0002 #define TkDetLayers_TIBLayer_h
0003 
0004 #include "TBLayer.h"
0005 #include "TIBRing.h"
0006 #include "TrackingTools/DetLayers/interface/GeneralBinFinderInZforGeometricSearchDet.h"
0007 
0008 /** A concrete implementation for TIB layer 
0009  *  built out of TIBRings
0010  */
0011 
0012 #pragma GCC visibility push(hidden)
0013 class TIBLayer final : public TBLayer {
0014 public:
0015   TIBLayer(std::vector<const TIBRing*>& innerRings, std::vector<const TIBRing*>& outerRings) __attribute__((cold));
0016 
0017   ~TIBLayer() override __attribute__((cold));
0018 
0019 private:
0020   // private methods for the implementation of groupedCompatibleDets()
0021 
0022   std::tuple<bool, int, int> computeIndexes(GlobalPoint gInnerPoint, GlobalPoint gOuterPoint) const override
0023       __attribute__((hot));
0024 
0025   void searchNeighbors(const TrajectoryStateOnSurface& tsos,
0026                        const Propagator& prop,
0027                        const MeasurementEstimator& est,
0028                        const SubLayerCrossing& crossing,
0029                        float window,
0030                        std::vector<DetGroup>& result,
0031                        bool checkClosest) const override __attribute__((hot));
0032 
0033   float computeWindowSize(const GeomDet* det,
0034                           const TrajectoryStateOnSurface& tsos,
0035                           const MeasurementEstimator& est) const override __attribute__((hot));
0036 
0037   static bool overlap(const GlobalPoint& gpos, const GeometricSearchDet& ring, float window) __attribute__((hot));
0038 
0039   GeneralBinFinderInZforGeometricSearchDet<float> theInnerBinFinder;
0040   GeneralBinFinderInZforGeometricSearchDet<float> theOuterBinFinder;
0041 
0042   BoundCylinder* cylinder(const std::vector<const GeometricSearchDet*>& rings) __attribute__((cold));
0043 };
0044 
0045 #pragma GCC visibility pop
0046 #endif