#include <TrkHitList.h>
|
|
|
|
|
00035 { 00036 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00139 { 00140 bool x(true); 00141 for(TrkHitList::hot_iterator i = list.begin(); i!=list.end();++i) { 00142 TrkHitOnTrk* h = appendHot(i.get()); 00143 x = ( x && h!=0); 00144 } 00145 return x; 00146 }
|
|
|
|
00115 { 00116 // Test whether hit already on this track 00117 if (theHit.hit().usedOnTrack(_theTrack)) { 00118 #ifdef MDCPATREC_WARNING 00119 cout <<"ErrMsg(warning)" 00120 <<"You just tried to add a hit to a track twice." 00121 <<" Don't do that. " << endl; 00122 #endif 00123 return 0; 00124 } 00125 TrkHitOnTrk* defaultHot = 0; 00126 00127 std::pair<TrkRepIter,TrkRepIter> reps = _theTrack->uniqueReps(); 00128 for (TrkRepIter i= reps.first; i != reps.second; ++i) { 00129 TrkHitOnTrk* h = theHit.createHitOnTrk(*i); 00130 00131 i->addHot(h); 00132 if (i->particleType() == _theTrack->defaultType()) defaultHot = h; 00133 } 00134 return defaultHot; 00135 }
|
|
|
|
00092 { 00093 if (theHot == 0) return 0; 00094 // Test whether hit already on this track 00095 if (theHot->hit() != 0 && theHot->hit()->usedOnTrack(_theTrack)) { 00096 #ifdef MDCPATREC_WARNING 00097 cout <<"ErrMsg(warning)" 00098 << "You just tried to add a hit to a track twice. " 00099 <<" Don't do that. "<< endl; 00100 #endif 00101 return 0; 00102 } 00103 TrkHitOnTrk* defaultHot = 0; 00104 std::pair<TrkRepIter,TrkRepIter> reps = _theTrack->uniqueReps(); 00105 for (TrkRepIter i=reps.first; i != reps.second; ++i) { 00106 TrkHitOnTrk* h = theHot->clone(i.get()); 00107 i->addHot(h); 00108 if (i->particleType() == _theTrack->defaultType()) defaultHot = h; 00109 } 00110 return defaultHot; 00111 }
|
|
|
|
|
|
|
|
|
|
|
|
00060 { 00061 _theTrack->_fitNumber[_myHypo]++; 00062 00063 TrkErrCode err = theRep()->fit(); 00064 theRep()->hotList()->sort(); 00065 return err; 00066 }
|
|
|
|
00052 { 00053 const TrkHotList* x = theRep()->hotList(); 00054 assert(x!=0); 00055 return *x; 00056 }
|
|
|
|
|
|
|
|
|
|
00066 {return this == &right;}
|
|
00066 {return this == &right;}
|
|
|
|
00070 { 00071 // This would be more efficient if the Rep did the finding of the Hot 00072 // (save one search through each hotlist). 00073 if (theHit == 0) return false; 00074 if (!theHit->usedOnTrack(_theTrack)) { 00075 #ifdef MDCPATREC_WARNING 00076 cout <<"ErrMsg(warning) "<< 00077 "TrkHitList: you just deleted a hit that was not on the track." << endl; 00078 #endif 00079 return false; 00080 } 00081 std::pair<TrkRepIter,TrkRepIter> reps = _theTrack->uniqueReps(); 00082 for (TrkRepIter i= reps.first; i != reps.second; ++i) { 00083 // Find the Hot and ask the Rep to remove it 00084 TrkHitOnTrk* h = i->hotList()->findHot(theHit); 00085 if (h != 0) i->removeHot(h); 00086 } 00087 return true; 00088 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|