Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:51

0001 #ifndef DTSLRecSegment2D_H
0002 #define DTSLRecSegment2D_H
0003 
0004 /** \class DTSLRecSegment2D
0005  *
0006  *  a 2D (x, dx/dz) segment in a DT superlayer.
0007  *
0008  *  \author R. Bellan - INFN Torino <riccardo.bellan@cern.ch>
0009  */
0010 
0011 #include "DataFormats/DTRecHit/interface/DTRecSegment2D.h"
0012 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
0013 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
0014 
0015 class DTSLRecSegment2D : public DTRecSegment2D {
0016 public:
0017   /// Constructor
0018   DTSLRecSegment2D() {}
0019 
0020   /// c'tor from hits
0021   DTSLRecSegment2D(const DTSuperLayerId id, const std::vector<DTRecHit1D> &hits);
0022 
0023   /// complete constructor
0024   DTSLRecSegment2D(const DTSuperLayerId id,
0025                    LocalPoint &position,
0026                    LocalVector &direction,
0027                    AlgebraicSymMatrix &covMatrix,
0028                    double &chi2,
0029                    std::vector<DTRecHit1D> &hits1D);
0030 
0031   /// Destructor
0032   ~DTSLRecSegment2D() override {}
0033 
0034   // Operations
0035 
0036   /// The clone method needed by the clone policy
0037   DTSLRecSegment2D *clone() const override;
0038 
0039   /// The id of the superlayer on which reside the segment
0040   DTSuperLayerId superLayerId() const;
0041 
0042   /// The id of the chamber on which reside the segment
0043   DTChamberId chamberId() const;
0044 
0045 private:
0046   friend class DTSegmentUpdator;
0047 
0048 protected:
0049 private:
0050 };
0051 #endif