Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TrkHotListEmpty Class Reference

#include <TrkHotListEmpty.h>

Inheritance diagram for TrkHotListEmpty:

TrkHotList TrkHotList List of all members.

Public Types

typedef TrkHitOnTrkIter< TrkHotList::const_iterator_traitshot_iterator
typedef TrkHitOnTrkIter< TrkHotList::const_iterator_traitshot_iterator
typedef TrkHitOnTrkIter< TrkHotList::iterator_traitsnc_hot_iterator
typedef TrkHitOnTrkIter< TrkHotList::iterator_traitsnc_hot_iterator

Public Member Functions

virtual void append (TrkHitOnTrk *)
virtual void append (TrkHitOnTrk *)
nc_hot_iterator begin ()
hot_iterator begin () const
nc_hot_iterator begin ()
hot_iterator begin () const
virtual TrkHotListclone (TrkBase::Functors::cloneHot) const
virtual TrkHotListclone (TrkBase::Functors::cloneHot) const
nc_hot_iterator end ()
hot_iterator end () const
nc_hot_iterator end ()
hot_iterator end () const
virtual double endFoundRange () const
virtual double endFoundRange () const
TrkHitOnTrkfindHot (const TrkFundHit *) const
TrkHitOnTrkfindHot (const TrkFundHit *) const
virtual unsigned firstMdcLayer () const
virtual unsigned firstMdcLayer () const
virtual bool hasSvtView (TrkEnums::TrkViewInfo view, int layer) const
virtual bool hasSvtView (TrkEnums::TrkViewInfo view, int layer) const
virtual bool hitCapable () const
virtual bool hitCapable () const
virtual bool isActive (unsigned ihot) const
virtual bool isActive (unsigned ihot) const
virtual unsigned lastMdcLayer () const
virtual unsigned lastMdcLayer () const
virtual int nActive (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const
virtual int nActive (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const
virtual int nHit (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const
virtual int nHit (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const
virtual int nMdc (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 nSvt (TrkEnums::TrkViewInfo view=TrkEnums::bothView) const
TrkHotListEmptyoperator= (const TrkHotList &)
TrkHotListEmptyoperator= (const TrkHotList &)
void print (std::ostream &o) const
void print (std::ostream &o) const
void printAll (std::ostream &o) const
void printAll (std::ostream &o) const
virtual void remove (TrkHitOnTrk *)
virtual void remove (TrkHitOnTrk *)
virtual TrkHotListresetParent (TrkBase::Functors::setParent)
virtual TrkHotListresetParent (TrkBase::Functors::setParent)
virtual void sort ()
virtual void sort ()
virtual double startFoundRange () const
virtual double startFoundRange () const
virtual TrkView svtView (int layer) const
virtual TrkView svtView (int layer) const
 TrkHotListEmpty (const TrkHotList &other)
 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 (int nActive, int nSvt, int nMdc, double startFoundRange, double endFoundRange)
 TrkHotListEmpty (const TrkHotList &other)
 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 (int nActive, int nSvt, int nMdc, double startFoundRange, double endFoundRange)
virtual void updateHots ()
virtual void updateHots ()
virtual ~TrkHotListEmpty ()
virtual ~TrkHotListEmpty ()

Protected Types

typedef std::vector< TrkHitOnTrk * > hotlist_t
typedef std::vector< TrkHitOnTrk * > hotlist_t

Protected Member Functions

virtual std::vector< TrkHitOnTrk * > & hotlist ()
virtual const std::vector<
TrkHitOnTrk * > & 
hotlist () const
virtual std::vector< TrkHitOnTrk * > & hotlist ()
virtual const std::vector<
TrkHitOnTrk * > & 
hotlist () const

Private Member Functions

void setInactive (std::vector< unsigned > &inactive)
void setInactive (std::vector< unsigned > &inactive)
 TrkHotListEmpty (const TrkHotListEmpty &rhs)
 TrkHotListEmpty (const TrkHotListEmpty &rhs)

Private Attributes

double _endFndRng
unsigned _firstmdc
std::vector< unsigned > _inactive
std::vector< unsigned > _inactive
unsigned _lastmdc
unsigned _nAxial
unsigned _nPhi
unsigned _nStereo
unsigned _nZ
double _stFndRng
TrkView _svtpat [5]

Friends

struct const_iterator_traits
struct iterator_traits
class KalMiniTrkK

Member Typedef Documentation

typedef TrkHitOnTrkIter<TrkHotList::const_iterator_traits> TrkHotList::hot_iterator [inherited]
 

typedef TrkHitOnTrkIter<TrkHotList::const_iterator_traits> TrkHotList::hot_iterator [inherited]
 

typedef std::vector<TrkHitOnTrk*> TrkHotList::hotlist_t [protected, inherited]
 

typedef std::vector<TrkHitOnTrk*> TrkHotList::hotlist_t [protected, inherited]
 

typedef TrkHitOnTrkIter<TrkHotList::iterator_traits> TrkHotList::nc_hot_iterator [inherited]
 

typedef TrkHitOnTrkIter<TrkHotList::iterator_traits> TrkHotList::nc_hot_iterator [inherited]
 


Constructor & Destructor Documentation

TrkHotListEmpty::TrkHotListEmpty int  nActive,
int  nSvt,
int  nMdc,
double  startFoundRange,
double  endFoundRange
 

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
 

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  ) 
 

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]
 

00087 {
00088 }

TrkHotListEmpty::TrkHotListEmpty const TrkHotListEmpty rhs  )  [private]
 

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 }

TrkHotListEmpty::TrkHotListEmpty int  nActive,
int  nSvt,
int  nMdc,
double  startFoundRange,
double  endFoundRange
 

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
 

TrkHotListEmpty::TrkHotListEmpty const TrkHotList other  ) 
 

