84 std::vector<const TrackingRecHit*> ohttrh;
85 ohttrh.push_back(&(*(oht.
inner()))); ohttrh.push_back(&(*(oht.
middle()))); ohttrh.push_back(&(*(oht.
outer())));
86 std::vector<const TrackingRecHit*>::const_iterator ioht;
89 float limit_phi_distance1 =
sqrt((middlepos.
x()-outerpos.
x())*(middlepos.
x()-outerpos.
x()) +
90 (middlepos.
y()-outerpos.
y())*(middlepos.
y()-outerpos.
y()))/middlepos.
mag();
91 float limit_phi_distance2 =
sqrt((middlepos.
x()-innerpos.
x())*(middlepos.
x()-innerpos.
x()) +
92 (middlepos.
y()-innerpos.
y())*(middlepos.
y()-innerpos.
y()))/innerpos.
mag();
95 if (fabs(outerpos.
phi()-middlepos.
phi())>fabs(atan(limit_phi_distance1)) ||
96 fabs(innerpos.
phi()-middlepos.
phi())>fabs(atan(limit_phi_distance2)) ) {
98 return std::make_pair(
false, 0.);
118 FastCircle circle(innerpos, middlepos, outerpos);
119 if (circle.rho() < 200 && circle.rho() != 0)
return std::make_pair(
false, circle.rho());
122 std::map<float, OrderedHitTriplet>::const_iterator lower_bound =
map.lower_bound((1-0.01)*circle.rho());
123 std::map<float, OrderedHitTriplet>::const_iterator upper_bound =
map.upper_bound((1+0.01)*circle.rho());
124 std::map<float, OrderedHitTriplet>::const_iterator iter;
125 for (iter = lower_bound; iter != upper_bound && iter->first <= upper_bound->first; iter++){
127 std::vector<const TrackingRecHit*> curtrh;
128 curtrh.push_back(&*(iter->second.inner()));curtrh.push_back(&*(iter->second.middle()));curtrh.push_back(&*(iter->second.outer()));
129 std::vector<const TrackingRecHit*>::const_iterator curiter;
130 for (curiter = curtrh.begin(); curiter != curtrh.end(); curiter++){
131 for (ioht = ohttrh.begin(); ioht != ohttrh.end(); ioht++){
132 if ((*ioht)->geographicalId()==(*curiter)->geographicalId() &&
133 ((*ioht)->localPosition()-(*curiter)->localPosition()).
mag()<1
e-5) shared++;
136 if (shared>1)
return std::make_pair(
false, circle.rho());
139 return std::make_pair(
true,circle.rho());
const OuterRecHit & outer() const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Geom::Phi< T > phi() const
const InnerRecHit & inner() const
const MiddleRecHit & middle() const