TrkHelixMaker Class Reference

#include <TrkHelixMaker.h>

Inheritance diagram for TrkHelixMaker:

TrkSimpleMaker< TrkHelixRep > TrkFitMaker List of all members.

Public Member Functions

 TrkHelixMaker ()
virtual ~TrkHelixMaker ()
void addZValues (TrkRecoTrk &theTrack, double z0, double tanDip, double chi2)
virtual void changeFit (TrkRecoTrk &theTrack) const
TrkRecoTrkmakeTrack (const TrkExchangePar &helix, const double chi2, const TrkContext &, double trackT0) const
bool setFlipAndDrop (TrkRecoTrk &, bool allowFlips, bool allowDrops) const
void setValidRange (TrkRecoTrk &track, double newLo, double newHi) const
void setValues (TrkRecoTrk &theTrack, const TrkExchangePar &newPars, double chi2) const
void changeDefault (TrkRecoTrk &, PdtPid::PidType) const

Protected Member Functions

TrkRepmakeRep (TrkRecoTrk &theTrack) const
std::pair< TrkRepIter, TrkRepIteruniqueReps (const TrkRecoTrk &t) const
void setRep (TrkRecoTrk &, TrkRep *) const
void repointHypo (TrkRecoTrk &, PdtPid::PidType hypo, PdtPid::PidType fit) const
void setFitNumber (TrkRecoTrk &, PdtPid::PidType, int) const
std::pair< TrkRepIter, TrkRepIterallReps (const TrkRecoTrk &t) const
TrkRepgetRep (TrkRecoTrk &, PdtPid::PidType) const
void addHypoTo (TrkRecoTrk &, TrkRep *, PdtPid::PidType hypo) const
TrkRecoTrkcreateTrack (PdtPid::PidType, const TrkContext &, double t0) const
TrkRecoTrkcreateTrack (PdtPid::PidType, long idnum, double t0) const
void setIdManager (TrkRecoTrk &, TrkIdManager *) const
void setBField (TrkRecoTrk &, const BField *) const

Private Member Functions

TrkHelixMakeroperator= (const TrkHelixMaker &)
 TrkHelixMaker (const TrkHelixMaker &)

Friends

class KalMiniTrkK
class KalMiniRX
class KalFit

Detailed Description

Definition at line 25 of file TrkHelixMaker.h.


Constructor & Destructor Documentation

TrkHelixMaker::TrkHelixMaker (  ) 

Definition at line 24 of file TrkHelixMaker.cxx.

00024 {}

TrkHelixMaker::~TrkHelixMaker (  )  [virtual]

Definition at line 20 of file TrkHelixMaker.cxx.

00020 {}

TrkHelixMaker::TrkHelixMaker ( const TrkHelixMaker  )  [private]


Member Function Documentation

void TrkFitMaker::addHypoTo ( TrkRecoTrk ,
TrkRep ,
PdtPid::PidType  hypo 
) const [protected, inherited]

Definition at line 80 of file TrkFitMaker.cxx.

References TrkRecoTrk::addHypoTo().

00081 {
00082   trk.addHypoTo(newRep, hypo);
00083 }

void TrkHelixMaker::addZValues ( TrkRecoTrk theTrack,
double  z0,
double  tanDip,
double  chi2 
)

Definition at line 29 of file TrkHelixMaker.cxx.

References TrkRecoTrk::defaultType(), TrkRecoTrk::fitResult(), TrkSimpleRep::fitter(), TrkFitMaker::getRep(), TrkFit::helix(), TrkRep::hotList(), TrkSimpleRep::setChisq(), TrkFitStatus::setCurrent(), TrkHelixFitter::setFittingPar(), TrkFitMaker::setRep(), TrkExchangePar::setTanDip(), TrkFitStatus::setValid(), and TrkExchangePar::setZ0().

Referenced by MdcSegGrouperSt::storePar().