virtual TrkHotListEmpty::~TrkHotListEmpty  )  [virtual]
 

TrkHotListEmpty::TrkHotListEmpty const TrkHotListEmpty rhs  )  [private]
 


Member Function Documentation

virtual void TrkHotListEmpty::append TrkHitOnTrk  )  [virtual]
 

Implements TrkHotList.

void TrkHotListEmpty::append TrkHitOnTrk  )  [virtual]
 

Implements TrkHotList.

00193 {
00194 }

nc_hot_iterator TrkHotList::begin void   )  [inline, inherited]
 

00048 { return nc_hot_iterator(hotlist().begin()); }

hot_iterator TrkHotList::begin void   )  const [inline, inherited]
 

00044 { return hot_iterator(hotlist().begin()); }

nc_hot_iterator TrkHotList::begin void   )  [inline, inherited]
 

00048 { return nc_hot_iterator(hotlist().begin()); }

hot_iterator TrkHotList::begin void   )  const [inline, inherited]
 

00044 { return hot_iterator(hotlist().begin()); }

virtual TrkHotList* TrkHotListEmpty::clone TrkBase::Functors::cloneHot   )  const [virtual]
 

Implements TrkHotList.

TrkHotList * TrkHotListEmpty::clone TrkBase::Functors::cloneHot   )  const [virtual]
 

Implements TrkHotList.

00092 {
00093   return new TrkHotListEmpty(*this);
00094 }

nc_hot_iterator TrkHotList::end void   )  [inline, inherited]
 

00049 { return nc_hot_iterator(hotlist().end()); }

hot_iterator TrkHotList::end void   )  const [inline, inherited]
 

00045 { return hot_iterator(hotlist().end()); }

nc_hot_iterator TrkHotList::end void   )  [inline, inherited]
 

00049 { return nc_hot_iterator(hotlist().end()); }

hot_iterator TrkHotList::end void   )  const [inline, inherited]
 

00045 { return hot_iterator(hotlist().end()); }

virtual double TrkHotListEmpty::endFoundRange  )  const [virtual]
 

