CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTSLRecCluster.h
Go to the documentation of this file.
1 #ifndef DTSLRECCLUSTER_H
2 #define DTSLRECCLUSTER_H
3 
16 /* Base Class Headers */
18 
19 /* Collaborating Class Declarations */
22 
23 /* C++ Headers */
24 #include <iosfwd>
25 
26 /* ====================================================================== */
27 
28 /* Class DTSLRecCluster Interface */
29 
30 class DTSLRecCluster : public RecHit1D {
31 
32  public:
33 
34  /* Constructor */
36 
38  DTSLRecCluster(const DTSuperLayerId id, const std::vector<DTRecHit1DPair>& pair) ;
39 
42  const LocalPoint&,
43  const LocalError&,
44  const std::vector<DTRecHit1DPair>& pair) ;
45 
46  /* Destructor */
47  virtual ~DTSLRecCluster() {}
48 
49  /* Operations */
51  virtual DTSLRecCluster* clone() const { return new DTSLRecCluster(*this); }
52 
54  DTSuperLayerId superLayerId() const { return theSlid; }
55 
57  virtual AlgebraicVector parameters() const {
58  return param( localPosition());
59  }
60 
61  // The parameter error matrix
63  return parError( localPositionError());
64  }
65 
70  return theProjectionMatrix;
71  }
72 
74  virtual int dimension() const { return 2;}
75  virtual LocalPoint localPosition() const { return thePos; }
76  virtual LocalError localPositionError() const { return thePosError; }
77 
79  virtual std::vector<const TrackingRecHit*> recHits() const ;
80 
81  virtual std::vector<TrackingRecHit*> recHits() ;
82 
84  std::vector<DTRecHit1DPair> specificRecHits() const { return thePairs; }
85 
86  int nHits() const { return thePairs.size() ; }
87 
88  private:
90 
93 
94  std::vector<DTRecHit1DPair> thePairs;
95 
96  private:
98 
99  AlgebraicVector param( const LocalPoint& lp) const {
101  result[1]=lp.x();
102  return result;
103  }
104 
107  m[0][0]=le.xx();
108  return m;
109  }
110 
111  protected:
112 
113 };
114 std::ostream& operator<<(std::ostream& os, const DTSLRecCluster& seg);
115 #endif // DTSLRECCLUSTER_H
116 
DTSuperLayerId superLayerId() const
The id of the superlayer on which reside the segment.
float xx() const
Definition: LocalError.h:24
std::vector< DTRecHit1DPair > thePairs
AlgebraicSymMatrix parError(const LocalError &le) const
virtual AlgebraicMatrix projectionMatrix() const
virtual LocalPoint localPosition() const
Local position.
virtual AlgebraicVector parameters() const
the vector of parameters (dx/dz,x)
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:188
virtual AlgebraicSymMatrix parametersError() const
Return just &quot;(sigma_x)^2&quot;.
AlgebraicVector param(const LocalPoint &lp) const
tuple result
Definition: mps_fire.py:84
static const AlgebraicMatrix theProjectionMatrix
std::vector< DTRecHit1DPair > specificRecHits() const
Access to specific components.
virtual ~DTSLRecCluster()
int nHits() const
virtual std::vector< const TrackingRecHit * > recHits() const
return the hits
CLHEP::HepMatrix AlgebraicMatrix
DTSuperLayerId theSlid
CLHEP::HepVector AlgebraicVector
virtual LocalError localPositionError() const
Error on the local position.
LocalPoint thePos
virtual DTSLRecCluster * clone() const
The clone method needed by the clone policy.
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual int dimension() const
return 2. The dimension of the matrix
LocalError thePosError
T x() const
Definition: PV3DBase.h:62