CMS 3D CMS Logo

GEMRecHit.cc
Go to the documentation of this file.
1 /*
2  * See header file for a description of this class.
3  *
4  * \author M. Maggi -- INFN Bari
5  */
6 
7 
9 
10 
11 GEMRecHit::GEMRecHit(const GEMDetId& gemId, int bx) : RecHit2DLocalPos(gemId),
12  theGEMId(gemId), theBx(bx),theFirstStrip(99),theClusterSize(99), theLocalPosition(), theLocalError()
13 {
14 }
15 
18 {
19 }
20 
21 
23  theGEMId(gemId), theBx(bx), theFirstStrip(99),theClusterSize(99), theLocalPosition(pos)
24 {
25  float stripResolution = 3.0 ; //cm this sould be taken from trimmed cluster size times strip size
26  // taken out from geometry service i.e. topology
28  LocalError(stripResolution*stripResolution, 0., 0.); //FIXME: is it really needed?
29 }
30 
31 
32 
33 // Constructor from a local position and error, wireId and digi time.
35  int bx,
36  const LocalPoint& pos,
37  const LocalError& err) : RecHit2DLocalPos(gemId),
39 {
40 }
41 
42 
43 // Constructor from a local position and error, wireId, bx and cluster size.
45  int bx,
46  int firstStrip,
47  int clustSize,
48  const LocalPoint& pos,
49  const LocalError& err) : RecHit2DLocalPos(gemId),
50  theGEMId(gemId), theBx(bx),theFirstStrip(firstStrip), theClusterSize(clustSize), theLocalPosition(pos), theLocalError(err)
51 {
52 }
53 
54 
55 
56 
57 // Destructor
59 {
60 }
61 
62 
63 
65  return new GEMRecHit(*this);
66 }
67 
68 
69 // Access to component RecHits.
70 // No components rechits: it returns a null vector
71 std::vector<const TrackingRecHit*> GEMRecHit::recHits() const {
72  std::vector<const TrackingRecHit*> nullvector;
73  return nullvector;
74 }
75 
76 
77 
78 // Non-const access to component RecHits.
79 // No components rechits: it returns a null vector
80 std::vector<TrackingRecHit*> GEMRecHit::recHits() {
81  std::vector<TrackingRecHit*> nullvector;
82  return nullvector;
83 }
84 
85 
86 // Comparison operator, based on the wireId and the digi time
87 bool GEMRecHit::operator==(const GEMRecHit& hit) const {
88  return this->geographicalId() == hit.geographicalId();
89 }
90 
91 
92 // The ostream operator
93 std::ostream& operator<<(std::ostream& os, const GEMRecHit& hit) {
94  os << "pos: " << hit.localPosition().x() ;
95  os << " +/- " << sqrt(hit.localPositionError().xx()) ;
96  return os;
97 }
float xx() const
Definition: LocalError.h:24
bool operator==(const GEMRecHit &hit) const
Comparison operator, based on the gemId and the digi time.
Definition: GEMRecHit.cc:87
LocalPoint localPosition() const override
Return the 3-dimensional local position.
Definition: GEMRecHit.h:53
int theBx
Definition: GEMRecHit.h:118
LocalPoint theLocalPosition
Definition: GEMRecHit.h:122
GEMRecHit()
Default constructor.
Definition: GEMRecHit.cc:16
~GEMRecHit() override
Destructor.
Definition: GEMRecHit.cc:58
T sqrt(T t)
Definition: SSEVec.h:18
LocalError localPositionError() const override
Return the 3-dimensional error on the local position.
Definition: GEMRecHit.h:59
GEMDetId theGEMId
Definition: GEMRecHit.h:117
int theFirstStrip
Definition: GEMRecHit.h:119
std::vector< const TrackingRecHit * > recHits() const override
Definition: GEMRecHit.cc:71
GEMRecHit * clone() const override
Definition: GEMRecHit.cc:64
LocalError theLocalError
Definition: GEMRecHit.h:123
GloballyPositioned< float >::LocalPoint LocalPoint
DetId geographicalId() const
GEMDetId gemId() const
Return the gemId.
Definition: GEMRecHit.h:97
int theClusterSize
Definition: GEMRecHit.h:120
std::ostream & operator<<(std::ostream &os, const GEMRecHit &hit)
The ostream operator.
Definition: GEMRecHit.cc:93