65 {
66
68
70
71 const MuonGM::TgcReadoutElement* detEl = etaHit->detectorElement();
72
73
75
78
80
83
84 TgcClusterObj3D cl3D{eit, pit};
86
87 detEl->
spacePointPosition( firstPhi->identify(), firstEta->identify(), cl3D.getEdge(Edge::LowEtaLowPhi) );
88 if( lastPhi != firstPhi ) {
89 detEl->
spacePointPosition( lastPhi->identify(), firstEta->identify(), cl3D.getEdge(Edge::LowEtaHighPhi));
90 } else {
91 cl3D.getEdge(Edge::LowEtaHighPhi) = cl3D.getEdge(Edge::LowEtaLowPhi);
92 }
93 if( lastEta != firstEta ) {
94 detEl->
spacePointPosition( firstPhi->identify(),lastEta->identify(), cl3D.getEdge(Edge::HighEtaLowPhi) );
95 if( lastPhi != firstPhi ) {
96 detEl->
spacePointPosition( lastPhi->identify(),lastEta->identify(), cl3D.getEdge(Edge::HighEtaHighPhi) );
97 } else {
98 cl3D.getEdge(Edge::HighEtaHighPhi) = cl3D.getEdge(Edge::HighEtaLowPhi);
99 }
100 }else{
101 cl3D.getEdge(Edge::HighEtaLowPhi) = cl3D.getEdge(Edge::LowEtaLowPhi);
102 cl3D.getEdge(Edge::HighEtaHighPhi) = cl3D.getEdge(Edge::LowEtaHighPhi);
103 }
105 }
106 }
107 return true;
108 }
virtual bool spacePointPosition(const Identifier &phiId, const Identifier &etaId, Amg::Vector2D &pos) const override
space point position for a given pair of phi and eta identifiers The LocalPosition is expressed in th...
Edge
Representation of the four edge points.
std::vector< TgcClusterObj3D > clusters3D
const HitList & bestEtaCluster() const
TgcClusterObj3D::HitList HitList