CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EmulatedME0Segment.h
Go to the documentation of this file.
1 #ifndef DataFormats_MuonReco_EmulatedME0Segment_h
2 #define DataFormats_MuonReco_EmulatedME0Segment_h
3 
14 
15 #include <iosfwd>
16 
18 
19 public:
20 
23 
25  EmulatedME0Segment(const LocalPoint& origin, const LocalVector& direction, const AlgebraicSymMatrix& errors, const double chi2);
26 
28  virtual ~EmulatedME0Segment();
29 
30  //--- Base class interface
31  EmulatedME0Segment* clone() const { return new EmulatedME0Segment(*this); }
32 
33  virtual LocalPoint localPosition() const { return theOrigin; }
35 
38 
41 
43  virtual AlgebraicSymMatrix parametersError() const { return theCovMatrix; }
44 
47 
48  virtual std::vector<const TrackingRecHit*> recHits() const {return std::vector<const TrackingRecHit*> (); }
49 
50  virtual std::vector<TrackingRecHit*> recHits() {return std::vector<TrackingRecHit*>();}
51 
52  virtual double chi2() const { return theChi2; }
53 
54  virtual int dimension() const { return 4; }
55 
56  virtual int degreesOfFreedom() const { return -1;} //Maybe change later?
57 
58  //--- Extension of the interface
59 
60  int nRecHits() const { return 0;} //theME0RecHits.size(); }
61 
62  void print() const;
63 
64  private:
65 
66  //std::vector<ME0RecHit2D> theME0RecHits;
67  // CAVEAT: these "Local" paramaters will in fact be filled by global coordinates
68  LocalPoint theOrigin; // in chamber frame - the GeomDet local coordinate system
69  LocalVector theLocalDirection; // in chamber frame - the GeomDet local coordinate system
70  AlgebraicSymMatrix theCovMatrix; // the covariance matrix
71  double theChi2;
72 };
73 
74 std::ostream& operator<<(std::ostream& os, const EmulatedME0Segment& seg);
75 
76 #endif // ME0RecHit_EmulatedME0Segment_h
virtual LocalPoint localPosition() const
virtual int dimension() const
Dimension (in parameter space)
EmulatedME0Segment()
Default constructor.
virtual int degreesOfFreedom() const
Degrees of freedom of the segment fit.
virtual AlgebraicSymMatrix parametersError() const
Covariance matrix of parameters()
virtual ~EmulatedME0Segment()
Destructor.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
AlgebraicVector parameters() const
Parameters of the segment, for the track fit in the order (dx/dz, dy/dz, x, y )
LocalError localDirectionError() const
Error on the local direction.
CLHEP::HepMatrix AlgebraicMatrix
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
EmulatedME0Segment * clone() const
LocalVector localDirection() const
Local direction.
virtual std::vector< TrackingRecHit * > recHits()
Non-const access to component RecHits (if any)
CLHEP::HepVector AlgebraicVector
virtual double chi2() const
Chi2 of the segment fit.
CLHEP::HepSymMatrix AlgebraicSymMatrix
LocalVector theLocalDirection
LocalError localPositionError() const
AlgebraicMatrix projectionMatrix() const
The projection matrix relates the trajectory state parameters to the segment parameters().
AlgebraicSymMatrix theCovMatrix