Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:31:31

0001 #ifndef DetLayers_DetRod_H
0002 #define DetLayers_DetRod_H
0003 
0004 /** \class DetRod
0005  *  Abstract interface for a rod of detectors sitting on a Plane.
0006  */
0007 
0008 #include "TrackingTools/DetLayers/interface/GeometricSearchDet.h"
0009 #include "DataFormats/GeometrySurface/interface/Plane.h"
0010 
0011 class MeasurementEstimator;
0012 
0013 class DetRod : public GeometricSearchDet {
0014 public:
0015   using GeometricSearchDet::GeometricSearchDet;
0016 
0017   ~DetRod() override;
0018 
0019   const BoundSurface& surface() const final { return *thePlane; }
0020 
0021   //--- Extension of the interface
0022 
0023   /// Return the rod surface as a Plane
0024   virtual const Plane& specificSurface() const final { return *thePlane; }
0025 
0026 protected:
0027   /// Set the rod's plane
0028   void setPlane(Plane* plane) { thePlane = plane; }
0029 
0030   //obsolete?
0031   // Return the range in Z to be checked for compatibility
0032   //float zError( const TrajectoryStateOnSurface& tsos,
0033   //        const MeasurementEstimator& est) const;
0034 
0035 private:
0036   ReferenceCountingPointer<Plane> thePlane;
0037 };
0038 
0039 #endif