00031 {
00032   PdtPid::PidType hypo = theTrack.defaultType();
00033 //  const TrkRep* defrep = getRep(theTrack,hypo);
00034 //  const TrkHotList *hl = defrep->hotList();//yzhang delete
00035   TrkRep* defrep = getRep(theTrack,hypo);
00036   TrkHotList *hl = defrep->hotList();//yzhang temp
00037   const TrkFit* theFit = theTrack.fitResult();
00038   if (theFit == 0) {
00039     std::cout<<"ErrMsg(error)"
00040       << "TrkSimpleMaker::addZValues() cannot get helix from invalid fit."
00041       << std::endl;
00042     return;
00043   }
00044 
00045   TrkExchangePar oldPar = theFit->helix(0.0);
00046   oldPar.setZ0(z0);
00047   oldPar.setTanDip(tanDip);
00048   /*
00049   std::cout << "#########################before newHelix" << std::endl;//yzhang debug
00050   std::cout << "track--------- " << std::endl;//yzhang debug
00051   theTrack.printAll(std::cout);//track
00052   std::cout << "rep of track--------- " << std::endl;//yzhang debug
00053   getRep(theTrack,hypo)->printAll(std::cout);//track Rep
00054   std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
00055   hl->printAll(std::cout);//Circle Rep 's hotList
00056     */
00057   
00058   TrkHelixRep* newRep = new TrkHelixRep(oldPar, &theTrack, hypo, hl);
00059 /*     
00060   std::cout << "#########################after new helix before setRep" << std::endl;//yzhang debug
00061   std::cout << "track--------- " << std::endl;//yzhang debug
00062   theTrack.printAll(std::cout);//track
00063   std::cout << "rep of track--------- " << std::endl;//yzhang debug
00064   std::cout <<newRep->hotList()<<std::endl;
00065   std::cout << "circle hotlist --------- " << std::endl;//yzhang debug
00066   std::cout <<hl<<std::endl;
00067   std::cout << "helix hotlist --------- " << std::endl;//yzhang debug
00068   getRep(theTrack,hypo)->printAll(std::cout);//track Rep
00069   std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
00070   hl->printAll(std::cout);//Circle Rep 's hotList
00071   std::cout << "helix rep's hotlist--------- " << std::endl;//yzhang debug
00072   newRep->hotList()->printAll(std::cout);//Helix Rep's hotList
00073   */
00074   
00075   newRep->fitter().setFittingPar(false, false);
00076   setRep(theTrack, newRep);   // theTrack will delete all old Reps
00077 
00078  /* 
00079   std::cout << "#########################after setRep" << std::endl;//yzhang debug
00080   std::cout << "track--------- " << std::endl;//yzhang debug 
00081   theTrack.printAll(std::cout);//track
00082   std::cout << "rep of track--------- " << std::endl;//yzhang debug
00083   getRep(theTrack,hypo)->printAll(std::cout);//track Rep
00084   //std::cout << "circle rep--------- " << std::endl;//yzhang debug
00085   //defrep->printAll(std::cout);
00086   //std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
00087   //hl->printAll(std::cout);//Circle Rep 's hotList
00088   std::cout << "helix rep's hotlist--------- " << std::endl;//yzhang debug
00089   newRep->hotList()->printAll(std::cout);//Helix Rep's hotList
00090   
00091   std::cout << "######################### " << std::endl;//yzhang debug
00092     
00093  */
00094   newRep->setChisq(chi2);
00095   if (chi2 > 0.0) newRep->setValid(true);
00096   newRep->setCurrent(false);
00097 }

std::pair< TrkRepIter, TrkRepIter > TrkFitMaker::allReps ( const TrkRecoTrk t  )  const [protected, inherited]

Definition at line 30 of file TrkFitMaker.cxx.

References t().

00031 {
00032         return t.allReps();
00033 }

void TrkFitMaker::changeDefault ( TrkRecoTrk ,
PdtPid::PidType   
) const [inherited]

Definition at line 62 of file TrkFitMaker.cxx.

References t().

00063 {
00064   t.changeDefault(h);
00065 }

virtual void TrkSimpleMaker< TrkHelixRep >::changeFit ( TrkRecoTrk theTrack  )  const [virtual, inherited]