Implements TrkHotList.

double TrkHotListEmpty::endFoundRange  )  const [virtual]
 

Implements TrkHotList.

00169 {
00170   return _endFndRng;
00171 }

TrkHitOnTrk* TrkHotListEmpty::findHot const TrkFundHit  )  const [virtual]
 

Implements TrkHotList.

TrkHitOnTrk * TrkHotListEmpty::findHot const TrkFundHit  )  const [virtual]
 

Implements TrkHotList.

00203 {
00204   return 0;
00205 }

virtual unsigned TrkHotListEmpty::firstMdcLayer  )  const [virtual]
 

Implements TrkHotList.

unsigned TrkHotListEmpty::firstMdcLayer  )  const [virtual]
 

Implements TrkHotList.

00227 {
00228   return _firstmdc;
00229 }

virtual bool TrkHotList::hasSvtView TrkEnums::TrkViewInfo  view,
int  layer
const [virtual, inherited]
 

bool TrkHotList::hasSvtView TrkEnums::TrkViewInfo  view,
int  layer
const [virtual, inherited]
 

00057 {
00058   TrkView need(view);
00059   TrkView have = svtView(layer);
00060   return have.contains(need);
00061 }

virtual bool TrkHotListEmpty::hitCapable  )  const [virtual]
 

Implements TrkHotList.

bool TrkHotListEmpty::hitCapable  )  const [virtual]
 

Implements TrkHotList.

00209 {
00210   return false;
00211 }

virtual std::vector<TrkHitOnTrk*>& TrkHotListEmpty::hotlist  )  [protected, virtual]
 

Implements TrkHotList.

virtual const std::vector<TrkHitOnTrk*>& TrkHotListEmpty::hotlist  )  const [protected, virtual]
 

Implements TrkHotList.

std::vector< TrkHitOnTrk * > & TrkHotListEmpty::hotlist  )  [protected, virtual]
 

Implements TrkHotList.

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.

00176 {
00177   static const std::vector<TrkHitOnTrk*> dummy;
00178   assert(dummy.empty());
00179   return dummy;
00180 
00181 }

virtual bool TrkHotListEmpty::isActive unsigned  ihot  )  const [virtual]
 

Implements TrkHotList.

bool TrkHotListEmpty::isActive unsigned  ihot  )  const [virtual]
 

Implements TrkHotList.

00238                                              {
00239   std::vector<unsigned>::const_iterator ifound =
00240     std::find(_inactive.begin(),_inactive.end(),ihot);
00241   return ifound == _inactive.end();
00242 }

virtual unsigned TrkHotListEmpty::lastMdcLayer  )  const [virtual]
 

Implements TrkHotList.

unsigned TrkHotListEmpty::lastMdcLayer  )  const [virtual]
 

Implements TrkHotList.

00233 {
00234   return _lastmdc;
00235 }

virtual int TrkHotListEmpty::nActive TrkEnums::TrkViewInfo  view = TrkEnums::bothView  )  const [virtual]
 

Implements TrkHotList.

int TrkHotListEmpty::nActive TrkEnums::TrkViewInfo  view = TrkEnums::bothView  )  const [virtual]
 

Implements TrkHotList.

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

virtual int TrkHotListEmpty::nHit TrkEnums::TrkViewInfo  view = TrkEnums::bothView  )  const [virtual]
 

Implements TrkHotList.

int TrkHotListEmpty::nHit TrkEnums::TrkViewInfo  view = TrkEnums::bothView  )  const [virtual]
 

Implements TrkHotList.

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 }

virtual int TrkHotListEmpty::nMdc TrkEnums::TrkViewInfo  view = TrkEnums::bothView  )  const [virtual]
 

Implements TrkHotList.

int TrkHotListEmpty::nMdc TrkEnums::TrkViewInfo  view = TrkEnums::bothView  )  const [virtual]
 

Implements TrkHotList.

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 }

