Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:49

0001 #ifndef RecoMTD_DetLayers_MTDSectorForwardLayer_H
0002 #define RecoMTD_DetLayers_MTDSectorForwardLayer_H
0003 
0004 #include "TrackingTools/DetLayers/interface/ForwardDetLayer.h"
0005 
0006 class MTDDetSector;
0007 class GeomDet;
0008 
0009 class MTDSectorForwardLayer : public ForwardDetLayer {
0010 public:
0011   /// Constructor, takes ownership of pointers
0012   MTDSectorForwardLayer(const std::vector<const MTDDetSector*>& sectors);
0013 
0014   ~MTDSectorForwardLayer() override;
0015 
0016   // GeometricSearchDet interface
0017 
0018   const std::vector<const GeomDet*>& basicComponents() const override { return theBasicComps; }
0019 
0020   const std::vector<const GeometricSearchDet*>& components() const override;
0021 
0022   std::vector<DetWithState> compatibleDets(const TrajectoryStateOnSurface& startingState,
0023                                            const Propagator& prop,
0024                                            const MeasurementEstimator& est) const override;
0025 
0026   std::vector<DetGroup> groupedCompatibleDets(const TrajectoryStateOnSurface& startingState,
0027                                               const Propagator& prop,
0028                                               const MeasurementEstimator& est) const override;
0029 
0030   // DetLayer interface
0031   SubDetector subDetector() const override;
0032 
0033   // Extension of the interface
0034 
0035   /// Return the vector of sectors
0036   virtual const std::vector<const MTDDetSector*>& sectors() const { return theSectors; }
0037 
0038 private:
0039   std::vector<const MTDDetSector*> theSectors;
0040   std::vector<const GeometricSearchDet*> theComponents;  // duplication of the above
0041   std::vector<const GeomDet*> theBasicComps;             // All chambers
0042 };
0043 #endif