TrkRecoTrk * TrkFitMaker::createTrack ( PdtPid::PidType  ,
long  idnum,
double  t0 
) const [protected, inherited]

Definition at line 55 of file TrkFitMaker.cxx.

00057 {
00058   return new TrkRecoTrk(hypo, idnum, t0);
00059 }

TrkRecoTrk * TrkFitMaker::createTrack ( PdtPid::PidType  ,
const TrkContext ,
double  t0 
) const [protected, inherited]

Definition at line 48 of file TrkFitMaker.cxx.

00050 {
00051   return new TrkRecoTrk(hypo, tc, t0);
00052 }

TrkRep * TrkFitMaker::getRep ( TrkRecoTrk ,
PdtPid::PidType   
) const [protected, inherited]

Definition at line 42 of file TrkFitMaker.cxx.

References t().

Referenced by addZValues().

00043 {
00044   return t.getRep(h);
00045 }

TrkRep* TrkHelixMaker::makeRep ( TrkRecoTrk theTrack  )  const [protected]

TrkRecoTrk* TrkSimpleMaker< TrkHelixRep >::makeTrack ( const TrkExchangePar helix,
const double  chi2,
const TrkContext ,
double  trackT0 
) const [inherited]

TrkHelixMaker& TrkHelixMaker::operator= ( const TrkHelixMaker  )  [private]

void TrkFitMaker::repointHypo ( TrkRecoTrk ,
PdtPid::PidType  hypo,
PdtPid::PidType  fit 
) const [protected, inherited]

Definition at line 68 of file TrkFitMaker.cxx.

References t().

00069 {
00070   t.repointHypo(h, f);
00071 }

void TrkFitMaker::setBField ( TrkRecoTrk ,
const BField  
) const [protected, inherited]

Definition at line 92 of file TrkFitMaker.cxx.

References TrkRecoTrk::setBField().

00093 {
00094   trk.setBField(field);
00095 }

void TrkFitMaker::setFitNumber ( TrkRecoTrk ,
PdtPid::PidType  ,
int   
) const [protected, inherited]

Definition at line 74 of file TrkFitMaker.cxx.

References t().

00075 {
00076   t.setFitNumber(hypo, newNum);
00077 }

bool TrkSimpleMaker< TrkHelixRep >::setFlipAndDrop ( TrkRecoTrk ,
bool  allowFlips,
bool  allowDrops 
) const [inherited]

void TrkFitMaker::setIdManager ( TrkRecoTrk ,
TrkIdManager  
) const [protected, inherited]

Definition at line 86 of file TrkFitMaker.cxx.

References TrkRecoTrk::setIdManager().

00087 {
00088   trk.setIdManager(idMan);
00089 }

void TrkFitMaker::setRep ( TrkRecoTrk ,
TrkRep  
) const [protected, inherited]

Definition at line 36 of file TrkFitMaker.cxx.

References TrkRecoTrk::setRep().

Referenced by addZValues().

00037 {
00038   trk.setRep(r);
00039 }

void TrkSimpleMaker< TrkHelixRep >::setValidRange ( TrkRecoTrk track,
double  newLo,
double  newHi 
) const [inherited]

void TrkSimpleMaker< TrkHelixRep >::setValues ( TrkRecoTrk theTrack,
const TrkExchangePar newPars,
double  chi2 
) const [inherited]

std::pair< TrkRepIter, TrkRepIter > TrkFitMaker::uniqueReps ( const TrkRecoTrk t  )  const [protected, inherited]

Definition at line 24 of file TrkFitMaker.cxx.

References t().

00025 {
00026         return t.uniqueReps();
00027 }


Friends And Related Function Documentation

friend class KalFit [friend, inherited]

Definition at line 73 of file TrkFitMaker.h.

friend class KalMiniRX [friend, inherited]

Definition at line 72 of file TrkFitMaker.h.

friend class KalMiniTrkK [friend, inherited]

Definition at line 71 of file TrkFitMaker.h.


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