TrkHotListEmpty Class Reference

#include <TrkHotListEmpty.h>

Inheritance diagram for TrkHotListEmpty:

TrkHotList List of all members.

Public Types

typedef TrkHitOnTrkIter< TrkHotList::const_iterator_traitshot_iterator
typedef TrkHitOnTrkIter< TrkHotList::iterator_traitsnc_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)
TrkHotListEmptyoperator= (const TrkHotList &)
virtual TrkHotListclone (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 *)
TrkHitOnTrkfindHot (const TrkFundHit *) const
virtual void updateHots ()
virtual TrkHotListresetParent (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

Detailed Description

Definition at line 25 of file TrkHotListEmpty.h.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

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]

Definition at line 86 of file TrkHotListEmpty.cxx.

00087 {
00088 }

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 }


Member Function Documentation

void TrkHotListEmpty::append ( TrkHitOnTrk  )  [virtual]

Implements TrkHotList.

Definition at line 192 of file TrkHotListEmpty.cxx.

00193 {
00194 }

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]

Implements TrkHotList.

Definition at line 202 of file TrkHotListEmpty.cxx.

00203 {
00204   return 0;
00205 }

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]

Implements TrkHotList.

Definition at line 208 of file TrkHotListEmpty.cxx.

00209 {
00210   return false;
00211 }

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().

00116 {
00117   return nSvt(view)+nMdc(view);
00118 }

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]

Implements TrkHotList.

Definition at line 197 of file TrkHotListEmpty.cxx.

00198 {
00199 }

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().

00065 {
00066   std::for_each(begin(),end(),f);
00067   return this;
00068 }

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]

Implements TrkHotList.

Definition at line 214 of file TrkHotListEmpty.cxx.

00215 {
00216   return;
00217 }


Friends And Related Function Documentation

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.


Member Data Documentation

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().


Generated on Tue Nov 29 23:36:15 2016 for BOSS_7.0.2 by  doxygen 1.4.7