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

TrkExpectedHotSet Class Reference

#include <TrkExpectedHotSet.h>

List of all members.

Public Member Functions

bool addInfo (TrkExpectedHot *aHot, const TrkFitTypeKey &key)
bool addInfo (TrkExpectedHot *aHot, const TrkFitTypeKey &key)
const TrkDetElemIdelemId () const
const TrkDetElemIdelemId () const
const TrkExpectedHotexHot () const
const TrkExpectedHotexHot (const TrkFitTypeKey &key) const
const TrkExpectedHotexHot () const
const TrkExpectedHotexHot (const TrkFitTypeKey &key) const
const TrkExpectedTrkexTrk () const
const TrkExpectedTrkexTrk () const
const std::vector< int > & fitTypeMap () const
const std::vector< int > & fitTypeMap () const
void getHots (std::vector< TrkHitOnTrk * > &hots) const
void getHots (std::vector< TrkHitOnTrk * > &hots) const
bool hasFitType (const TrkFitTypeKey &key) const
bool hasFitType (const TrkFitTypeKey &key) const
bool isMdc () const
bool isMdc () const
bool isSvt () const
bool isSvt () const
bool operator== (const TrkExpectedHotSet &rhs)
bool operator== (const TrkExpectedHotSet &rhs)
void printFit (const TrkFitTypeKey &key, std::ostream &os=std::cout) const
void printFit (const TrkFitTypeKey &key, std::ostream &os=std::cout) const
std::vector< TrkExpectedHot * > theHots () const
std::vector< TrkExpectedHot * > theHots () const
 TrkExpectedHotSet (const TrkDetElemId &elemId, const int &maxFits)
 TrkExpectedHotSet (const TrkDetElemId &elemId, const int &maxFits)
virtual ~TrkExpectedHotSet ()
virtual ~TrkExpectedHotSet ()

Protected Member Functions

void setExTrk (const TrkExpectedTrk *anExTrk)
void setExTrk (const TrkExpectedTrk *anExTrk)

Private Attributes

const TrkDetElemId _elemId
const TrkExpectedTrk_exTrk
const TrkExpectedTrk_exTrk
std::vector< int > _fitTypeMap
std::vector< int > _fitTypeMap
int _nFit
std::vector< TrkExpectedHot * > _theHots
std::vector< TrkExpectedHot * > _theHots

Friends

class TrkExpectedHotFactory
class TrkExpectedTrk


Constructor & Destructor Documentation

TrkExpectedHotSet::TrkExpectedHotSet const TrkDetElemId elemId,
const int &  maxFits
 

00066   :_elemId(elemId),
00067    _nFit(-1),
00068    _fitTypeMap(maxFits,-1),
00069    _exTrk(0)
00070 {
00071 }

TrkExpectedHotSet::~TrkExpectedHotSet  )  [virtual]
 

00077                                      {
00078   // owns the exHost
00079   const int iEx = _theHots.size();
00080   for ( int iKill(0); iKill < iEx; ++iKill ) {
00081     TrkExpectedHot* exHot = _theHots[iKill];
00082     delete exHot;
00083   }  
00084 }

TrkExpectedHotSet::TrkExpectedHotSet const TrkDetElemId elemId,
const int &  maxFits
 

virtual TrkExpectedHotSet::~TrkExpectedHotSet  )  [virtual]
 


Member Function Documentation

bool TrkExpectedHotSet::addInfo TrkExpectedHot aHot,
const TrkFitTypeKey key
 

bool TrkExpectedHotSet::addInfo TrkExpectedHot aHot,
const TrkFitTypeKey key
 

00141                                                        {
00142   if ( key.value() < 0 ) return false;
00143   if ( key.value() >= _fitTypeMap.size() ) return false;
00144   if ( aHot == 0 ) return false;
00145   const int test = _fitTypeMap[key.value()];
00146   if ( test != -1 ) {
00147     TrkExpectedHot* myHot = _theHots[test];
00148     if ( aHot->hasHot() ) { myHot->setHots(aHot); }
00149     delete aHot;
00150     return true;
00151   }
00152   ++_nFit;
00153   _fitTypeMap[key.value()] = _nFit;
00154   aHot->setExTrk(_exTrk);
00155   _theHots.push_back(aHot);
00156   return true;
00157 }

const TrkDetElemId& TrkExpectedHotSet::elemId  )  const [inline]
 

00056                                     { 
00057     return _elemId;
00058   };

const TrkDetElemId& TrkExpectedHotSet::elemId  )  const [inline]
 

00056                                     { 
00057     return _elemId;
00058   };

const TrkExpectedHot* TrkExpectedHotSet::exHot  )  const
 

const TrkExpectedHot* TrkExpectedHotSet::exHot const TrkFitTypeKey key  )  const
 

