CMS 3D CMS Logo

DTRecHit1D.cc
Go to the documentation of this file.
1 
8 
9 
10 using namespace std;
11 using namespace DTEnums;
12 
13 
14 // Constructor from wireId and digi time only.
17  float digiTime) :
18  RecHit1D(wireId.layerId()), // the detId of the Det (a DTLayer).
19  theWireId(wireId),
20  theLRSide(lr),
21  theDigiTime(digiTime),
22  theLocalPosition(),
23  theLocalError() {}
24 
25 
26 // Default constructor
28  theLRSide(undefLR),
29  theDigiTime(-1),
31  theLocalError() {}
32 
33 // Constructor from a local position, wireId and digi time.
34 // The 3-dimensional local error is defined as
35 // resolution (the cell resolution) for the coordinate being measured
36 // and 0 for the two other coordinates
39  float digiTime,
40  const LocalPoint& pos) :
41  RecHit1D(wireId.layerId()), // the detId of the Det (a DTLayer).
42  theWireId(wireId),
43  theLRSide(lr),
44  theDigiTime(digiTime),
45  theLocalPosition(pos) {
46  float cellResolution = 0.02 ; //cm cell resolution = 200 um = 0.02 cm
48  LocalError(cellResolution*cellResolution, 0., 0.); //FIXME: is it really needed?
49  }
50 
51 
52 
53 // Constructor from a local position and error, wireId and digi time.
56  float digiTime,
57  const LocalPoint& pos,
58  const LocalError& err) :
59  RecHit1D(wireId.layerId()),
60  theWireId(wireId),
61  theLRSide(lr),
62  theDigiTime(digiTime),
63  theLocalPosition(pos),
64  theLocalError(err) {}
65 
66 
67 
68 
69 // Destructor
71 
72 
73 
75  return new DTRecHit1D(*this);
76 }
77 
78 
79 // Access to component RecHits.
80 // No components rechits: it returns a null vector
81 vector<const TrackingRecHit*> DTRecHit1D::recHits() const {
82  vector<const TrackingRecHit*> nullvector;
83  return nullvector;
84 }
85 
86 
87 
88 // Non-const access to component RecHits.
89 // No components rechits: it returns a null vector
90 vector<TrackingRecHit*> DTRecHit1D::recHits() {
91  vector<TrackingRecHit*> nullvector;
92  return nullvector;
93 }
94 
95 
96 // Comparison operator, based on the wireId and the digi time
98  return wireId() == hit.wireId() && fabs(digiTime() - hit.digiTime()) < 0.1;
99 }
100 
101 
102 // The ostream operator
103 ostream& operator<<(ostream& os, const DTRecHit1D& hit) {
104  os << "pos: " << hit.localPosition().x() ;
105  os << " +/- " << sqrt(hit.localPositionError().xx()) ;
106  return os;
107 }
float xx() const
Definition: LocalError.h:24
ostream & operator<<(ostream &os, const DTRecHit1D &hit)
Definition: DTRecHit1D.cc:103
DTCellSide
Which side of the DT cell.
Definition: DTEnums.h:15
LocalError theLocalError
Definition: DTRecHit1D.h:133
virtual DTRecHit1D * clone() const
Definition: DTRecHit1D.cc:74
float theDigiTime
Definition: DTRecHit1D.h:129
virtual ~DTRecHit1D()
Destructor.
Definition: DTRecHit1D.cc:70
DTRecHit1D()
Default constructor.
Definition: DTRecHit1D.cc:27
T sqrt(T t)
Definition: SSEVec.h:18
DTEnums::DTCellSide theLRSide
Definition: DTRecHit1D.h:126
float digiTime() const
Return the time (ns) of the digi used to build the rechit.
Definition: DTRecHit1D.h:113
virtual LocalError localPositionError() const
Return the 3-dimensional error on the local position.
Definition: DTRecHit1D.h:66
virtual LocalPoint localPosition() const
Return the 3-dimensional local position.
Definition: DTRecHit1D.h:60
DTWireId theWireId
Definition: DTRecHit1D.h:123
LocalPoint theLocalPosition
Definition: DTRecHit1D.h:132
virtual std::vector< const TrackingRecHit * > recHits() const
No components rechits: it returns a null vector.
Definition: DTRecHit1D.cc:81
T x() const
Definition: PV3DBase.h:62
bool operator==(const DTRecHit1D &hit) const
Comparison operator, based on the wireId and the digi time.
Definition: DTRecHit1D.cc:97
DTWireId wireId() const
Return the wireId.
Definition: DTRecHit1D.h:107