CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 public:
32  /* Constructor */
34 
36  DTSLRecCluster(const DTSuperLayerId id, const std::vector<DTRecHit1DPair>& pair);
37 
39  DTSLRecCluster(const DTSuperLayerId id, const LocalPoint&, const LocalError&, const std::vector<DTRecHit1DPair>& pair);
40 
41  /* Destructor */
42  ~DTSLRecCluster() override {}
43 
44  /* Operations */
46  DTSLRecCluster* clone() const override { return new DTSLRecCluster(*this); }
47 
49  DTSuperLayerId superLayerId() const { return theSlid; }
50 
52  AlgebraicVector parameters() const override { return param(localPosition()); }
53 
54  // The parameter error matrix
56 
61 
63  int dimension() const override { return 2; }
64  LocalPoint localPosition() const override { return thePos; }
65  LocalError localPositionError() const override { return thePosError; }
66 
68  std::vector<const TrackingRecHit*> recHits() const override;
69 
70  std::vector<TrackingRecHit*> recHits() override;
71 
73  std::vector<DTRecHit1DPair> specificRecHits() const { return thePairs; }
74 
75  int nHits() const { return thePairs.size(); }
76 
77 private:
79 
82 
83  std::vector<DTRecHit1DPair> thePairs;
84 
85 private:
87 
88  AlgebraicVector param(const LocalPoint& lp) const {
90  result[1] = lp.x();
91  return result;
92  }
93 
96  m[0][0] = le.xx();
97  return m;
98  }
99 
100 protected:
101 };
102 std::ostream& operator<<(std::ostream& os, const DTSLRecCluster& seg);
103 #endif // DTSLRECCLUSTER_H
DTSuperLayerId superLayerId() const
The id of the superlayer on which reside the segment.
std::vector< const TrackingRecHit * > recHits() const override
return the hits
float xx() const
Definition: LocalError.h:22
std::vector< DTRecHit1DPair > thePairs
AlgebraicSymMatrix parError(const LocalError &le) const
int dimension() const override
return 2. The dimension of the matrix
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:167
AlgebraicVector parameters() const override
the vector of parameters (dx/dz,x)
AlgebraicVector param(const LocalPoint &lp) const
tuple result
Definition: mps_fire.py:311
static const AlgebraicMatrix theProjectionMatrix
std::vector< DTRecHit1DPair > specificRecHits() const
Access to specific components.
~DTSLRecCluster() override
LocalError localPositionError() const override
Error on the local position.
int nHits() const
CLHEP::HepMatrix AlgebraicMatrix
DTSuperLayerId theSlid
DTSLRecCluster * clone() const override
The clone method needed by the clone policy.
CLHEP::HepVector AlgebraicVector
LocalPoint thePos
AlgebraicSymMatrix parametersError() const override
CLHEP::HepSymMatrix AlgebraicSymMatrix
LocalError thePosError
T x() const
Definition: PV3DBase.h:59
AlgebraicMatrix projectionMatrix() const override
LocalPoint localPosition() const override
Local position.