Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef TkDetLayers_SimpleTECWedge_h
0002 #define TkDetLayers_SimpleTECWedge_h
0003 
0004 #include "TECWedge.h"
0005 
0006 /** A concrete implementation for TEC wedge
0007  *  built out of only one det
0008  */
0009 
0010 #pragma GCC visibility push(hidden)
0011 class SimpleTECWedge final : public TECWedge {
0012 public:
0013   SimpleTECWedge(const GeomDet* theDet) __attribute__((cold));
0014 
0015   ~SimpleTECWedge() override __attribute__((cold));
0016 
0017   // GeometricSearchDet interface
0018   const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
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 __attribute__((hot));
0025 
0026   void groupedCompatibleDetsV(const TrajectoryStateOnSurface& startingState,
0027                               const Propagator& prop,
0028                               const MeasurementEstimator& est,
0029                               std::vector<DetGroup>& result) const override __attribute__((hot));
0030 
0031 private:
0032   const GeomDet* theDet;
0033   std::vector<const GeomDet*> theDets;
0034 };
0035 
0036 #pragma GCC visibility pop
0037 #endif