CMS 3D CMS Logo

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
DTSLRecCluster::recHits
std::vector< const TrackingRecHit * > recHits() const override
return the hits
Definition: DTSLRecCluster.cc:46
DTSLRecCluster::localPosition
LocalPoint localPosition() const override
Local position.
Definition: DTSLRecCluster.h:64
DTSuperLayerId
Definition: DTSuperLayerId.h:12
DTSLRecCluster::dimension
int dimension() const override
return 2. The dimension of the matrix
Definition: DTSLRecCluster.h:63
DTSLRecCluster::thePairs
std::vector< DTRecHit1DPair > thePairs
Definition: DTSLRecCluster.h:83
DTSLRecCluster
Definition: DTSLRecCluster.h:30
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
DTSLRecCluster::parameters
AlgebraicVector parameters() const override
the vector of parameters (dx/dz,x)
Definition: DTSLRecCluster.h:52
DTSLRecCluster::superLayerId
DTSuperLayerId superLayerId() const
The id of the superlayer on which reside the segment.
Definition: DTSLRecCluster.h:49
DTSLRecCluster::nHits
int nHits() const
Definition: DTSLRecCluster.h:75
RecHit1D.h
DTSLRecCluster::~DTSLRecCluster
~DTSLRecCluster() override
Definition: DTSLRecCluster.h:42
DTSLRecCluster::theProjectionMatrix
static const AlgebraicMatrix theProjectionMatrix
Definition: DTSLRecCluster.h:86
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
LocalError::xx
float xx() const
Definition: LocalError.h:22
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
Point3DBase< float, LocalTag >
operator<<
std::ostream & operator<<(std::ostream &os, const DTSLRecCluster &seg)
LocalError
Definition: LocalError.h:12
DTSLRecCluster::clone
DTSLRecCluster * clone() const override
The clone method needed by the clone policy.
Definition: DTSLRecCluster.h:46
DTSLRecCluster::theSlid
DTSuperLayerId theSlid
Definition: DTSLRecCluster.h:78
DTSLRecCluster::localPositionError
LocalError localPositionError() const override
Error on the local position.
Definition: DTSLRecCluster.h:65
DTRecHit1DPair.h
AlgebraicSymMatrix
CLHEP::HepSymMatrix AlgebraicSymMatrix
Definition: AlgebraicObjects.h:15
DTSLRecCluster::thePos
LocalPoint thePos
Definition: DTSLRecCluster.h:80
DTSLRecCluster::thePosError
LocalError thePosError
Definition: DTSLRecCluster.h:81
DTSLRecCluster::DTSLRecCluster
DTSLRecCluster()
Definition: DTSLRecCluster.h:33
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
DTSLRecCluster::specificRecHits
std::vector< DTRecHit1DPair > specificRecHits() const
Access to specific components.
Definition: DTSLRecCluster.h:73
DTSLRecCluster::parametersError
AlgebraicSymMatrix parametersError() const override
Definition: DTSLRecCluster.h:55
RecHit1D
Definition: RecHit1D.h:19
DTSLRecCluster::parError
AlgebraicSymMatrix parError(const LocalError &le) const
Definition: DTSLRecCluster.h:94
mps_fire.result
result
Definition: mps_fire.py:303
DTSLRecCluster::param
AlgebraicVector param(const LocalPoint &lp) const
Definition: DTSLRecCluster.h:88
DTSuperLayerId.h
DTSLRecCluster::projectionMatrix
AlgebraicMatrix projectionMatrix() const override
Definition: DTSLRecCluster.h:60