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

TrkFundHit Class Reference

#include <TrkFundHit.h>

Inheritance diagram for TrkFundHit:

ContainedObject ContainedObject MdcHit MdcHit List of all members.

Public Types

typedef TrkHitOnTrkIter< TrkFundHithot_iterator
typedef TrkHitOnTrkIter< TrkFundHithot_iterator

Public Member Functions

TrkFundHit::hot_iterator begin () const
TrkFundHit::hot_iterator begin () const
TrkFundHit::hot_iterator end () const
TrkFundHit::hot_iterator end () const
const TrkHitOnTrkgetHitOnTrack (const TrkRecoTrk *trk) const
const TrkHitOnTrkgetHitOnTrack (const TrkRecoTrk *trk) const
std::pair< TrkFundHit::hot_iterator,
TrkFundHit::hot_iterator
getUsedHits () const
std::pair< TrkFundHit::hot_iterator,
TrkFundHit::hot_iterator
getUsedHits () const
int nUsedHits () const
int nUsedHits () const
virtual void printAll (std::ostream &os) const
virtual void printAll (std::ostream &os) const
const TrkHitOnTrksetUnusedHit (const TrkHitOnTrk *hit)
const TrkHitOnTrksetUnusedHit (const TrkHitOnTrk *hit)
const TrkHitOnTrksetUsedHit (const TrkHitOnTrk *hit)
const TrkHitOnTrksetUsedHit (const TrkHitOnTrk *hit)
 TrkFundHit ()
 TrkFundHit ()
bool usedHit (void) const
bool usedHit (void) const
bool usedOnTrack (const TrkRecoTrk *t) const
bool usedOnTrack (const TrkRecoTrk *t) const
virtual TrkEnums::TrkViewInfo whatView () const =0
virtual TrkEnums::TrkViewInfo whatView () const =0
virtual ~TrkFundHit ()
virtual ~TrkFundHit ()

Protected Types

typedef std::vector< const
TrkHitOnTrk * >::iterator 
iterator_implementation
typedef std::vector< const
TrkHitOnTrk * >::iterator 
iterator_implementation
typedef const TrkHitOnTrk iterator_value_type
typedef const TrkHitOnTrk iterator_value_type

Protected Member Functions

TrkFundHitoperator= (const TrkFundHit &)
TrkFundHitoperator= (const TrkFundHit &)

Protected Attributes

std::vector< const TrkHitOnTrk * > _hitList
std::vector< const TrkHitOnTrk * > _hitList

Private Member Functions

 TrkFundHit (const TrkFundHit &)
 TrkFundHit (const TrkFundHit &)

Friends

class TrkHitOnTrkIter<TrkFundHit>

Member Typedef Documentation

typedef TrkHitOnTrkIter<TrkFundHit> TrkFundHit::hot_iterator
 

typedef TrkHitOnTrkIter<TrkFundHit> TrkFundHit::hot_iterator
 

typedef std::vector<const TrkHitOnTrk*>::iterator TrkFundHit::iterator_implementation [protected]
 

typedef std::vector<const TrkHitOnTrk*>::iterator TrkFundHit::iterator_implementation [protected]
 

typedef const TrkHitOnTrk TrkFundHit::iterator_value_type [protected]
 

typedef const TrkHitOnTrk TrkFundHit::iterator_value_type [protected]
 


Constructor & Destructor Documentation

TrkFundHit::TrkFundHit  )  [inline]
 

00050 {;}

TrkFundHit::~TrkFundHit  )  [virtual]
 

00033 {
00034   // hitlist cleanup done in derived classes
00035 }

TrkFundHit::TrkFundHit const TrkFundHit  )  [private]
 

00038 {
00039   assert(_hitList.empty());
00040 }

TrkFundHit::TrkFundHit  )  [inline]
 

00050 {;}

virtual TrkFundHit::~TrkFundHit  )  [virtual]
 

TrkFundHit::TrkFundHit const TrkFundHit  )  [private]
 


Member Function Documentation

TrkFundHit::hot_iterator TrkFundHit::begin  )  const [inline]
 

TrkFundHit::hot_iterator TrkFundHit::begin  )  const [inline]
 

00114 {
00115         return TrkFundHit::hot_iterator(const_cast<std::vector<const TrkHitOnTrk*>&>(_hitList).begin());
00116 }

TrkFundHit::hot_iterator TrkFundHit::end  )  const [inline]
 

TrkFundHit::hot_iterator TrkFundHit::end  )  const [inline]
 

00120 {
00121         return TrkFundHit::hot_iterator(const_cast<std::vector<const TrkHitOnTrk*>&>(_hitList).end());
00122 }

const TrkHitOnTrk* TrkFundHit::getHitOnTrack const TrkRecoTrk trk  )  const
 

const TrkHitOnTrk * TrkFundHit::getHitOnTrack const TrkRecoTrk trk  )  const
 

