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 
17 /* Base Class Headers */
19 
20 /* Collaborating Class Declarations */
23 
24 /* C++ Headers */
25 #include <iosfwd>
26 
27 /* ====================================================================== */
28 
29 /* Class DTSLRecCluster Interface */
30 
31 class DTSLRecCluster : public RecHit1D {
32 
33  public:
34 
35  /* Constructor */
37 
39  DTSLRecCluster(const DTSuperLayerId id, const std::vector<DTRecHit1DPair>& pair) ;
40 
43  const LocalPoint&,
44  const LocalError&,
45  const std::vector<DTRecHit1DPair>& pair) ;
46 
47  /* Destructor */
48  virtual ~DTSLRecCluster() {}
49 
50  /* Operations */
52  virtual DTSLRecCluster* clone() const { return new DTSLRecCluster(*this); }
53 
55  DTSuperLayerId superLayerId() const { return theSlid; }
56 
58  virtual AlgebraicVector parameters() const {
59  return param( localPosition());
60  }
61 
62  // The parameter error matrix
64  return parError( localPositionError());
65  }
66 
71  return theProjectionMatrix;
72  }
73 
75  virtual int dimension() const { return 2;}
76  virtual LocalPoint localPosition() const { return thePos; }
77  virtual LocalError localPositionError() const { return thePosError; }
78 
80  virtual std::vector<const TrackingRecHit*> recHits() const ;
81 
82  virtual std::vector<TrackingRecHit*> recHits() ;
83 
85  std::vector<DTRecHit1DPair> specificRecHits() const { return thePairs; }
86 
87  int nHits() const { return thePairs.size() ; }
88 
89  private:
91 
94 
95  std::vector<DTRecHit1DPair> thePairs;
96 
97  private:
99 
100  AlgebraicVector param( const LocalPoint& lp) const {
102  result[1]=lp.x();
103  return result;
104  }
105 
108  m[0][0]=le.xx();
109  return m;
110  }
111 
112  protected:
113 
114 };
115 std::ostream& operator<<(std::ostream& os, const DTSLRecCluster& seg);
116 #endif // DTSLRECCLUSTER_H
117 
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:187
virtual AlgebraicSymMatrix parametersError() const
Return just &quot;(sigma_x)^2&quot;.
AlgebraicVector param(const LocalPoint &lp) const
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
tuple result
Definition: query.py:137
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