virtual int TrkHotListEmpty::nSvt TrkEnums::TrkViewInfo  view = TrkEnums::bothView  )  const [virtual]
 

Implements TrkHotList.

int TrkHotListEmpty::nSvt TrkEnums::TrkViewInfo  view = TrkEnums::bothView  )  const [virtual]
 

Implements TrkHotList.

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.

TrkHotListEmpty & TrkHotListEmpty::operator= const TrkHotList  ) 
 

Reimplemented from TrkHotList.

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::print std::ostream o  )  const [inherited]
 

00032 {
00033   o << " hitCapable: " << (hitCapable()?"yes":"no")
00034     << " nActive: " << nActive()
00035     << " nHit: " << nHit()
00036     << " startFoundRange: " <<startFoundRange()
00037     << " endFoundRange: " << endFoundRange();
00038 }

void TrkHotList::printAll std::ostream o  )  const [inherited]
 

void TrkHotList::printAll std::ostream o  )  const [inherited]
 

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 }

virtual void TrkHotListEmpty::remove TrkHitOnTrk  )  [virtual]
 

Implements TrkHotList.

void TrkHotListEmpty::remove TrkHitOnTrk  )  [virtual]
 

Implements TrkHotList.

00198 {
00199 }

virtual TrkHotList* TrkHotList::resetParent TrkBase::Functors::setParent   )  [virtual, inherited]
 

TrkHotList * TrkHotList::resetParent TrkBase::Functors::setParent   )  [virtual, inherited]
 

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

void TrkHotListEmpty::setInactive std::vector< unsigned > &  inactive  )  [inline, private]
 

00076                                                    {
00077     _inactive = inactive; }

void TrkHotListEmpty::setInactive std::vector< unsigned > &  inactive  )  [inline, private]
 

00076                                                    {
00077     _inactive = inactive; }

virtual void TrkHotList::sort  )  [virtual, inherited]
 

void TrkHotList::sort  )  [virtual, inherited]
 

00072 {
00073   std::sort(hotlist().begin(),
00074       hotlist().end(),
00075       bes::Collection::PtrLess());
00076 }

virtual double TrkHotListEmpty::startFoundRange  )  const [virtual]
 

Implements TrkHotList.

double TrkHotListEmpty::startFoundRange  )  const [virtual]
 

Implements TrkHotList.

00163 {
00164   return _stFndRng;
00165 }

virtual TrkView TrkHotListEmpty::svtView int  layer  )  const [virtual]
 

Implements TrkHotList.

TrkView TrkHotListEmpty::svtView int  layer  )  const [virtual]
 

Implements TrkHotList.

00221 {
00222   return (ilay>=1 && ilay<=5)?_svtpat[ilay-1]:TrkView(TrkEnums::noView);
00223 }

virtual void TrkHotListEmpty::updateHots  )  [virtual]
 

Implements TrkHotList.

void TrkHotListEmpty::updateHots  )  [virtual]
 

Implements TrkHotList.

00215 {
00216   return;
00217 }


Friends And Related Function Documentation

const_iterator_traits [friend, inherited]
 

iterator_traits [friend, inherited]
 

KalMiniTrkK [friend]
 


Member Data Documentation

double TrkHotListEmpty::_endFndRng [private]
 

unsigned TrkHotListEmpty::_firstmdc [private]
 

std::vector<unsigned> TrkHotListEmpty::_inactive [private]
 

std::vector<unsigned> TrkHotListEmpty::_inactive [private]
 

unsigned TrkHotListEmpty::_lastmdc [private]
 

unsigned TrkHotListEmpty::_nAxial [private]
 

unsigned TrkHotListEmpty::_nPhi [private]
 

unsigned TrkHotListEmpty::_nStereo [private]
 

unsigned TrkHotListEmpty::_nZ [private]
 

double TrkHotListEmpty::_stFndRng [private]
 

TrkView TrkHotListEmpty::_svtpat [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:08:15 2011 for BOSS6.5.5 by  doxygen 1.3.9.1