00087 {
00088   hot_iterator i = std::find_if(begin(), end(),
00089                                 std::bind2nd(TrkBase::Predicates::isHotOnTrack(),trk));
00090   return (i==end()?0:i.get());
00091 }

std::pair<TrkFundHit::hot_iterator, TrkFundHit::hot_iterator > TrkFundHit::getUsedHits  )  const [inline]
 

00060                                                          {
00061         return std::pair<TrkFundHit::hot_iterator,TrkFundHit::hot_iterator >(begin(),end());
00062   }

std::pair<TrkFundHit::hot_iterator, TrkFundHit::hot_iterator > TrkFundHit::getUsedHits  )  const [inline]
 

00060                                                          {
00061         return std::pair<TrkFundHit::hot_iterator,TrkFundHit::hot_iterator >(begin(),end());
00062   }

int TrkFundHit::nUsedHits  )  const
 

int TrkFundHit::nUsedHits  )  const
 

00081 {
00082   return _hitList.size();
00083 }

TrkFundHit& TrkFundHit::operator= const TrkFundHit  )  [protected]
 

TrkFundHit & TrkFundHit::operator= const TrkFundHit  )  [protected]
 

00044 {
00045   assert(_hitList.empty()); 
00046   return *this;
00047 }

virtual void TrkFundHit::printAll std::ostream os  )  const [virtual]
 

Reimplemented in MdcHit, and MdcHit.

void TrkFundHit::printAll std::ostream os  )  const [virtual]
 

Reimplemented in MdcHit, and MdcHit.

00095 {
00096 //  print(os);                            // Call through to get subclass info
00097   os << " used by " << nUsedHits() << " HOTs" << endl;
00098   if (usedHit()) {
00099     for (hot_iterator i=begin(); i != end(); ++i) {
00100         i->printAll(os);//yzhang debug 
00101 //      os << "\ttrack " << i->parentTrack()->id() << ": ";
00102 //      i->print(os);                // NOTE:  includes endl!
00103       //yzhang debug
00104       std::cout << " parentTrack" << std::endl;//yzhang debug
00105       i->parentTrack()->printAll(std::cout);
00106       //zhangy debug
00107     }
00108     os << endl;
00109   }
00110 }

const TrkHitOnTrk* TrkFundHit::setUnusedHit const TrkHitOnTrk hit  ) 
 

const TrkHitOnTrk * TrkFundHit::setUnusedHit const TrkHitOnTrk hit  ) 
 

00068 {
00069   if (_hitList.empty()) return 0;
00070   std::vector<const TrkHitOnTrk*>::iterator i=std::find(_hitList.begin(),_hitList.end(),hit);
00071   if (i==_hitList.end()) return 0;
00072   assert(*i==hit);
00073 //  std::cout << "TrkFundHit setUnusedHit "<<((MdcHit*)(hit->hit()))->layernumber()<<" "<<((MdcHit*)(hit->hit()))->wirenumber()<<endl;
00074 //this->printAll(std::cout);//yzhang debug
00075   _hitList.erase(i);
00076   return hit;
00077 }

const TrkHitOnTrk* TrkFundHit::setUsedHit const TrkHitOnTrk hit  ) 
 

const TrkHitOnTrk * TrkFundHit::setUsedHit const TrkHitOnTrk hit  ) 
 

00051 {
00052   //  if (hitList->contains(hit)) {
00053   //    return;
00054   //  }
00055   //FIXME: check hot corresponds to this hit??
00056 //      std::cout << "TrkFundHit setUsedHit "<<((MdcHit*)(hit->hit()))->layernumber()<<" "<<((MdcHit*)(hit->hit()))->wirenumber()<<endl;
00057 //      this->printAll(std::cout);//yzhang debug
00058   _hitList.push_back(hit);
00059 //        std::cout << "after push_bak " << std::endl;//yzhang debug
00060 //        printAll(std::cout);//yzhang debug
00061           
00062   return hit;
00063 }

bool TrkFundHit::usedHit void   )  const [inline]
 

00057 {return !_hitList.empty();}

bool TrkFundHit::usedHit void   )  const [inline]
 

00057 {return !_hitList.empty();}

bool TrkFundHit::usedOnTrack const TrkRecoTrk t  )  const [inline]
 

00067 {return getHitOnTrack(t) != 0;}

bool TrkFundHit::usedOnTrack const TrkRecoTrk t  )  const [inline]
 

00067 {return getHitOnTrack(t) != 0;}

virtual TrkEnums::TrkViewInfo TrkFundHit::whatView  )  const [pure virtual]
 

Implemented in MdcHit, and MdcHit.

virtual TrkEnums::TrkViewInfo TrkFundHit::whatView  )  const [pure virtual]
 

Implemented in MdcHit, and MdcHit.


Friends And Related Function Documentation

TrkHitOnTrkIter<TrkFundHit> [friend]
 


Member Data Documentation

std::vector<const TrkHitOnTrk*> TrkFundHit::_hitList [protected]
 

std::vector<const TrkHitOnTrk*> TrkFundHit::_hitList [protected]
 


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