#include <TrkHelixMaker.h>
Inheritance diagram for TrkHelixMaker:
Public Member Functions | |
TrkHelixMaker () | |
virtual | ~TrkHelixMaker () |
void | addZValues (TrkRecoTrk &theTrack, double z0, double tanDip, double chi2) |
virtual void | changeFit (TrkRecoTrk &theTrack) const |
TrkRecoTrk * | makeTrack (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 | |
TrkRep * | makeRep (TrkRecoTrk &theTrack) const |
std::pair< TrkRepIter, TrkRepIter > | uniqueReps (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, TrkRepIter > | allReps (const TrkRecoTrk &t) const |
TrkRep * | getRep (TrkRecoTrk &, PdtPid::PidType) const |
void | addHypoTo (TrkRecoTrk &, TrkRep *, PdtPid::PidType hypo) const |
TrkRecoTrk * | createTrack (PdtPid::PidType, const TrkContext &, double t0) const |
TrkRecoTrk * | createTrack (PdtPid::PidType, long idnum, double t0) const |
void | setIdManager (TrkRecoTrk &, TrkIdManager *) const |
void | setBField (TrkRecoTrk &, const BField *) const |
Private Member Functions | |
TrkHelixMaker & | operator= (const TrkHelixMaker &) |
TrkHelixMaker (const TrkHelixMaker &) | |
Friends | |
class | KalMiniTrkK |
class | KalMiniRX |
class | KalFit |
Definition at line 25 of file TrkHelixMaker.h.
TrkHelixMaker::TrkHelixMaker | ( | ) |
TrkHelixMaker::~TrkHelixMaker | ( | ) | [virtual] |
TrkHelixMaker::TrkHelixMaker | ( | const TrkHelixMaker & | ) | [private] |
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 }
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.