#include <MdcAliRecTrk.h>
Public Member Functions | |
~MdcAliRecTrk () | |
void | setRecTrk (RecMdcTrackCol::iterator it_trk) |
void | setKalTrk (RecMdcKalTrackCol::iterator it_trk) |
int | getStat () const |
double | getDr () const |
double | getPhi0 () const |
double | getKappa () const |
double | getDz () const |
double | getTanLamda () const |
HepVector | getHelix () const |
HepSymMatrix | getHelixErr () const |
double | getPt () const |
double | getP () const |
double | getChisq () const |
int | getNHits () const |
MdcAliRecHit * | getRecHit (int index) const |
Private Attributes | |
double | m_dr |
double | m_phi0 |
double | m_kappa |
double | m_dz |
double | m_tanl |
HepVector | m_helix |
HepSymMatrix | m_helixerr |
double | m_pt |
double | m_p |
double | m_chisq |
int | m_stat |
int | m_nhits |
std::vector< MdcAliRecHit * > | m_rechit |
Static Private Attributes | |
static const double | m_df = 10.0 |
Definition at line 20 of file MdcAliRecTrk.h.
MdcAliRecTrk::~MdcAliRecTrk | ( | ) |
Definition at line 13 of file MdcAliRecTrk.cxx.
References genRecEmupikp::i, and m_rechit.
00013 { 00014 unsigned int i; 00015 for(i=0; i<m_rechit.size(); i++){ 00016 delete m_rechit[i]; 00017 } 00018 m_rechit.clear(); 00019 }
double MdcAliRecTrk::getChisq | ( | ) | const [inline] |
double MdcAliRecTrk::getDr | ( | ) | const [inline] |
double MdcAliRecTrk::getDz | ( | ) | const [inline] |
HepVector MdcAliRecTrk::getHelix | ( | ) | const [inline] |
Definition at line 32 of file MdcAliRecTrk.h.
References m_helix.
Referenced by MilleAlign::fillHist().
00032 { return m_helix; }
HepSymMatrix MdcAliRecTrk::getHelixErr | ( | ) | const [inline] |
Definition at line 33 of file MdcAliRecTrk.h.
References m_helixerr.
Referenced by MilleAlign::fillHist().
00033 { return m_helixerr; }
double MdcAliRecTrk::getKappa | ( | ) | const [inline] |
int MdcAliRecTrk::getNHits | ( | ) | const [inline] |
Definition at line 37 of file MdcAliRecTrk.h.
References m_nhits.
Referenced by ResiAlign::fillHist().
00037 { return m_nhits; }
double MdcAliRecTrk::getP | ( | ) | const [inline] |
double MdcAliRecTrk::getPhi0 | ( | ) | const [inline] |
double MdcAliRecTrk::getPt | ( | ) | const [inline] |
MdcAliRecHit* MdcAliRecTrk::getRecHit | ( | int | index | ) | const [inline] |
Definition at line 38 of file MdcAliRecTrk.h.
References m_rechit.
Referenced by ResiAlign::fillHist().
00038 { return m_rechit[index]; }
int MdcAliRecTrk::getStat | ( | void | ) | const [inline] |
Definition at line 26 of file MdcAliRecTrk.h.
References m_stat.
Referenced by ResiAlign::fillHist(), and MilleAlign::fillHist().
00026 {return m_stat;}
double MdcAliRecTrk::getTanLamda | ( | ) | const [inline] |
void MdcAliRecTrk::setKalTrk | ( | RecMdcKalTrackCol::iterator | it_trk | ) |
Definition at line 61 of file MdcAliRecTrk.cxx.
References Bes_Common::DEBUG, DstMdcKalTrack::electron, m_chisq, m_dr, m_dz, m_kappa, m_nhits, m_p, m_phi0, m_pt, m_rechit, m_stat, m_tanl, msgSvc(), DstMdcKalTrack::muon, MdcAliRecHit::setKalHit(), and DstMdcKalTrack::setPidType().
00061 { 00062 IMessageSvc *msgSvc; 00063 Gaudi::svcLocator()->service("MessageSvc", msgSvc); 00064 MsgStream log(msgSvc, "MdcAliRecTrk"); 00065 log << MSG::DEBUG << "MdcAliRecTrk::setKalTrk()" << endreq; 00066 00067 int m_pid = 1; 00068 if(0 == m_pid) RecMdcKalTrack::setPidType(RecMdcKalTrack::electron); 00069 else if(1 == m_pid) RecMdcKalTrack::setPidType(RecMdcKalTrack::muon); 00070 else RecMdcKalTrack::setPidType(RecMdcKalTrack::electron); 00071 00072 m_stat = 0; 00073 m_dr = (*it_trk)->dr(); 00074 m_phi0 = (*it_trk)->fi0(); 00075 m_kappa = (*it_trk)->kappa(); 00076 m_dz = (*it_trk)->dz(); 00077 m_tanl = (*it_trk)->tanl(); 00078 m_chisq = (*it_trk)->chi2(); 00079 00080 m_dr *= 10.0; // cm -> mm 00081 m_dz *= 10.0; // cm -> mm 00082 00083 m_pt = 1.0 / fabs(m_kappa); 00084 m_p = m_pt * sqrt( m_tanl * m_tanl + 1.0 ); 00085 00086 HelixSegRefVec gothelixsegs = (*it_trk)->getVecHelixSegs(); 00087 HelixSegRefVec::iterator it_hit = gothelixsegs.begin(); 00088 MdcAliRecHit* rechit; 00089 00090 int k = 0; 00091 for(; it_hit != gothelixsegs.end(); it_hit++){ 00092 rechit = new MdcAliRecHit(); 00093 rechit->setKalHit(it_hit); 00094 m_rechit.push_back(rechit); 00095 00096 k++; 00097 } 00098 m_nhits = k; 00099 }
void MdcAliRecTrk::setRecTrk | ( | RecMdcTrackCol::iterator | it_trk | ) |
Definition at line 21 of file MdcAliRecTrk.cxx.
References Bes_Common::DEBUG, m_chisq, m_df, m_dr, m_dz, m_helix, m_helixerr, m_kappa, m_nhits, m_p, m_phi0, m_pt, m_rechit, m_stat, m_tanl, msgSvc(), and MdcAliRecHit::setRecHit().
00021 { 00022 IMessageSvc *msgSvc; 00023 Gaudi::svcLocator()->service("MessageSvc", msgSvc); 00024 MsgStream log(msgSvc, "MdcAliRecTrk"); 00025 log << MSG::DEBUG << "MdcAliRecTrk::setRecTrk()" << endreq; 00026 00027 m_stat = (*it_trk)->stat(); 00028 m_dr = (*it_trk) -> helix(0); 00029 m_phi0 = (*it_trk) -> helix(1); 00030 m_kappa = (*it_trk) -> helix(2); 00031 m_dz = (*it_trk) -> helix(3); 00032 m_tanl = (*it_trk) -> helix(4); 00033 00034 m_helix = (*it_trk)->helix(); 00035 m_helixerr = (*it_trk)->err(); 00036 00037 m_chisq = (*it_trk) -> chi2(); 00038 m_nhits = (*it_trk) -> getNhits(); 00039 00040 m_dr *= m_df; // cm -> mm 00041 m_dz *= m_df; // cm -> mm 00042 00043 if(m_kappa < 0.01){ // no magnetic field 00044 m_pt = 0.0; 00045 m_p = 0.0; 00046 }else{ 00047 m_pt = 1.0 / m_kappa; 00048 m_p = m_pt * sqrt(m_tanl * m_tanl + 1.0); 00049 } 00050 00051 HitRefVec gothits = (*it_trk) -> getVecHits(); 00052 HitRefVec::iterator it_hit = gothits.begin(); 00053 MdcAliRecHit* rechit; 00054 for(; it_hit != gothits.end(); it_hit++){ 00055 rechit = new MdcAliRecHit(); 00056 rechit->setRecHit(it_hit); 00057 m_rechit.push_back(rechit); 00058 } 00059 }
double MdcAliRecTrk::m_chisq [private] |
Definition at line 50 of file MdcAliRecTrk.h.
Referenced by getChisq(), setKalTrk(), and setRecTrk().
const double MdcAliRecTrk::m_df = 10.0 [static, private] |
double MdcAliRecTrk::m_dr [private] |
double MdcAliRecTrk::m_dz [private] |
HepVector MdcAliRecTrk::m_helix [private] |
HepSymMatrix MdcAliRecTrk::m_helixerr [private] |
double MdcAliRecTrk::m_kappa [private] |
Definition at line 43 of file MdcAliRecTrk.h.
Referenced by getKappa(), setKalTrk(), and setRecTrk().
int MdcAliRecTrk::m_nhits [private] |
Definition at line 52 of file MdcAliRecTrk.h.
Referenced by getNHits(), setKalTrk(), and setRecTrk().
double MdcAliRecTrk::m_p [private] |
double MdcAliRecTrk::m_phi0 [private] |
Definition at line 42 of file MdcAliRecTrk.h.
Referenced by getPhi0(), setKalTrk(), and setRecTrk().
double MdcAliRecTrk::m_pt [private] |
std::vector<MdcAliRecHit*> MdcAliRecTrk::m_rechit [private] |
Definition at line 53 of file MdcAliRecTrk.h.
Referenced by getRecHit(), setKalTrk(), setRecTrk(), and ~MdcAliRecTrk().
int MdcAliRecTrk::m_stat [private] |
Definition at line 51 of file MdcAliRecTrk.h.
Referenced by getStat(), setKalTrk(), and setRecTrk().
double MdcAliRecTrk::m_tanl [private] |
Definition at line 45 of file MdcAliRecTrk.h.
Referenced by getTanLamda(), setKalTrk(), and setRecTrk().