DTSLRecSegment2D

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
#ifndef DTSLRecSegment2D_H
#define DTSLRecSegment2D_H

/** \class DTSLRecSegment2D
 *
 *  a 2D (x, dx/dz) segment in a DT superlayer.
 *
 *  \author R. Bellan - INFN Torino <riccardo.bellan@cern.ch>
 */

#include "DataFormats/DTRecHit/interface/DTRecSegment2D.h"
#include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
#include "DataFormats/MuonDetId/interface/DTChamberId.h"

class DTSLRecSegment2D : public DTRecSegment2D {
public:
  /// Constructor
  DTSLRecSegment2D() {}

  /// c'tor from hits
  DTSLRecSegment2D(const DTSuperLayerId id, const std::vector<DTRecHit1D> &hits);

  /// complete constructor
  DTSLRecSegment2D(const DTSuperLayerId id,
                   LocalPoint &position,
                   LocalVector &direction,
                   AlgebraicSymMatrix &covMatrix,
                   double &chi2,
                   std::vector<DTRecHit1D> &hits1D);

  /// Destructor
  ~DTSLRecSegment2D() override {}

  // Operations

  /// The clone method needed by the clone policy
  DTSLRecSegment2D *clone() const override;

  /// The id of the superlayer on which reside the segment
  DTSuperLayerId superLayerId() const;

  /// The id of the chamber on which reside the segment
  DTChamberId chamberId() const;

private:
  friend class DTSegmentUpdator;

protected:
private:
};
#endif