Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DetLayers_MuDetRod_H
0002 #define DetLayers_MuDetRod_H
0003 
0004 /** \class MuDetRod
0005  *  A rod of aligned equal-sized non-overlapping detectors.  
0006  *  Designed for barrel muon DT/RPC chambers.
0007  *
0008  *  \author N. Amapane - INFN Torino
0009  *
0010  */
0011 
0012 #include "TrackingTools/DetLayers/interface/DetRodOneR.h"
0013 #include "TrackingTools/DetLayers/interface/PeriodicBinFinderInZ.h"
0014 #include "Utilities/BinningTools/interface/GenericBinFinderInZ.h"
0015 class GeomDet;
0016 
0017 class MuDetRod : public DetRodOneR {
0018 public:
0019   /// Construct from iterators on GeomDet*
0020   MuDetRod(std::vector<const GeomDet*>::const_iterator first, std::vector<const GeomDet*>::const_iterator last);
0021 
0022   /// Construct from a std::vector of GeomDet*
0023   MuDetRod(const std::vector<const GeomDet*>& dets);
0024 
0025   /// Destructor
0026   ~MuDetRod() override;
0027 
0028   // GeometricSearchDet interface
0029 
0030   const std::vector<const GeometricSearchDet*>& components() const override;
0031 
0032   std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface& ts,
0033                                                        const Propagator& prop,
0034                                                        const MeasurementEstimator& est) const override;
0035 
0036   std::vector<DetWithState> compatibleDets(const TrajectoryStateOnSurface& startingState,
0037                                            const Propagator& prop,
0038                                            const MeasurementEstimator& est) const override;
0039 
0040   std::vector<DetGroup> groupedCompatibleDets(const TrajectoryStateOnSurface& startingState,
0041                                               const Propagator& prop,
0042                                               const MeasurementEstimator& est) const override;
0043 
0044 private:
0045   //typedef PeriodicBinFinderInZ<float>   BinFinderType;
0046   typedef GenericBinFinderInZ<float, GeomDet> BinFinderType;
0047   BinFinderType theBinFinder;
0048 
0049   void init();
0050 };
0051 
0052 #endif