11 #if defined(DO_INTERNAL_CHECKS)
21 static bool once =
true;
30 if (trackerHitRTTI::isNotFromDet(*thit)) {
33 std::cout <<
"NotFromDet:" << subd <<
" " << (
id & 3) <<
" " << thit->
dimension() <<
". " << std::endl;
41 std::cout <<
"not a tracker hit! " <<
typeid(*thit).name() << std::endl;
44 std::cout <<
"undef hit! " <<
typeid(*thit).name() << std::endl;
46 if (dynamic_cast<SiPixelRecHit const *>(
hit)) {
50 verify(
hit->omniCluster());
53 if (dynamic_cast<SiStripRecHit1D const *>(
hit)) {
56 std::cout <<
"Strip1D:" << subd <<
" " << (
id & 3) <<
" " << bhit->
isSingle() <<
". ";
57 verify(
hit->omniCluster());
60 if (dynamic_cast<SiStripRecHit2D const *>(
hit)) {
63 std::cout <<
"Strip2D:" << subd <<
" " << (
id & 3) <<
" " << bhit->
isSingle() <<
". ";
64 verify(
hit->omniCluster());
67 if (dynamic_cast<SiStripMatchedRecHit2D const *>(thit)) {
70 std::cout <<
"Strip Matched:" << subd <<
" " << (
id & 3) <<
" " << bhit->
isMatched() <<
". " << std::endl;
74 if (dynamic_cast<ProjectedSiStripRecHit2D const *>(thit)) {
77 std::cout <<
"Strip Matched:" << subd <<
" " << (
id & 3) <<
" " << bhit->
isProjected() <<
". " << std::endl;
84 std::cout <<
"not sharing with itself! " << what <<
" " <<
typeid(*thit).name() << std::endl;
88 bool doingCheck =
false;
105 #if defined(DO_INTERNAL_CHECKS)
108 if (!doingCheck && (
other !=
this))
109 checkSelf(
this,
other);
124 return static_cast<SiStripMatchedRecHit2D const &>(*other).sharesInput(*
this);
128 std::vector<const TrackingRecHit *> otherHits =
other->recHits();
129 int ncomponents = otherHits.size();
130 if (ncomponents == 0)
132 if (ncomponents == 1)
138 for (
int i = 0;
i < ncomponents;
i++) {
147 std::vector<const TrackingRecHit *> nullvector;
151 std::vector<TrackingRecHit *> nullvector;