BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkHelixMaker.cxx
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: TrkHelixMaker.cxx,v 1.1.1.1 2005/04/21 06:26:56 maqm Exp $
4//
5// Description:
6//
7// Environment:
8// Software developed for the BaBar Detector at the SLAC B-Factory.
9//
10// Authors: Steve Schaffner
11//
12//------------------------------------------------------------------------
13#include "TrkFitter/TrkHelixMaker.h"
14#include "TrkBase/TrkExchangePar.h"
15#include "TrkBase/TrkHitOnTrk.h"
16#include "TrkBase/TrkRecoTrk.h"
17#include "TrkFitter/TrkHelixRep.h"
18
19//------------------------------------------------------------------------
21//------------------------------------------------------------------------
22
23//------------------------------------------------------------------------
25//------------------------------------------------------------------------
26
27void TrkHelixMaker::addZValues( TrkRecoTrk& theTrack, double z0, double tanDip, double chi2 ) {
28 PdtPid::PidType hypo = theTrack.defaultType();
29 // const TrkRep* defrep = getRep(theTrack,hypo);
30 // const TrkHotList *hl = defrep->hotList();//yzhang delete
31 TrkRep* defrep = getRep( theTrack, hypo );
32 TrkHotList* hl = defrep->hotList(); // yzhang temp
33 const TrkFit* theFit = theTrack.fitResult();
34 if ( theFit == 0 )
35 {
36 std::cout << "ErrMsg(error)"
37 << "TrkSimpleMaker::addZValues() cannot get helix from invalid fit."
38 << std::endl;
39 return;
40 }
41
42 TrkExchangePar oldPar = theFit->helix( 0.0 );
43 oldPar.setZ0( z0 );
44 oldPar.setTanDip( tanDip );
45 /*
46 std::cout << "#########################before newHelix" << std::endl;//yzhang debug
47 std::cout << "track--------- " << std::endl;//yzhang debug
48 theTrack.printAll(std::cout);//track
49 std::cout << "rep of track--------- " << std::endl;//yzhang debug
50 getRep(theTrack,hypo)->printAll(std::cout);//track Rep
51 std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
52 hl->printAll(std::cout);//Circle Rep 's hotList
53 */
54
55 TrkHelixRep* newRep = new TrkHelixRep( oldPar, &theTrack, hypo, hl );
56 /*
57 std::cout << "#########################after new helix before setRep" << std::endl;//yzhang
58 debug std::cout << "track--------- " << std::endl;//yzhang debug
59 theTrack.printAll(std::cout);//track
60 std::cout << "rep of track--------- " << std::endl;//yzhang debug
61 std::cout <<newRep->hotList()<<std::endl;
62 std::cout << "circle hotlist --------- " << std::endl;//yzhang debug
63 std::cout <<hl<<std::endl;
64 std::cout << "helix hotlist --------- " << std::endl;//yzhang debug
65 getRep(theTrack,hypo)->printAll(std::cout);//track Rep
66 std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
67 hl->printAll(std::cout);//Circle Rep 's hotList
68 std::cout << "helix rep's hotlist--------- " << std::endl;//yzhang debug
69 newRep->hotList()->printAll(std::cout);//Helix Rep's hotList
70 */
71
72 newRep->fitter().setFittingPar( false, false );
73 setRep( theTrack, newRep ); // theTrack will delete all old Reps
74
75 /*
76 std::cout << "#########################after setRep" << std::endl;//yzhang debug
77 std::cout << "track--------- " << std::endl;//yzhang debug
78 theTrack.printAll(std::cout);//track
79 std::cout << "rep of track--------- " << std::endl;//yzhang debug
80 getRep(theTrack,hypo)->printAll(std::cout);//track Rep
81 //std::cout << "circle rep--------- " << std::endl;//yzhang debug
82 //defrep->printAll(std::cout);
83 //std::cout << "circle rep's hotlist--------- " << std::endl;//yzhang debug
84 //hl->printAll(std::cout);//Circle Rep 's hotList
85 std::cout << "helix rep's hotlist--------- " << std::endl;//yzhang debug
86 newRep->hotList()->printAll(std::cout);//Helix Rep's hotList
87
88 std::cout << "######################### " << std::endl;//yzhang debug
89
90 */
91 newRep->setChisq( chi2 );
92 if ( chi2 > 0.0 ) newRep->setValid( true );
93 newRep->setCurrent( false );
94}
TrkRep * getRep(TrkRecoTrk &, PdtPid::PidType) const
void setRep(TrkRecoTrk &, TrkRep *) const
void setValid(bool v)
virtual TrkExchangePar helix(double fltL) const =0
void setFittingPar(bool allowFlips, bool allowDrops)
void addZValues(TrkRecoTrk &theTrack, double z0, double tanDip, double chi2)
virtual ~TrkHelixMaker()
const TrkFit * fitResult() const
void setChisq(double c)