/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/TrkFitter/TrkFitter-00-01-11/src/TrkHelixMaker.cxx

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkHelixMaker.cxx,v 1.1.1.1 2005/04/21 06:26:56 maqm Exp $
00004 //
00005 // Description:
00006 //
00007 // Environment:
00008 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00009 //
00010 // Authors: Steve Schaffner
00011 //
00012 //------------------------------------------------------------------------
00013 #include "TrkFitter/TrkHelixMaker.h"
00014 #include "TrkFitter/TrkHelixRep.h"
00015 #include "TrkBase/TrkRecoTrk.h"
00016 #include "TrkBase/TrkExchangePar.h"
00017 #include "TrkBase/TrkHitOnTrk.h"
00018 
00019 //------------------------------------------------------------------------
00020 TrkHelixMaker::~TrkHelixMaker() {}
00021 //------------------------------------------------------------------------
00022 
00023 //------------------------------------------------------------------------
00024 TrkHelixMaker::TrkHelixMaker() {}
00025 //------------------------------------------------------------------------
00026 
00027 
00028 void
00029 TrkHelixMaker::addZValues(TrkRecoTrk& theTrack, double z0,
00030                           double tanDip, double chi2)
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 }

Generated on Tue Nov 29 23:13:44 2016 for BOSS_7.0.2 by  doxygen 1.4.7