MdcAliRecTrk Class Reference

#include <MdcAliRecTrk.h>

List of all members.

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
MdcAliRecHitgetRecHit (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


Detailed Description

Definition at line 20 of file MdcAliRecTrk.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

double MdcAliRecTrk::getChisq (  )  const [inline]

Definition at line 36 of file MdcAliRecTrk.h.

References m_chisq.

00036 { return m_chisq; }

double MdcAliRecTrk::getDr (  )  const [inline]

Definition at line 27 of file MdcAliRecTrk.h.

References m_dr.

00027 { return m_dr; }

double MdcAliRecTrk::getDz (  )  const [inline]

Definition at line 30 of file MdcAliRecTrk.h.

References m_dz.

00030 { return m_dz; }

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]

Definition at line 29 of file MdcAliRecTrk.h.

References m_kappa.

00029 { return m_kappa; }

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]

Definition at line 35 of file MdcAliRecTrk.h.

References m_p.

00035 { return m_p; }

double MdcAliRecTrk::getPhi0 (  )  const [inline]

Definition at line 28 of file MdcAliRecTrk.h.

References m_phi0.

00028 { return m_phi0; }

double MdcAliRecTrk::getPt (  )  const [inline]

Definition at line 34 of file MdcAliRecTrk.h.

References m_pt.

00034 { return m_pt; }

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]

Definition at line 31 of file MdcAliRecTrk.h.

References m_tanl.

00031 { return m_tanl; }

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 }


Member Data Documentation

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]

Definition at line 54 of file MdcAliRecTrk.h.

Referenced by setRecTrk().

double MdcAliRecTrk::m_dr [private]

Definition at line 41 of file MdcAliRecTrk.h.

Referenced by getDr(), setKalTrk(), and setRecTrk().

double MdcAliRecTrk::m_dz [private]

Definition at line 44 of file MdcAliRecTrk.h.

Referenced by getDz(), setKalTrk(), and setRecTrk().

HepVector MdcAliRecTrk::m_helix [private]

Definition at line 46 of file MdcAliRecTrk.h.

Referenced by getHelix(), and setRecTrk().

HepSymMatrix MdcAliRecTrk::m_helixerr [private]

Definition at line 47 of file MdcAliRecTrk.h.

Referenced by getHelixErr(), and setRecTrk().

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]

Definition at line 49 of file MdcAliRecTrk.h.

Referenced by getP(), setKalTrk(), and setRecTrk().

double MdcAliRecTrk::m_phi0 [private]

Definition at line 42 of file MdcAliRecTrk.h.

Referenced by getPhi0(), setKalTrk(), and setRecTrk().

double MdcAliRecTrk::m_pt [private]

Definition at line 48 of file MdcAliRecTrk.h.

Referenced by getPt(), setKalTrk(), and setRecTrk().

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().


Generated on Tue Nov 29 23:20:07 2016 for BOSS_7.0.2 by  doxygen 1.4.7