Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef TkDetLayers_PixelRod_h
0002 #define TkDetLayers_PixelRod_h
0003 
0004 #include "TrackingTools/DetLayers/interface/DetRodOneR.h"
0005 #include "TrackingTools/DetLayers/interface/PeriodicBinFinderInZ.h"
0006 
0007 /** A concrete implementation for PixelRod
0008  */
0009 
0010 #pragma GCC visibility push(hidden)
0011 class PixelRod final : public DetRodOneR {
0012 public:
0013   typedef PeriodicBinFinderInZ<float> BinFinderType;
0014 
0015   PixelRod(std::vector<const GeomDet*>& theDets);
0016   ~PixelRod() override;
0017 
0018   // GeometricSearchDet interface
0019 
0020   const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold));
0021 
0022   std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface& ts,
0023                                                        const Propagator&,
0024                                                        const MeasurementEstimator&) const override;
0025 
0026   void compatibleDetsV(const TrajectoryStateOnSurface& startingState,
0027                        const Propagator& prop,
0028                        const MeasurementEstimator& est,
0029                        std::vector<DetWithState>& result) const override __attribute__((hot));
0030 
0031   void groupedCompatibleDetsV(const TrajectoryStateOnSurface&,
0032                               const Propagator&,
0033                               const MeasurementEstimator&,
0034                               std::vector<DetGroup>&) const override;
0035 
0036 private:
0037   BinFinderType theBinFinder;
0038 };
0039 
0040 #pragma GCC visibility pop
0041 #endif