00001 //-------------------------------------------------------------------------- 00002 // File and Version Information: 00003 // $Id: TrkHotList.cxx,v 1.3 2010/09/26 00:31:59 zhangy Exp $ 00004 // 00005 // Description: 00006 // 00007 // Environment: 00008 // Software developed for the BaBar Detector at the SLAC B-Factory. 00009 // 00010 // Author(s): Steve Schaffner 00011 // 00012 //------------------------------------------------------------------------ 00013 00014 #include "TrkBase/TrkHotList.h" 00015 #include "TrkBase/TrkHitOnTrk.h" 00016 #include "TrkBase/TrkView.h" 00017 #include "MdcRecoUtil/BesCollectionUtils.h" 00018 #include <iostream> 00019 using std::endl; 00020 using std::ostream; 00021 00022 TrkHotList::TrkHotList() 00023 { 00024 } 00025 00026 TrkHotList::~TrkHotList() 00027 { 00028 } 00029 00030 void 00031 TrkHotList::print(ostream& o) const 00032 { 00033 o << " hitCapable: " << (hitCapable()?"yes":"no") 00034 << " nActive: " << nActive() 00035 << " nHit: " << nHit() 00036 << " startFoundRange: " <<startFoundRange() 00037 << " endFoundRange: " << endFoundRange(); 00038 } 00039 00040 void 00041 TrkHotList::printAll(ostream &o) const 00042 { 00043 print(o); o << "\n"; 00044 TrkHotList::hot_iterator i= begin(); 00045 int kk=0; 00046 while (i!=end()) { 00047 kk++; 00048 std::cout<< kk << ":" ; 00049 i->print(o); o << endl; 00050 i->hit()->printAll(o);//yzhang debug 00051 i++; 00052 } 00053 } 00054 00055 bool 00056 TrkHotList::hasSvtView(TrkEnums::TrkViewInfo view,int layer) const 00057 { 00058 TrkView need(view); 00059 TrkView have = svtView(layer); 00060 return have.contains(need); 00061 } 00062 00063 TrkHotList* 00064 TrkHotList::resetParent(TrkBase::Functors::setParent f) 00065 { 00066 std::for_each(begin(),end(),f); 00067 return this; 00068 } 00069 00070 void 00071 TrkHotList::sort() 00072 { 00073 std::sort(hotlist().begin(), 00074 hotlist().end(), 00075 bes::Collection::PtrLess()); 00076 }