#include <TrkHotListEmpty.h>
Inheritance diagram for TrkHotListEmpty:
Public Types | |
typedef TrkHitOnTrkIter< TrkHotList::const_iterator_traits > | hot_iterator |
typedef TrkHitOnTrkIter< TrkHotList::iterator_traits > | nc_hot_iterator |
Public Member Functions | |
TrkHotListEmpty (int nActive, int nSvt, int nMdc, double startFoundRange, double endFoundRange) | |
TrkHotListEmpty (unsigned nPhi, unsigned nZ, unsigned nAxial, unsigned nStereo, double startFoundRange, double endFoundRange, unsigned firstmdclay, unsigned lastmdclay, TrkView svtpattern[5], const std::vector< unsigned > &inactive) | |
TrkHotListEmpty (const TrkHotList &other) | |
TrkHotListEmpty & | operator= (const TrkHotList &) |
virtual TrkHotList * | clone (TrkBase::Functors::cloneHot) const |
virtual | ~TrkHotListEmpty () |
virtual bool | hitCapable () const |
virtual int | nActive (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const |
virtual int | nMdc (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const |
virtual int | nSvt (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const |
virtual int | nHit (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const |
virtual TrkView | svtView (int layer) const |
virtual unsigned | firstMdcLayer () const |
virtual unsigned | lastMdcLayer () const |
virtual double | startFoundRange () const |
virtual double | endFoundRange () const |
virtual bool | isActive (unsigned ihot) const |
virtual void | append (TrkHitOnTrk *) |
virtual void | remove (TrkHitOnTrk *) |
TrkHitOnTrk * | findHot (const TrkFundHit *) const |
virtual void | updateHots () |
virtual TrkHotList * | resetParent (TrkBase::Functors::setParent) |
hot_iterator | begin () const |
nc_hot_iterator | begin () |
hot_iterator | end () const |
nc_hot_iterator | end () |
virtual bool | hasSvtView (TrkEnums::TrkViewInfo view, int layer) const |
virtual void | sort () |
void | print (std::ostream &o) const |
void | printAll (std::ostream &o) const |
Protected Types | |
typedef std::vector< TrkHitOnTrk * > | hotlist_t |
Protected Member Functions | |
virtual const std::vector< TrkHitOnTrk * > & | hotlist () const |
virtual std::vector< TrkHitOnTrk * > & | hotlist () |
Private Member Functions | |
TrkHotListEmpty (const TrkHotListEmpty &rhs) | |
void | setInactive (std::vector< unsigned > &inactive) |
Private Attributes | |
unsigned | _nAxial |
unsigned | _nStereo |
unsigned | _nPhi |
unsigned | _nZ |
double | _stFndRng |
double | _endFndRng |
unsigned | _firstmdc |
unsigned | _lastmdc |
TrkView | _svtpat [5] |
std::vector< unsigned > | _inactive |
Friends | |
class | KalMiniTrkK |
struct | iterator_traits |
struct | const_iterator_traits |
Definition at line 25 of file TrkHotListEmpty.h.
typedef TrkHitOnTrkIter<TrkHotList::const_iterator_traits> TrkHotList::hot_iterator [inherited] |
Definition at line 43 of file TrkHotList.h.
typedef std::vector<TrkHitOnTrk*> TrkHotList::hotlist_t [protected, inherited] |
Definition at line 76 of file TrkHotList.h.
typedef TrkHitOnTrkIter<TrkHotList::iterator_traits> TrkHotList::nc_hot_iterator [inherited] |
Definition at line 47 of file TrkHotList.h.
TrkHotListEmpty::TrkHotListEmpty | ( | int | nActive, | |
int | nSvt, | |||
int | nMdc, | |||
double | startFoundRange, | |||
double | endFoundRange | |||
) |
Definition at line 20 of file TrkHotListEmpty.cxx.
References _endFndRng, _firstmdc, _lastmdc, _nAxial, _nPhi, _nStereo, _nZ, _stFndRng, _svtpat, and TrkEnums::noView.
Referenced by clone().
00022 { 00023 _nPhi = nsv/2; _nZ = nsv-_nPhi; 00024 _nAxial = ndc/3; _nStereo = ndc-_nAxial; 00025 _stFndRng = sfr; 00026 _endFndRng = efr; 00027 _firstmdc = _lastmdc = 0; 00028 for(unsigned isvt=0;isvt<5;isvt++) 00029 _svtpat[isvt] = TrkView(TrkEnums::noView); 00030 }
TrkHotListEmpty::TrkHotListEmpty | ( | unsigned | nPhi, | |
unsigned | nZ, | |||
unsigned | nAxial, | |||
unsigned | nStereo, | |||
double | startFoundRange, | |||
double | endFoundRange, | |||
unsigned | firstmdclay, | |||
unsigned | lastmdclay, | |||
TrkView | svtpattern[5], | |||
const std::vector< unsigned > & | inactive | |||
) |
Definition at line 32 of file TrkHotListEmpty.cxx.
References _svtpat, and ganga-rec::j.
00037 : 00038 _nAxial(nAxial),_nStereo(nStereo),_nPhi(nPhi),_nZ(nZ), 00039 _stFndRng(sfr),_endFndRng(efr),_firstmdc(firstmdc),_lastmdc(lastmdc), 00040 _inactive(inactive) 00041 { 00042 for(unsigned j=0;j<5;j++) 00043 _svtpat[j] = svtpattern[j]; 00044 }
TrkHotListEmpty::TrkHotListEmpty | ( | const TrkHotList & | other | ) |
Definition at line 96 of file TrkHotListEmpty.cxx.
References _inactive, _svtpat, isActive(), and EvtCyclic3::other().
00096 : 00097 _nAxial(other.nMdc(TrkEnums::xyView)), 00098 _nStereo(other.nMdc(TrkEnums::zView)), 00099 _nPhi(other.nSvt(TrkEnums::xyView)), 00100 _nZ(other.nSvt(TrkEnums::zView)), 00101 _stFndRng(other.startFoundRange()), 00102 _endFndRng(other.endFoundRange()), 00103 _firstmdc(other.firstMdcLayer()), 00104 _lastmdc(other.lastMdcLayer()) 00105 { 00106 for(unsigned ilay=0;ilay<5;ilay++) 00107 _svtpat[ilay] = other.svtView(ilay+1);// layer numbering starts at 1 00108 unsigned nhit = other.nHit(); 00109 for(unsigned ihit=0;ihit<nhit;ihit++) 00110 if(!isActive(ihit)) 00111 _inactive.push_back(ihit); 00112 }
TrkHotListEmpty::~TrkHotListEmpty | ( | ) | [virtual] |
TrkHotListEmpty::TrkHotListEmpty | ( | const TrkHotListEmpty & | rhs | ) | [private] |
Definition at line 46 of file TrkHotListEmpty.cxx.
References _endFndRng, _firstmdc, _inactive, _lastmdc, _nAxial, _nPhi, _nStereo, _nZ, _stFndRng, _svtpat, and genRecEmupikp::i.
00047 { 00048 _nAxial = rhs._nAxial; 00049 _nStereo = rhs._nStereo; 00050 _nPhi = rhs._nPhi; 00051 _nZ = rhs._nZ; 00052 _stFndRng = rhs._stFndRng; 00053 _endFndRng = rhs._endFndRng; 00054 _firstmdc = rhs._firstmdc; 00055 _lastmdc = rhs._lastmdc; 00056 _inactive = rhs._inactive; 00057 for (unsigned i=0;i<5;++i) _svtpat[i] = rhs._svtpat[i]; 00058 00059 }
void TrkHotListEmpty::append | ( | TrkHitOnTrk * | ) | [virtual] |
nc_hot_iterator TrkHotList::begin | ( | void | ) | [inline, inherited] |
Definition at line 48 of file TrkHotList.h.
References TrkHotList::begin(), and TrkHotList::hotlist().
00048 { return nc_hot_iterator(hotlist().begin()); }
hot_iterator TrkHotList::begin | ( | void | ) | const [inline, inherited] |
Definition at line 44 of file TrkHotList.h.
References TrkHotList::hotlist().
Referenced by TrkHotList::begin(), TrkHitList::begin(), TrkRecoTrk::changeDefault(), MdcxTrackFinder::dropMultiHotInLayer(), MdcTrackList::dropMultiHotInLayer(), MdcTrackList::dumpAxCombine(), MdcTrackList::dumpCircle(), MdcTrackList::dumpHelix(), MdcTrackList::dumpStCombine(), TrkHotListFull::endFoundRange(), MdcHoughFinder::execute(), HoughValidUpdate::execute(), TrkHotListFull::findHot(), TrkHotListFull::firstMdcLayer(), TrkHelixFitter::fit(), TrkHotListFull::lastMdcLayer(), TrkHotListFull::nActive(), TrkHotListFull::nHit(), TrkHotListFull::nMdc(), TrkHotListFull::nSvt(), TrkHotList::resetParent(), TrkHotList::sort(), TrkHotListFull::startFoundRange(), TrkHotListFull::svtView(), TrkHotListFull::TrkHotListFull(), and TrkHotListFull::updateHots().
00044 { return hot_iterator(hotlist().begin()); }
TrkHotList * TrkHotListEmpty::clone | ( | TrkBase::Functors::cloneHot | ) | const [virtual] |
Implements TrkHotList.
Definition at line 91 of file TrkHotListEmpty.cxx.
References TrkHotListEmpty().
00092 { 00093 return new TrkHotListEmpty(*this); 00094 }
nc_hot_iterator TrkHotList::end | ( | void | ) | [inline, inherited] |
Definition at line 49 of file TrkHotList.h.
References TrkHotList::end(), and TrkHotList::hotlist().
00049 { return nc_hot_iterator(hotlist().end()); }
hot_iterator TrkHotList::end | ( | void | ) | const [inline, inherited] |
Definition at line 45 of file TrkHotList.h.
References TrkHotList::hotlist().
Referenced by TrkRecoTrk::changeDefault(), MdcxTrackFinder::dropMultiHotInLayer(), MdcTrackList::dropMultiHotInLayer(), MdcTrackList::dumpAxCombine(), MdcTrackList::dumpCircle(), MdcTrackList::dumpHelix(), MdcTrackList::dumpStCombine(), TrkHotList::end(), TrkHitList::end(), TrkHotListFull::endFoundRange(), MdcHoughFinder::execute(), TrkHotListFull::findHot(), TrkHotListFull::firstMdcLayer(), TrkHelixFitter::fit(), TrkHotListFull::lastMdcLayer(), TrkHotListFull::nActive(), TrkHotListFull::nHit(), TrkHotListFull::nMdc(), TrkHotListFull::nSvt(), TrkHotList::resetParent(), TrkHotList::sort(), TrkHotListFull::startFoundRange(), TrkHotListFull::svtView(), TrkHotListFull::TrkHotListFull(), and TrkHotListFull::updateHots().
00045 { return hot_iterator(hotlist().end()); }
double TrkHotListEmpty::endFoundRange | ( | ) | const [virtual] |
Implements TrkHotList.
Definition at line 168 of file TrkHotListEmpty.cxx.
References _endFndRng.
00169 { 00170 return _endFndRng; 00171 }
TrkHitOnTrk * TrkHotListEmpty::findHot | ( | const TrkFundHit * | ) | const [virtual] |
unsigned TrkHotListEmpty::firstMdcLayer | ( | ) | const [virtual] |
Implements TrkHotList.
Definition at line 226 of file TrkHotListEmpty.cxx.
References _firstmdc.
00227 { 00228 return _firstmdc; 00229 }
bool TrkHotList::hasSvtView | ( | TrkEnums::TrkViewInfo | view, | |
int | layer | |||
) | const [virtual, inherited] |
Definition at line 56 of file TrkHotList.cxx.
References TrkView::contains(), and TrkHotList::svtView().
00057 { 00058 TrkView need(view); 00059 TrkView have = svtView(layer); 00060 return have.contains(need); 00061 }
bool TrkHotListEmpty::hitCapable | ( | ) | const [virtual] |
std::vector< TrkHitOnTrk * > & TrkHotListEmpty::hotlist | ( | ) | [protected, virtual] |
Implements TrkHotList.
Definition at line 184 of file TrkHotListEmpty.cxx.
00185 { 00186 static std::vector<TrkHitOnTrk*> dummy; 00187 assert(dummy.empty()); 00188 return dummy; 00189 }
const std::vector< TrkHitOnTrk * > & TrkHotListEmpty::hotlist | ( | ) | const [protected, virtual] |
Implements TrkHotList.
Definition at line 175 of file TrkHotListEmpty.cxx.
00176 { 00177 static const std::vector<TrkHitOnTrk*> dummy; 00178 assert(dummy.empty()); 00179 return dummy; 00180 00181 }
bool TrkHotListEmpty::isActive | ( | unsigned | ihot | ) | const [virtual] |
Implements TrkHotList.
Definition at line 238 of file TrkHotListEmpty.cxx.
References _inactive.
Referenced by TrkHotListEmpty().
00238 { 00239 std::vector<unsigned>::const_iterator ifound = 00240 std::find(_inactive.begin(),_inactive.end(),ihot); 00241 return ifound == _inactive.end(); 00242 }
unsigned TrkHotListEmpty::lastMdcLayer | ( | ) | const [virtual] |
Implements TrkHotList.
Definition at line 232 of file TrkHotListEmpty.cxx.
References _lastmdc.
00233 { 00234 return _lastmdc; 00235 }
int TrkHotListEmpty::nActive | ( | TrkEnums::TrkViewInfo | view = TrkEnums::bothView |
) | const [virtual] |
Implements TrkHotList.
Definition at line 115 of file TrkHotListEmpty.cxx.
References nMdc(), and nSvt().
Referenced by nHit().
int TrkHotListEmpty::nHit | ( | TrkEnums::TrkViewInfo | view = TrkEnums::bothView |
) | const [virtual] |
Implements TrkHotList.
Definition at line 151 of file TrkHotListEmpty.cxx.
References _inactive, TrkEnums::bothView, and nActive().
00152 { 00153 unsigned nhit = nActive(view); 00154 if(view == TrkEnums::bothView) 00155 nhit += _inactive.size(); 00156 else 00157 nhit += _inactive.size()/2; 00158 return nhit; 00159 }
int TrkHotListEmpty::nMdc | ( | TrkEnums::TrkViewInfo | view = TrkEnums::bothView |
) | const [virtual] |
Implements TrkHotList.
Definition at line 136 of file TrkHotListEmpty.cxx.
References _nAxial, _nStereo, TrkEnums::bothView, TrkEnums::xyView, and TrkEnums::zView.
Referenced by nActive().
00137 { 00138 switch (view) { 00139 case TrkEnums::zView: 00140 return _nStereo; 00141 case TrkEnums::xyView: 00142 return _nAxial; 00143 case TrkEnums::bothView: 00144 return _nStereo + _nAxial; 00145 default: 00146 return -1; 00147 } 00148 }
int TrkHotListEmpty::nSvt | ( | TrkEnums::TrkViewInfo | view = TrkEnums::bothView |
) | const [virtual] |
Implements TrkHotList.
Definition at line 121 of file TrkHotListEmpty.cxx.
References _nPhi, _nZ, TrkEnums::bothView, TrkEnums::xyView, and TrkEnums::zView.
Referenced by nActive().
00122 { 00123 switch (view) { 00124 case TrkEnums::bothView: 00125 return _nPhi + _nZ; 00126 case TrkEnums::xyView: 00127 return _nPhi; 00128 case TrkEnums::zView: 00129 return _nZ; 00130 default: 00131 return -1; 00132 } 00133 }
TrkHotListEmpty & TrkHotListEmpty::operator= | ( | const TrkHotList & | ) |
Reimplemented from TrkHotList.
Definition at line 63 of file TrkHotListEmpty.cxx.
References _endFndRng, _firstmdc, _inactive, _lastmdc, _nAxial, _nPhi, _nStereo, _nZ, _stFndRng, _svtpat, EvtCyclic3::other(), TrkEnums::xyView, and TrkEnums::zView.
00063 { 00064 if(this != &other){ 00065 _nPhi = other.nSvt(TrkEnums::xyView); 00066 _nZ = other.nSvt(TrkEnums::zView); 00067 _nAxial = other.nMdc(TrkEnums::xyView); 00068 _nStereo = other.nMdc(TrkEnums::zView); 00069 _stFndRng = other.startFoundRange(); 00070 _endFndRng = other.endFoundRange(); 00071 _firstmdc = other.firstMdcLayer(); 00072 _lastmdc = other.lastMdcLayer(); 00073 for(unsigned ilay=0;ilay<5;ilay++) 00074 _svtpat[ilay] = other.svtView(ilay+1);// layer numbering starts at 1 00075 unsigned nhits = other.nHit(); 00076 std::vector<unsigned> inactive; 00077 for(unsigned ihit=0;ihit<nhits;ihit++) 00078 if(!other.isActive(ihit)) 00079 inactive.push_back(ihit); 00080 _inactive = inactive; 00081 } 00082 return *this; 00083 }
void TrkHotList::print | ( | std::ostream & | o | ) | const [inherited] |
void TrkHotList::printAll | ( | std::ostream & | o | ) | const [inherited] |
Referenced by MdcTrackList::finishCircle(), and MdcTrackList::finishHelix().
void TrkHotListEmpty::remove | ( | TrkHitOnTrk * | ) | [virtual] |
TrkHotList * TrkHotList::resetParent | ( | TrkBase::Functors::setParent | ) | [virtual, inherited] |
Definition at line 64 of file TrkHotList.cxx.
References TrkHotList::begin(), and TrkHotList::end().
Referenced by TrkRep::TrkRep().
void TrkHotListEmpty::setInactive | ( | std::vector< unsigned > & | inactive | ) | [inline, private] |
Definition at line 76 of file TrkHotListEmpty.h.
References _inactive.
00076 { 00077 _inactive = inactive; }
void TrkHotList::sort | ( | ) | [virtual, inherited] |
Definition at line 71 of file TrkHotList.cxx.
References TrkHotList::begin(), TrkHotList::end(), and TrkHotList::hotlist().
Referenced by TrkHitList::fit(), and TrkHotListFull::updateHots().
00072 { 00073 std::sort(hotlist().begin(), 00074 hotlist().end(), 00075 bes::Collection::PtrLess()); 00076 }
double TrkHotListEmpty::startFoundRange | ( | ) | const [virtual] |
Implements TrkHotList.
Definition at line 162 of file TrkHotListEmpty.cxx.
References _stFndRng.
00163 { 00164 return _stFndRng; 00165 }
TrkView TrkHotListEmpty::svtView | ( | int | layer | ) | const [virtual] |
Implements TrkHotList.
Definition at line 220 of file TrkHotListEmpty.cxx.
References _svtpat, and TrkEnums::noView.
00221 { 00222 return (ilay>=1 && ilay<=5)?_svtpat[ilay-1]:TrkView(TrkEnums::noView); 00223 }
void TrkHotListEmpty::updateHots | ( | ) | [virtual] |
friend struct const_iterator_traits [friend, inherited] |
Definition at line 75 of file TrkHotList.h.
friend struct iterator_traits [friend, inherited] |
Definition at line 74 of file TrkHotList.h.
friend class KalMiniTrkK [friend] |
Definition at line 78 of file TrkHotListEmpty.h.
double TrkHotListEmpty::_endFndRng [private] |
Definition at line 69 of file TrkHotListEmpty.h.
Referenced by endFoundRange(), operator=(), and TrkHotListEmpty().
unsigned TrkHotListEmpty::_firstmdc [private] |
Definition at line 70 of file TrkHotListEmpty.h.
Referenced by firstMdcLayer(), operator=(), and TrkHotListEmpty().
std::vector<unsigned> TrkHotListEmpty::_inactive [private] |
Definition at line 73 of file TrkHotListEmpty.h.
Referenced by isActive(), nHit(), operator=(), setInactive(), and TrkHotListEmpty().
unsigned TrkHotListEmpty::_lastmdc [private] |
Definition at line 71 of file TrkHotListEmpty.h.
Referenced by lastMdcLayer(), operator=(), and TrkHotListEmpty().
unsigned TrkHotListEmpty::_nAxial [private] |
Definition at line 66 of file TrkHotListEmpty.h.
Referenced by nMdc(), operator=(), and TrkHotListEmpty().
unsigned TrkHotListEmpty::_nPhi [private] |
Definition at line 67 of file TrkHotListEmpty.h.
Referenced by nSvt(), operator=(), and TrkHotListEmpty().
unsigned TrkHotListEmpty::_nStereo [private] |
Definition at line 66 of file TrkHotListEmpty.h.
Referenced by nMdc(), operator=(), and TrkHotListEmpty().
unsigned TrkHotListEmpty::_nZ [private] |
Definition at line 67 of file TrkHotListEmpty.h.
Referenced by nSvt(), operator=(), and TrkHotListEmpty().
double TrkHotListEmpty::_stFndRng [private] |
Definition at line 68 of file TrkHotListEmpty.h.
Referenced by operator=(), startFoundRange(), and TrkHotListEmpty().
TrkView TrkHotListEmpty::_svtpat[5] [private] |
Definition at line 72 of file TrkHotListEmpty.h.
Referenced by operator=(), svtView(), and TrkHotListEmpty().