const TrkExpectedHot * TrkExpectedHotSet::exHot  )  const
 

00102                                {
00103   return _nFit < 0 ? 0 : _theHots[0];
00104 }

const TrkExpectedHot * TrkExpectedHotSet::exHot const TrkFitTypeKey key  )  const
 

00095                                                         {
00096   if ( key.value() < 0 || key.value() >= _fitTypeMap.size() ) return 0;
00097   const int index = _fitTypeMap[key.value()];
00098   return index < 0 ? 0 : _theHots[index];
00099 }

const TrkExpectedTrk* TrkExpectedHotSet::exTrk  )  const [inline]
 

00085 { return _exTrk; }

const TrkExpectedTrk* TrkExpectedHotSet::exTrk  )  const [inline]
 

00085 { return _exTrk; }

const std::vector<int>& TrkExpectedHotSet::fitTypeMap  )  const [inline]
 

00072 { return _fitTypeMap; }  

const std::vector<int>& TrkExpectedHotSet::fitTypeMap  )  const [inline]
 

00072 { return _fitTypeMap; }  

void TrkExpectedHotSet::getHots std::vector< TrkHitOnTrk * > &  hots  )  const
 

void TrkExpectedHotSet::getHots std::vector< TrkHitOnTrk * > &  hots  )  const
 

00107                                                                 {
00108   const TrkExpectedHot* anExHot(0);
00109   for ( int i(0); i < _theHots.size(); ++i ) {
00110     anExHot = _theHots[i];
00111     if ( anExHot->getHots(hots) ) break;
00112   }
00113 }

bool TrkExpectedHotSet::hasFitType const TrkFitTypeKey key  )  const
 

bool TrkExpectedHotSet::hasFitType const TrkFitTypeKey key  )  const
 

00116                                                              {
00117   return ( exHot(key) != 0 );  
00118 }

bool TrkExpectedHotSet::isMdc  )  const
 

bool TrkExpectedHotSet::isMdc  )  const
 

00175                                {
00176   return _elemId.sysInd() == TrkDetElemId::mdc;
00177 }

bool TrkExpectedHotSet::isSvt  )  const
 

bool TrkExpectedHotSet::isSvt  )  const
 

00170                                {
00171   return _elemId.sysInd() == TrkDetElemId::svt;
00172 }

bool TrkExpectedHotSet::operator== const TrkExpectedHotSet rhs  )  [inline]
 

00051                                                    {
00052     return this == &rhs;
00053   }

bool TrkExpectedHotSet::operator== const TrkExpectedHotSet rhs  )  [inline]
 

00051                                                    {
00052     return this == &rhs;
00053   }

void TrkExpectedHotSet::printFit const TrkFitTypeKey key,
std::ostream os = std::cout
const
 

void TrkExpectedHotSet::printFit const TrkFitTypeKey key,
std::ostream os = std::cout
const
 

00123                                                 {
00124   os << " Intersects element "; 
00125   _elemId.printAll(os);
00126   const TrkExpectedHot* theExHot = exHot(key);
00127   if ( theExHot == 0 ) {
00128     os << " _" << endl;
00129     return;
00130   }
00131   theExHot->printAll(os);
00132   os << endl;
00133 }

void TrkExpectedHotSet::setExTrk const TrkExpectedTrk anExTrk  )  [protected]
 

void TrkExpectedHotSet::setExTrk const TrkExpectedTrk anExTrk  )  [protected]
 

00160                                                            {
00161   _exTrk = anExTrk;
00162   const int nHot = _theHots.size();
00163   for ( int iHot(0); iHot < nHot; ++iHot ) {
00164     TrkExpectedHot* aHot = _theHots[iHot];
00165     aHot->setExTrk(_exTrk);
00166   }
00167 }

std::vector<TrkExpectedHot*> TrkExpectedHotSet::theHots  )  const [inline]
 

00073 { return _theHots; }

std::vector<TrkExpectedHot*> TrkExpectedHotSet::theHots  )  const [inline]
 

00073 { return _theHots; }


Friends And Related Function Documentation

TrkExpectedHotFactory [friend]
 

TrkExpectedTrk [friend]
 


Member Data Documentation

const TrkDetElemId TrkExpectedHotSet::_elemId [private]
 

const TrkExpectedTrk* TrkExpectedHotSet::_exTrk [private]
 

const TrkExpectedTrk* TrkExpectedHotSet::_exTrk [private]
 

std::vector<int> TrkExpectedHotSet::_fitTypeMap [private]
 

std::vector<int> TrkExpectedHotSet::_fitTypeMap [private]
 

int TrkExpectedHotSet::_nFit [private]
 

std::vector<TrkExpectedHot*> TrkExpectedHotSet::_theHots [private]
 

std::vector<TrkExpectedHot*> TrkExpectedHotSet::_theHots [private]
 


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