BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkHelixMaker Class Reference

#include <TrkHelixMaker.h>

+ Inheritance diagram for TrkHelixMaker:

Public Member Functions

 TrkHelixMaker ()
 
virtual ~TrkHelixMaker ()
 
void addZValues (TrkRecoTrk &theTrack, double z0, double tanDip, double chi2)
 
- Public Member Functions inherited from TrkSimpleMaker< TrkHelixRep >
 TrkSimpleMaker ()
 
virtual ~TrkSimpleMaker ()
 
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
 
- Public Member Functions inherited from TrkFitMaker
virtual ~TrkFitMaker ()
 
void changeDefault (TrkRecoTrk &, PdtPid::PidType) const
 

Protected Member Functions

TrkRepmakeRep (TrkRecoTrk &theTrack) const
 
- Protected Member Functions inherited from TrkFitMaker
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
 

Detailed Description

Definition at line 25 of file TrkHelixMaker.h.

Constructor & Destructor Documentation

◆ TrkHelixMaker()

TrkHelixMaker::TrkHelixMaker ( )

Definition at line 24 of file TrkHelixMaker.cxx.

24{}

◆ ~TrkHelixMaker()

TrkHelixMaker::~TrkHelixMaker ( )
virtual

Definition at line 20 of file TrkHelixMaker.cxx.

20{}

Member Function Documentation

◆ addZValues()

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

Definition at line 29 of file TrkHelixMaker.cxx.

31{
32 PdtPid::PidType hypo = theTrack.defaultType();
33// const TrkRep* defrep = getRep(theTrack,hypo);
34// const TrkHotList *hl = defrep->hotList();//yzhang delete
35 TrkRep* defrep = getRep(theTrack,hypo);
36 TrkHotList *hl = defrep->hotList();//yzhang temp
37 const TrkFit* theFit = theTrack.fitResult();
38 if (theFit == 0) {
39 std::cout<<"ErrMsg(error)"
40 << "TrkSimpleMaker::addZValues() cannot get helix from invalid fit."
41 << std::endl;
42 return;
43 }
44
45 TrkExchangePar oldPar = theFit->helix(0.0);
46 oldPar.setZ0(z0);
47 oldPar.setTanDip(tanDip);
48 /*
49 std::cout << "#########################before newHelix" << std::endl;//yzhang debug
50 std::cout << "track--------- " << std::endl;//yzhang debug
51 theTrack.printAll(std::cout);//track
52 std::cout << "rep of track--------- " << std::endl;//yzhang debug
53 getRep(theTrack,hypo)->printAll(std::cout);//track Rep
54 std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
55 hl->printAll(std::cout);//Circle Rep 's hotList
56 */
57
58 TrkHelixRep* newRep = new TrkHelixRep(oldPar, &theTrack, hypo, hl);
59/*
60 std::cout << "#########################after new helix before setRep" << std::endl;//yzhang debug
61 std::cout << "track--------- " << std::endl;//yzhang debug
62 theTrack.printAll(std::cout);//track
63 std::cout << "rep of track--------- " << std::endl;//yzhang debug
64 std::cout <<newRep->hotList()<<std::endl;
65 std::cout << "circle hotlist --------- " << std::endl;//yzhang debug
66 std::cout <<hl<<std::endl;
67 std::cout << "helix hotlist --------- " << std::endl;//yzhang debug
68 getRep(theTrack,hypo)->printAll(std::cout);//track Rep
69 std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
70 hl->printAll(std::cout);//Circle Rep 's hotList
71 std::cout << "helix rep's hotlist--------- " << std::endl;//yzhang debug
72 newRep->hotList()->printAll(std::cout);//Helix Rep's hotList
73 */
74
75 newRep->fitter().setFittingPar(false, false);
76 setRep(theTrack, newRep); // theTrack will delete all old Reps
77
78 /*
79 std::cout << "#########################after setRep" << std::endl;//yzhang debug
80 std::cout << "track--------- " << std::endl;//yzhang debug
81 theTrack.printAll(std::cout);//track
82 std::cout << "rep of track--------- " << std::endl;//yzhang debug
83 getRep(theTrack,hypo)->printAll(std::cout);//track Rep
84 //std::cout << "circle rep--------- " << std::endl;//yzhang debug
85 //defrep->printAll(std::cout);
86 //std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
87 //hl->printAll(std::cout);//Circle Rep 's hotList
88 std::cout << "helix rep's hotlist--------- " << std::endl;//yzhang debug
89 newRep->hotList()->printAll(std::cout);//Helix Rep's hotList
90
91 std::cout << "######################### " << std::endl;//yzhang debug
92
93 */
94 newRep->setChisq(chi2);
95 if (chi2 > 0.0) newRep->setValid(true);
96 newRep->setCurrent(false);
97}
PidType
Definition PdtPid.h:11
void setZ0(double in)
void setTanDip(double in)
TrkRep * getRep(TrkRecoTrk &, PdtPid::PidType) const
void setRep(TrkRecoTrk &, TrkRep *) const
void setValid(bool v)
void setCurrent(bool c)
virtual TrkExchangePar helix(double fltL) const =0
void setFittingPar(bool allowFlips, bool allowDrops)
PdtPid::PidType defaultType() const
Definition TrkRecoTrk.h:78
const TrkFit * fitResult() const
virtual TrkHotList * hotList()
Definition TrkRep.h:109
void setChisq(double c)
TrkHelixFitter & fitter()

Referenced by MdcSegGrouperSt::storePar().

◆ makeRep()

TrkRep * TrkHelixMaker::makeRep ( TrkRecoTrk & theTrack) const
protected

The documentation for this class was generated from the following files: