MdcxSeg Class Reference

#include <MdcxSeg.h>

Inheritance diagram for MdcxSeg:

MdcxFittedHel MdcxHel List of all members.

Public Member Functions

 MdcxSeg (MdcxFittedHel &hel, int p, int a)
virtual ~MdcxSeg ()
double D0_sl_approx ()
double Phi0_sl_approx ()
double Xline_bbrrf ()
double Yline_bbrrf ()
double Xline_slope ()
double Yline_slope ()
int Pat ()
void printSeg ()
void printSegAll ()
float Chisq () const
float Rcs () const
float Prob () const
float Fittime () const
int Nhits () const
int Itofit () const
int Quality () const
int Origin () const
double Sfac () const
void SetQuality (const int &q)
void SetUsedOnHel (const int &i)
int GetUsedOnHel () const
int SuperLayer (int hitno=0) const
int Layer (int hitno=0) const
const HepAList< MdcxHit > & XHitList () const
float Residual (int i)
float Pull (int i)
int Fail (float Probmin=0.0) const
int ReFit ()
int FitPrint ()
int FitPrint (MdcxHel &hel, std::ostream &o)
void VaryRes ()
MdcxFittedHelGrow (const MdcxFittedHel &, const HepAList< MdcxHit > &)
void SetBailOut (int i)
void SetChiDofBail (float r)
void SetNiter (int i)
double D0 () const
double Phi0 () const
double Omega () const
double Z0 () const
double Tanl () const
double X () const
double Xref () const
double Y () const
double Yref () const
double T0 () const
double CosPhi0 () const
double SinPhi0 () const
double Doca_Len () const
double Doca_FLen () const
double Doca_Tof () const
double Doca_Zh () const
int Doca_Samb () const
int Doca_Wamb () const
double Doca_Eang () const
double Omin () const
int Mode () const
int Code () const
int Nfree () const
int Ominfl () const
int Qd0 () const
int Qphi0 () const
int Qomega () const
int Qz0 () const
int Qtanl () const
int Qt0 () const
double Xc () const
double Yc () const
double X0 () const
double Y0 () const
double Xh (double l) const
double Yh (double l) const
double Zh (double l) const
double Px (double l=0.0) const
double Py (double l=0.0) const
double Pz (double l=0.0) const
double Ptot (double l=0.0) const
double Lmax () const
double Doca (double WX, double WY, double WZ, double X, double Y, double Z=0.0)
double Doca (const MdcxHit &h)
void print () const
void flip ()
std::vector< float > derivatives (const MdcxHit &h)
void SetRef (double x, double y)
void SetMode (int n)
void SetD0 (int n)
void SetPhi0 (int n)
void SetOmega (int n)
void SetZ0 (int n)
void SetTanl (int n)
void SetT0 (int n)
void SetTurnFlag (const int &i)
int GetTurnFlag () const

Static Public Attributes

static int debug = 0

Protected Member Functions

int DoFit ()
int IterateFit ()
double CalcPhi (double xf, double yf, double xl, double yl) const
int deltaq (int i, int j) const
void decode (const int i, int &i1, int &i2, int &i3, int &i4, int &i5, int &i6, int &n)
void copy (const MdcxHel &hel)

Protected Attributes

int fail
float chisq
float rcs
float prob
float fittime
int nhits
int itofit
int quality
int origin
HepAList< MdcxHitxHitList
double sfac
int usedonhel
double d0
double phi0
double omega
double z0
double tanl
double t0
double xref
double yref
double cphi0
double sphi0
double x0
double y0
double xc
double yc
int code
int mode
int qd0
int qphi0
int qomega
int qz0
int qtanl
int qt0
int nfree
int ominfl
int turnflag
double omin
double len
double phi
double xh
double yh
double zh
double vx
double vy
double vz
double cosl
double sinl
double f0
double tx
double ty
double tz
Hep3Vector wvec
Hep3Vector tvec
Hep3Vector vhat
Hep3Vector dvec
int samb
int wamb
double eang

Private Attributes

int pat
int amb
double c1
double c2

Detailed Description

Definition at line 9 of file MdcxSeg.h.


Constructor & Destructor Documentation

MdcxSeg::MdcxSeg ( MdcxFittedHel hel,
int  p,
int  a 
)

Definition at line 3 of file MdcxSeg.cxx.

References amb, c1, c2, and pat.

00003                                                 :MdcxFittedHel(hel){
00004   pat=p; amb=a; 
00005 //  c1=-0.686; c2=1.74;
00006   c1=-0.77; c2=1.83;
00007   if ((pat == 0x2244) || (pat == 0x4221)) {
00008     c1 = -1.13;
00009     c2 = 2.26;
00010   }
00011   if ((pat == 0x1244) || (pat == 0x8421) || (pat == 0x8221)) {
00012     c1 = -1.54;
00013     c2 = 2.84;
00014   }
00015   if ((pat == 0x2248) || (pat == 0x8441)) {
00016     c1 = -2.06;
00017     c2 = 2.99;
00018   }
00019 }//endof MdcxSeg

MdcxSeg::~MdcxSeg (  )  [virtual]

Definition at line 21 of file MdcxSeg.cxx.

00021 { }


Member Function Documentation

double MdcxHel::CalcPhi ( double  xf,
double  yf,
double  xl,
double  yl 
) const [inline, protected, inherited]

Definition at line 167 of file MdcxHel.h.

References M_PI.

00167                                                                {
00168    double phit=atan2(yl-yf,xl-xf); return phit<0?phit+2*M_PI:phit;
00169   }//endof CalcPhi

float MdcxFittedHel::Chisq (  )  const [inline, inherited]

Definition at line 45 of file MdcxFittedHel.h.

References MdcxFittedHel::chisq.

Referenced by MdcxTrackFinder::FitMdcxTrack(), MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), printSeg(), MdcxFindSegs::printseg(), MdcxFindTracks::process(), and MdcxFindSegs::process().

00045 {return chisq;}

int MdcxHel::Code (  )  const [inline, inherited]

Definition at line 74 of file MdcxHel.h.

References MdcxHel::code.

Referenced by MdcxHel::copy(), and MdcxFindTracks::TakeToOrigin().

00074 {return code;}

void MdcxHel::copy ( const MdcxHel hel  )  [protected, inherited]

Definition at line 219 of file MdcxHel.cxx.

References MdcxHel::Code(), MdcxHel::code, MdcxHel::CosPhi0(), MdcxHel::cphi0, MdcxHel::D0(), MdcxHel::d0, MdcxHel::GetTurnFlag(), MdcxHel::Mode(), MdcxHel::mode, MdcxHel::Nfree(), MdcxHel::nfree, MdcxHel::Omega(), MdcxHel::omega, MdcxHel::Omin(), MdcxHel::omin, MdcxHel::Ominfl(), MdcxHel::ominfl, MdcxHel::Phi0(), MdcxHel::phi0, MdcxHel::Qd0(), MdcxHel::qd0, MdcxHel::Qomega(), MdcxHel::qomega, MdcxHel::Qphi0(), MdcxHel::qphi0, MdcxHel::Qt0(), MdcxHel::qt0, MdcxHel::Qtanl(), MdcxHel::qtanl, MdcxHel::Qz0(), MdcxHel::qz0, MdcxHel::SinPhi0(), MdcxHel::sphi0, MdcxHel::T0(), MdcxHel::t0, MdcxHel::Tanl(), MdcxHel::tanl, MdcxHel::turnflag, MdcxHel::X0(), MdcxHel::x0, MdcxHel::Xc(), MdcxHel::xc, MdcxHel::Xref(), MdcxHel::xref, MdcxHel::Y0(), MdcxHel::y0, MdcxHel::Yc(), MdcxHel::yc, MdcxHel::Yref(), MdcxHel::yref, MdcxHel::Z0(), and MdcxHel::z0.

Referenced by MdcxFittedHel::Grow(), MdcxHel::operator=(), and MdcxFittedHel::operator=().

00220 {
00221   //FIXME
00222   omega=rhs.Omega(); phi0=rhs.Phi0(); d0=rhs.D0(); t0=rhs.T0();
00223   tanl=rhs.Tanl(); z0=rhs.Z0();
00224   cphi0=rhs.CosPhi0(); sphi0=rhs.SinPhi0();
00225   x0=rhs.X0(); y0=rhs.Y0(); xc=rhs.Xc(); yc=rhs.Yc();
00226   xref=rhs.Xref(); yref=rhs.Yref();
00227   qomega=rhs.Qomega(); qphi0=rhs.Qphi0(); qd0=rhs.Qd0(); qt0=rhs.Qt0();
00228   qtanl=rhs.Qtanl(); qz0=rhs.Qz0();
00229   mode=rhs.Mode(); nfree=rhs.Nfree();
00230   code=rhs.Code(); ominfl=rhs.Ominfl(); omin=rhs.Omin();
00231   turnflag=rhs.GetTurnFlag();
00232 }//endof copy

double MdcxHel::CosPhi0 (  )  const [inline, inherited]

Definition at line 63 of file MdcxHel.h.

References MdcxHel::cphi0.

Referenced by MdcxHel::copy(), and MdcxFindTracks::TakeToOrigin().

00063 {return cphi0;}

double MdcxHel::D0 (  )  const [inline, inherited]

Definition at line 53 of file MdcxHel.h.

References MdcxHel::d0.

Referenced by MdcxHel::copy(), MdcxTrackFinder::FitMdcxTrack(), MdcxAddHits::GetAssociates(), MdcxFindTracks::process(), and MdcxFindTracks::TakeToOrigin().

00053 {return d0;}

double MdcxSeg::D0_sl_approx (  )  [inline]

Definition at line 13 of file MdcxSeg.h.

References c1, MdcxHel::d0, and MdcxHel::omega.

Referenced by printSegAll().

00013 { return d0+c1*omega; }

void MdcxHel::decode ( const int  i,
int &  i1,
int &  i2,
int &  i3,
int &  i4,
int &  i5,
int &  i6,
int &  n 
) [protected, inherited]

Definition at line 199 of file MdcxHel.cxx.

References subSeperate::temp.

00201 {  
00202   int temp = code;
00203   temp=temp/1000000; temp=code-1000000*temp;
00204   i6=temp/100000;    temp=temp-100000*i6;
00205   i5=temp/10000;     temp=temp-10000*i5;
00206   i4=temp/1000;      temp=temp-1000*i4;
00207   i3=temp/100;       temp=temp-100*i3;
00208   i2=temp/10;        i1=temp-10*i2;
00209   n = 0;
00210   if(i6 == 1) n++; else i6 = 0;
00211   if(i5 == 1) n++; else i5 = 0;
00212   if(i4 == 1) n++; else i4 = 0;
00213   if(i3 == 1) n++; else i3 = 0;
00214   if(i2 == 1) n++; else i2 = 0;
00215   if(i1 == 1) n++; else i1 = 0;
00216 }//endof decode

int MdcxHel::deltaq ( int  i,
int  j 
) const [inline, protected, inherited]

Definition at line 170 of file MdcxHel.h.

Referenced by MdcxHel::SetD0(), MdcxHel::SetOmega(), MdcxHel::SetPhi0(), MdcxHel::SetT0(), MdcxHel::SetTanl(), and MdcxHel::SetZ0().

00170 { return i==j?0:i==0?1:-1; } //integer comparisons 

std::vector< float > MdcxHel::derivatives ( const MdcxHit h  )  [inherited]

Definition at line 324 of file MdcxHel.cxx.

References cos(), MdcxHel::cosl, MdcxHel::cphi0, MdcxHel::d0, MdcxHel::Doca(), MdcxHel::f0, MdcxHel::len, MdcxHel::mode, MdcxHel::nfree, MdcxHel::omega, MdcxHel::ominfl, MdcxHel::phi, MdcxHel::qd0, MdcxHel::qomega, MdcxHel::qphi0, MdcxHel::qt0, MdcxHel::qtanl, MdcxHel::qz0, sin(), MdcxHel::sphi0, subSeperate::temp, MdcxHel::tx, MdcxHel::ty, MdcxHit::v(), MdcxHel::vx, MdcxHel::vy, MdcxHel::vz, MdcxHel::x0, MdcxHel::xh, MdcxHel::y0, and MdcxHel::yh.

Referenced by MdcxHit::derivatives(), and MdcxFittedHel::DoFit().

00325 {
00326   double doca = Doca(hit);
00327   std::vector<float> temp(nfree+1);
00328   temp[0] = doca;
00329   double fac = 1.0;
00330   if((mode==0) && (doca<0.0)) fac = -fac;
00331   if(mode == 0) temp[0] = fabs(temp[0]);
00332 
00333   int bump = 0;
00334   if (qd0)   temp[++bump] = (-vx*sphi0 + vy*cphi0) * fac;
00335   if (qphi0) {
00336     //double dddp0=-(yh-y0)*vx+(xh-x0)*vy;
00337     double dddp0 = -(yh-y0+f0*ty)*vx + (xh-x0+f0*tx)*vy;
00338     dddp0 *= (1.0 + d0*omega);
00339     temp[++bump] = dddp0*fac;
00340   }
00341   if (qomega) {
00342     double dddom;
00343     if (ominfl) {
00344       dddom = ((len*cos(phi)-xh+x0)*vx + (len*sin(phi)-yh+y0)*vy)/omega;
00345       dddom += f0*len*cosl*(-sin(phi)*vx+cos(phi)*vy);
00346     } else {
00347       dddom = 0.5*len*len*(-vx*sphi0+vy*cphi0);
00348     }
00349     temp[++bump] = dddom * fac;
00350   }
00351   if (qz0)   temp[++bump] = vz * fac;
00352   if (qtanl) temp[++bump] = (vz *len) * fac;
00353   if (qt0)   temp[++bump] = -hit.v();
00354   return temp;
00355 }//endof derivatives

double MdcxHel::Doca ( const MdcxHit h  )  [inherited]

Definition at line 234 of file MdcxHel.cxx.

References MdcxHel::Doca(), MdcxHit::wx(), MdcxHit::wy(), MdcxHit::wz(), MdcxHit::x(), and MdcxHit::y().

00234                                      { 
00235   //std::cout<< __FILE__ << "   " << __LINE__ << "  hit("<<h.Layer()<<","<<h.WireNo()<<")";
00236   return Doca( h.wx(), h.wy(), h.wz(), h.x(), h.y() ); 
00237 }

double MdcxHel::Doca ( double  WX,
double  WY,
double  WZ,
double  X,
double  Y,
double  Z = 0.0 
) [inherited]

Definition at line 239 of file MdcxHel.cxx.

References cos(), MdcxHel::cosl, MdcxHel::cphi0, MdcxHel::dvec, MdcxHel::eang, MdcxHel::f0, f1, f2, MdcxHel::len, M_PI, MdcxParameters::maxMdcZLen, MdcxHel::omega, MdcxHel::ominfl, MdcxHel::phi, MdcxHel::phi0, Constants::pi, MdcxHel::samb, sin(), MdcxHel::sinl, MdcxHel::sphi0, MdcxHel::tanl, MdcxHel::turnflag, MdcxHel::tvec, MdcxHel::tx, MdcxHel::ty, MdcxHel::tz, MdcxHel::vhat, MdcxHel::vx, MdcxHel::vy, MdcxHel::vz, MdcxHel::wamb, MdcxHel::wvec, MdcxHel::xc, MdcxHel::Xh(), MdcxHel::xh, MdcxHel::xref, MdcxHel::yc, MdcxHel::Yh(), MdcxHel::yh, MdcxHel::yref, MdcxHel::z0, MdcxHel::Zh(), and MdcxHel::zh.

Referenced by MdcxHit::d(), MdcxHel::derivatives(), MdcxHel::Doca(), MdcxFindTracks::drophits(), MdcxFindTracks::process(), MdcxHit::pull(), MdcxHit::residual(), and MdcxFindTracks::resout().

00241 {
00242   double m_2pi = 2.0*M_PI;
00243   // describe wire
00244   //cout << " In Doca, xi = " << xi << " yi = " << yi << " zi = " << zi <<endl;
00245   Hep3Vector ivec(xi, yi, zi); 
00246   wvec = Hep3Vector(wx, wy, wz);
00247   //cout << " In Doca, wx = " << wx << " wy = " << wy << " wz = " << wz <<endl;
00248   //  calculate len to doca
00249   double zd, xd = xi, yd = yi;
00250   // cout << " In Doca, start xd = " << xd << " yd = " << yd << endl;
00251   double lnew,t1,t2,dphi,dlen=1000.0;
00252   len = 0.0;
00253   int itry = 2;
00254   // int segflg=0; if ((code==111)&&(z0==0.0)&&(tanl==0.0))segflg=1;
00255   // int superseg=0; if ((code==11111)&&(xref!=0.0)&&(yref!=0.0))superseg=1;
00256   double circut, circum = 10000.; 
00257   if (ominfl) circum = m_2pi/fabs(omega);
00258   circut = 0.50 * circum;
00259   while (itry) {
00260     if (ominfl) {
00262       t1 = -xc + xd; t2 = yc - yd; phi = atan2(t1, t2); 
00263       if (omega < 0.0) phi += M_PI;
00264       if (phi > M_PI)  phi -= m_2pi;
00265       dphi = phi - phi0;
00266       if (omega < 0.0){
00267         if (dphi > 0.0)    dphi -= m_2pi;
00268         if (dphi < -m_2pi) dphi += m_2pi;
00269       }else{
00270         if (dphi < 0.0)   dphi += m_2pi;
00271         if (dphi > m_2pi) dphi -= m_2pi;
00272       }
00273       lnew = dphi/omega; 
00274       //   if ((lnew>circut)&&(segflg))lnew-=circum; 
00275       //   if ((lnew>circut)&&(superseg))lnew-=circum; 
00276       if ((lnew>circut)&&(turnflag)) lnew -= circum;  //FIXME attention
00277       
00278       zh = Zh(lnew); 
00279       xd=xi+(zh-zi)*wx/wz; yd=yi+(zh-zi)*wy/wz; zd=zh;
00280       //   cout << " In Doca, xd = " << xd << " yd = " << yd << " zh = " << zh;
00281       //   cout << " lnew = " << lnew << endl;
00282       dlen=fabs(lnew-len); len=lnew; 
00283       //   if (segflg)break; 
00284       //std::cout<< __FILE__ << __LINE__<<" Doca()  dlen " << dlen<< " zh  "<<zh<<" >?"
00285         //<<MdcxParameters::maxMdcZLen<<std::endl;
00286       if (fabs(zh) > MdcxParameters::maxMdcZLen) break;  //FIXME attention
00287       if ( (0.0==wx) && (0.0==wy) )break; if (dlen < 0.000001)break; itry--;
00288     } else {
00289       len = (xi-xref)*cphi0 + (yi-yref)*sphi0;
00290       zh  = z0 + tanl*len;
00291       phi = phi0;
00292       break;
00293     }
00294   }
00295   //  Hep3Vector Dvec(xd,yd,zd);
00296   xh = Xh(len); yh = Yh(len); 
00297   Hep3Vector hvec(xh, yh, zh);
00298 //   cout << " In Doca, xh = " << xh << " yh = " << yh << " zh = " << zh << " len=" << len << " om " << omega << endl;
00299   double lamb = atan(tanl);
00300   cosl = cos(lamb); sinl = sin(lamb);
00301   tx = cosl*cos(phi); ty = cosl*sin(phi); tz = sinl; 
00302   tvec = Hep3Vector(tx, ty, tz); 
00303   Hep3Vector vvec = wvec.cross(tvec); 
00304   vhat = vvec.unit(); vx = vhat.x(); vy = vhat.y(); vz = vhat.z();
00305   // cout << " In Doca, vx = " << vx << " vy = " << vy << " vz = " << vz << endl;
00306   dvec = ivec - hvec;
00307   double doca = dvec*vhat;
00308   // cout << " doca = " << doca << endl;
00309   double f1 = dvec*tvec; double f2 = wvec*tvec; double f3 = dvec*wvec;
00310   f0 = (f1 - f2*f3) / (1.0 - f2*f2); 
00311   samb = (doca > 0.0) ? -1 : +1;
00312   double wirephi = atan2(yd, xd);
00313   eang = BesAngle(phi-wirephi);
00314   wamb = (fabs(eang) < Constants::pi/2) ? samb : -samb;
00315   //std::cout<< __FILE__ << __LINE__<<" Doca()  dlen " << dlen<< " zh  "<<zh<<" >?"
00316         //<<MdcxParameters::maxMdcZLen<<std::endl;
00317   if (fabs(zh) > MdcxParameters::maxMdcZLen) doca = 1000.0; 
00318   //if(doca == 1000.0)    cout << " In Doca, zh = " << zh << " len=" << len << " om " << omega <<" "<< ominfl<< 
00319    //" z0 " << z0 << "tanl " << tanl <<endl;
00320   //cout << "  doca = " << doca << endl;
00321   return doca;
00322 }//endof Doca

double MdcxHel::Doca_Eang (  )  const [inline, inherited]

Definition at line 71 of file MdcxHel.h.

References MdcxHel::eang.

Referenced by MdcxHit::d(), MdcxHit::derivatives(), MdcxHit::pull(), and MdcxHit::residual().

00071 {return eang;}

double MdcxHel::Doca_FLen (  )  const [inline, inherited]

Definition at line 66 of file MdcxHel.h.

References MdcxHel::len, and MdcxHel::tanl.

00066 {return len*sqrt(1.0+tanl*tanl);}

double MdcxHel::Doca_Len (  )  const [inline, inherited]

Definition at line 65 of file MdcxHel.h.

References MdcxHel::len.

Referenced by MdcxAddHits::GetAssociates(), and MdcxFindTracks::process().

00065 {return len;}

int MdcxHel::Doca_Samb (  )  const [inline, inherited]

Definition at line 69 of file MdcxHel.h.

References MdcxHel::samb.

00069 {return samb;}

double MdcxHel::Doca_Tof (  )  const [inline, inherited]

Definition at line 67 of file MdcxHel.h.

References MdcxParameters::c, MdcxHel::len, and MdcxHel::tanl.

Referenced by MdcxHit::d(), MdcxHit::derivatives(), MdcxHit::pull(), MdcxHit::residual(), and MdcxFindTracks::resout().

00067 {return len*sqrt(1.0+tanl*tanl)/MdcxParameters::c;}

int MdcxHel::Doca_Wamb (  )  const [inline, inherited]

Definition at line 70 of file MdcxHel.h.

References MdcxHel::wamb.

Referenced by MdcxHit::d(), MdcxHit::derivatives(), MdcxHit::pull(), and MdcxHit::residual().

00070 {return wamb;}

double MdcxHel::Doca_Zh (  )  const [inline, inherited]

Definition at line 68 of file MdcxHel.h.

References MdcxHel::zh.

Referenced by MdcxHit::d(), MdcxHit::derivatives(), MdcxHit::pull(), MdcxHit::residual(), and MdcxFindTracks::resout().

00068 {return zh;}

int MdcxFittedHel::DoFit (  )  [protected, inherited]

Definition at line 199 of file MdcxFittedHel.cxx.

References EvtCyclic3::A, EvtCyclic3::B, MdcxFittedHel::bailout, MdcxFittedHel::chidofbail, MdcxFittedHel::chisq, cos(), MdcxHel::cphi0, MdcxHel::d0, MdcxFittedHel::debug, MdcxHel::derivatives(), sub_remain::ftemp, genRecEmupikp::i, M_PI, MdcxParameters::maxMdcRadius, Mdcxmatinv(), MdcxHel::nfree, MdcxFittedHel::nhits, MdcxHel::omega, MdcxHel::omin, MdcxHel::ominfl, MdcxHel::phi0, MdcxHel::print(), MdcxHel::qd0, MdcxHel::qomega, MdcxHel::qphi0, MdcxHel::qt0, MdcxHel::qtanl, MdcxHel::qz0, MdcxFittedHel::sfac, sin(), MdcxHel::sphi0, MdcxHel::t0, MdcxHel::tanl, MdcxHel::X0(), MdcxHel::x0, MdcxHel::Xc(), MdcxHel::xc, MdcxFittedHel::xHitList, MdcxHel::Y0(), MdcxHel::y0, MdcxHel::Yc(), MdcxHel::yc, and MdcxHel::z0.

Referenced by MdcxFittedHel::IterateFit().

00199                          {
00200   int ftemp = 1301;
00201   // if(nfree>nhits) {return Fail;}
00202   if (nfree > nhits) return ftemp;
00203   double m_2pi = 2.0 * M_PI;
00204   ftemp = 0;
00205   //pointloop
00206   if (6 == debug) {
00207     std::cout << "in MdcxFittedHel::DoFit()  nfree = " << nfree
00208       << "  nhits = " << nhits << std::endl;
00209   }
00210 
00211   int norder = nfree;
00212   double A[10][10] = {{0.}}, B[10] = {0.}, D[10] = {0.}, det;
00213   chisq = 0.0;
00214 
00215   if (6 == debug) {
00216     std::cout << "xHitList.length " << xHitList.length() << "  ";
00217     for (int ii = 0; ii < xHitList.length(); ii++) {
00218       xHitList[ii]->print(std::cout, ii);
00219     }
00220     std::cout << std::endl << "sfac = " << sfac << std::endl;
00221   }
00222 
00223   for (int i = 0; i < nhits; i++) {
00224     std::vector<float> derivs = xHitList[i]->derivatives(*this);
00225     if (6 == debug) {
00226       cout << "derivs " << i<<" ";
00227       for (unsigned int ii = 0; ii < derivs.size(); ii++) {
00228         cout << setw(15)<< derivs[ii]; 
00229       }
00230       std::cout << std::endl;
00231     }
00232     if (sfac != 1.0) {
00233       for(unsigned int ipar = 0; ipar < derivs.size(); ipar++) {
00234         derivs[ipar] /= sfac;
00235         if(6 == debug) cout << " derivs[" << ipar << "] = " << derivs[ipar];
00236       }
00237       if(6 == debug) std::cout << std::endl;
00238     }
00239     chisq += derivs[0] * derivs[0];
00240     //outer parameter loop
00241     for (int ipar = 0; ipar < norder; ipar++) {
00242       D[ipar] += derivs[0] * derivs[ipar+1];
00243       //inner parameter loop
00244       for(int jpar = 0; jpar < norder; jpar++) {
00245         A[ipar][jpar] += derivs[ipar+1] * derivs[jpar+1];
00246       }//endof inner parameter loop
00247     }//endof outer parameter loop
00248   }//pointloop
00249   if (6 == debug) cout << "chisq = " << chisq << endl;
00250   if (chisq == 0 && nhits != 3) {  //zoujh: chisq is invalid??? FIXME
00251     ftemp = 1310;
00252     return ftemp;
00253   }
00254   if (6 == debug) {
00255     for (int ii = 0; ii < norder; ii++) {
00256       cout << "D["<< ii << "]: " << D[ii] << "     A:";
00257       for (int jj = 0; jj < norder; jj++) cout << "  " << A[ii][jj];
00258       cout << endl;
00259     }
00260   }
00261   //invert A
00262   int ierr;
00263   if (bailout) {
00264     ftemp = 1308;     // bailout
00265     int ndof = nhits - nfree;
00266     if (ndof > 0) {
00267       if (6 == debug){
00268         cout << "chisq " << chisq << " ndof " << ndof 
00269           << " chiperdof " << chisq/ndof 
00270           << " >?chidofbail " << chidofbail << endl;
00271       }
00272       float chiperdof = chisq/ndof;
00273       if(chiperdof > chidofbail) return ftemp;
00274     } else {
00275       if (6 == debug){
00276         cout << " ndof <=0 : chisq " << chisq 
00277           << " >? chidofbail/2.5 " << chidofbail/2.5 << endl;
00278       }
00279       if (chisq > chidofbail/2.5) return ftemp;  //FIXME
00280     }
00281   } // (bailout)
00282   ftemp = 0;
00283   ierr = Mdcxmatinv(&A[0][0], &norder, &det);
00284   if (6 == debug) cout << "ierr = " << ierr << endl;
00285   if (ierr == 0) {
00286     for(int ii = 0; ii < norder; ii++)
00287       for(int jj = 0; jj < norder; jj++)
00288         B[ii] += A[ii][jj] * D[jj];
00289     if (6 == debug) {
00290       for (int ii = 0; ii < norder; ii++) {
00291         cout << "B[" << ii << "]: " << B[ii] << "     A:";
00292         for (int jj = 0; jj < norder; jj++) cout << "  " << A[ii][jj];
00293         cout << endl;
00294       }
00295     }
00296     int bump = -1;
00297     if (qd0)   d0 -= B[++bump];
00298     if (qphi0) {
00299       phi0 -= B[++bump]; 
00300       if (phi0 > M_PI)  phi0 -= m_2pi;
00301       if (phi0 < -M_PI) phi0 += m_2pi;
00302       cphi0 = cos(phi0); sphi0 = sin(phi0);
00303     }
00304     if (qomega) {
00305       omega -= B[++bump];
00306       ominfl = (fabs(omega) < omin) ? 0 : 1;
00307     }
00308     if (qz0)   z0   -= B[++bump];
00309     if (qtanl) tanl -= B[++bump];
00310     if (qt0)   t0   -= B[++bump];
00311 
00312     x0 = X0(); y0 = Y0(); xc = Xc(); yc = Yc();
00313     if ( fabs(d0) > MdcxParameters::maxMdcRadius )   ftemp = 1305; 
00314     //if(g_fitOmega)g_fitOmega->fill(omega);
00315     if ( fabs(omega) > 10.0 ) ftemp = 1306; // Too tight (r < 1 cm)//yzhang FIXME 2009-11-03 
00316   } else {
00317     ftemp = ierr;
00318   }
00319   return ftemp;
00320 }//endof DoFit

int MdcxFittedHel::Fail ( float  Probmin = 0.0  )  const [inherited]

Definition at line 141 of file MdcxFittedHel.cxx.

References MdcxFittedHel::fail, and MdcxFittedHel::prob.

Referenced by MdcxTrackFinder::FitMdcxTrack(), MdcxFittedHel::Grow(), MdcxMergeDups::MdcxMergeDups(), MdcxFittedHel::operator=(), MdcxFindSegs::printseg(), and MdcxFindTracks::process().

00141                                           {
00142   if(fail) return fail;
00143   if(prob < Probmin) return 1303;
00144   // now done in DoFit  if(fabs(omega)>omegmax) {return 1306;}
00145   return 0;
00146 } // endof Fail

int MdcxFittedHel::FitPrint ( MdcxHel hel,
std::ostream o 
) [inherited]

int MdcxFittedHel::FitPrint (  )  [inherited]

Definition at line 335 of file MdcxFittedHel.cxx.

References MdcxFittedHel::chisq, MdcxHel::d0, MdcxFittedHel::fail, MdcxFittedHel::fittime, MdcxFittedHel::itofit, MdcxFittedHel::nhits, MdcxHel::omega, MdcxHel::phi0, MdcxHel::print(), MdcxFittedHel::prob, MdcxFittedHel::rcs, MdcxFittedHel::sfac, MdcxHel::tanl, MdcxFittedHel::xHitList, and MdcxHel::z0.

Referenced by MdcxFindTracks::process(), and MdcxFindTracks::resout().

00335                             {
00336   cout << " d0 " << d0;
00337   cout << " phi0 " << phi0;
00338   cout << " omega " << omega;
00339   cout << " z0 " << z0;
00340   cout << " tanl " << tanl << endl;
00341   cout << " fail " << fail;
00342   cout << " chisq " << chisq;
00343   cout << " iter to fit " << itofit;
00344   cout << " sfac " << sfac;
00345   cout << " rcs " << rcs;
00346   cout << " prob " << prob;
00347   cout << " fittime " << fittime << endl;
00348   cout << " nhits= " << nhits << " xHitList.length " << xHitList.length() << endl;
00349   for (int ii = 0; ii < xHitList.length(); ii++) {
00350     xHitList[ii]->print(cout, ii);
00351   }
00352   cout<<endl;
00353 
00354   return 0;
00355 }//endof FitPrint

float MdcxFittedHel::Fittime (  )  const [inline, inherited]

Definition at line 48 of file MdcxFittedHel.h.

References MdcxFittedHel::fittime.

Referenced by MdcxFittedHel::operator=().

00048 {return fittime;} 

void MdcxHel::flip (  )  [inherited]

Definition at line 375 of file MdcxHel.cxx.

References cos(), MdcxHel::cphi0, MdcxHel::d0, M_PI, MdcxHel::omega, MdcxHel::ominfl, MdcxHel::phi0, sin(), MdcxHel::sphi0, MdcxHel::tanl, MdcxHel::X0(), MdcxHel::x0, MdcxHel::Y0(), MdcxHel::y0, MdcxHel::z0, and MdcxHel::Zh().

Referenced by MdcxFindTracks::process().

00375                    {
00376   double m_2pi = 2.0*M_PI;
00377   if (ominfl) {
00378     if ( (fabs(d0) + 2.0/fabs(omega)) > 80.0 ) return;
00379     double lturn = m_2pi/fabs(omega);
00380     double zturn = Zh(lturn);
00381     //  cout << "z0 " << z0 << " zturn " << zturn << endl;
00382     if (fabs(zturn) < fabs(z0)) {
00383       z0 = zturn;
00384       tanl = -tanl;
00385       omega = -omega;
00386       d0 = -d0; 
00387       phi0 = phi0 - M_PI;
00388       if (phi0 < -M_PI) phi0 += m_2pi;
00389       cphi0 = cos(phi0);
00390       sphi0 = sin(phi0);
00391       x0 = X0();
00392       y0 = Y0();
00393     } 
00394   }
00395 }//endof flip

int MdcxHel::GetTurnFlag (  )  const [inline, inherited]

Definition at line 116 of file MdcxHel.h.

References MdcxHel::turnflag.

Referenced by MdcxHel::copy().

00116 {return turnflag;}

int MdcxFittedHel::GetUsedOnHel (  )  const [inline, inherited]

Definition at line 56 of file MdcxFittedHel.h.

References MdcxFittedHel::usedonhel.

Referenced by MdcxFittedHel::Grow(), MdcxMergeDups::MdcxMergeDups(), and MdcxFittedHel::operator=().

00056 {return usedonhel;}

MdcxFittedHel & MdcxFittedHel::Grow ( const MdcxFittedHel ,
const HepAList< MdcxHit > &   
) [inherited]

Definition at line 93 of file MdcxFittedHel.cxx.

References MdcxFittedHel::bailout, MdcxFittedHel::chidofbail, MdcxFittedHel::Chisq(), MdcxFittedHel::chisq, MdcxHel::copy(), MdcxFittedHel::Fail(), MdcxFittedHel::fail, MdcxFittedHel::fittime, MdcxFittedHel::GetUsedOnHel(), MdcxFittedHel::itofit, Mdcxprobab(), MdcxHel::nfree, MdcxFittedHel::Nhits(), MdcxFittedHel::nhits, MdcxFittedHel::niter, MdcxFittedHel::Origin(), MdcxFittedHel::origin, MdcxFittedHel::prob, MdcxFittedHel::Quality(), MdcxFittedHel::quality, MdcxFittedHel::rcs, MdcxFittedHel::Sfac(), MdcxFittedHel::sfac, subSeperate::temp, MdcxFittedHel::usedonhel, MdcxFittedHel::XHitList(), and MdcxFittedHel::xHitList.

Referenced by MdcxTrackFinder::FitMdcxTrack(), and MdcxFindTracks::process().

00094                                         {
00095   copy(rhs);
00096   fail=rhs.Fail();
00097   chisq=rhs.Chisq();
00098   //rcs=rhs.Rcs();
00099   //prob=rhs.Prob();
00100   fittime=0.0;
00101   nhits=rhs.Nhits();
00102   itofit=0;
00103   quality=rhs.Quality();
00104   origin=rhs.Origin();
00105   xHitList=rhs.XHitList();
00106   sfac=rhs.Sfac();               
00107   usedonhel=rhs.GetUsedOnHel();
00108   bailout=1; chidofbail=1200.0; niter=10;
00109   int kkk=0; while (ListOAdds[kkk]){ListOAdds[kkk]->SetUsedOnHel(0); kkk++;}
00110   kkk=0; while (xHitList[kkk]){xHitList[kkk]->SetUsedOnHel(1); kkk++;}
00111   double spull;
00112   MdcxHel* temp = (MdcxHel*)(&rhs);
00113   kkk=0; while (ListOAdds[kkk]){
00114     if (ListOAdds[kkk]->GetUsedOnHel() == 0) {
00115       spull = ListOAdds[kkk]->pull(*temp)/sfac;
00116       chisq += spull*spull; 
00117       xHitList.append(ListOAdds[kkk]);
00118       nhits++; 
00119     }
00120     kkk++;
00121   }
00122 
00123   int ndof = nhits - nfree;
00124   prob = Mdcxprobab(ndof, chisq);
00125   rcs = chisq/ndof;
00126   return *this;
00127 }//endof MdcxFittedHel::Grow

int MdcxFittedHel::IterateFit (  )  [protected, inherited]

Definition at line 160 of file MdcxFittedHel.cxx.

References MdcxFittedHel::chisq, MdcxFittedHel::debug, MdcxFittedHel::DoFit(), sub_remain::ftemp, genRecEmupikp::i, iter(), MdcxFittedHel::itofit, Mdcxprobab(), MdcxHel::nfree, MdcxFittedHel::nhits, MdcxFittedHel::niter, MdcxHel::print(), MdcxFittedHel::prob, and MdcxFittedHel::rcs.

Referenced by MdcxFittedHel::ReFit().

00160                               {
00161   int ftemp = 1301; // not enough hits
00162   if (nfree > nhits) return ftemp;
00163   ftemp = 0;
00164 
00165   if(6 == debug) std::cout<<"IterateFit niter="<<niter<<  std::endl;
00166   if (niter >= 1) {
00167     float prevchisq = 0.0;
00168     for (int i = 0; i < niter; i++) {
00169       itofit = i + 1;
00170       ftemp = DoFit();
00171       if (6 == debug) {
00172         if (nfree == 5) {
00173           cout << " iteration number= " << i  << " chisq= " << chisq;
00174           cout << " nhits= " << nhits << " " << " fail= " << ftemp << endl;
00175         }
00176         print();
00177       }
00178       if (ftemp != 0) break;
00179       if(6 == debug)std::cout<<"in MdcxFittedHel::IterateFit() chisq="<<chisq<<" prechi2="<<prevchisq<<std::endl;//yzhang debug
00180       if ((fabs(chisq-prevchisq) < 0.01*chisq) || (chisq < 0.001)) break;  
00181       prevchisq = chisq;
00182     }//endof iter loop
00183   } else {
00184     float prevchisq = 0.0;
00185     chisq = 1000000.0;
00186     int iter = 0;
00187     while ((fabs(chisq-prevchisq) > 0.01) && (iter++ < 1000)) {
00188       prevchisq = chisq;
00189       ftemp = DoFit();
00190       if (ftemp != 0) break;
00191     }//endof (fabs(chisq-oldchisq).gt.0.01)
00192   }//endof (niter>=1)
00193   int ndof = nhits - nfree;
00194   prob = Mdcxprobab(ndof, chisq);
00195   rcs = chisq/ndof;
00196   return ftemp;
00197 }//endof IterateFit

int MdcxFittedHel::Itofit (  )  const [inline, inherited]

Definition at line 50 of file MdcxFittedHel.h.

References MdcxFittedHel::itofit.

Referenced by MdcxFittedHel::operator=().

00050 {return itofit;}

int MdcxFittedHel::Layer ( int  hitno = 0  )  const [inherited]

Definition at line 372 of file MdcxFittedHel.cxx.

References MdcxFittedHel::nhits, and MdcxFittedHel::xHitList.

Referenced by MdcxFindTracks::process().

00372                                        {
00373   if(hitno >= nhits) return 0;
00374   return xHitList[hitno]->Layer();
00375 } // endof Layer

double MdcxHel::Lmax (  )  const [inherited]

Definition at line 142 of file MdcxHel.cxx.

References MdcxHel::d0, dmax, M_PI, MdcxParameters::maxMdcRadius, MdcxParameters::maxTrkLength, MdcxHel::omega, and MdcxHel::ominfl.

Referenced by MdcxAddHits::GetAssociates(), and MdcxFindTracks::process().

00142                            {
00143   double lmax = MdcxParameters::maxTrkLength;
00144   if (ominfl) {
00145     double rmax = 1.0/fabs(omega);
00146     double dmax = fabs(d0) + 2.0*rmax;
00147     if (dmax > MdcxParameters::maxMdcRadius) lmax = M_PI*rmax;  
00148   }
00149   return lmax;
00150 }//endof Lmax

int MdcxHel::Mode (  )  const [inline, inherited]

Definition at line 73 of file MdcxHel.h.

References MdcxHel::mode.

Referenced by MdcxHel::copy(), MdcxHit::pull(), and MdcxHit::residual().

00073 {return mode;}

int MdcxHel::Nfree (  )  const [inline, inherited]

Definition at line 75 of file MdcxHel.h.

References MdcxHel::nfree.

Referenced by MdcxHel::copy().

00075 {return nfree;}

int MdcxFittedHel::Nhits (  )  const [inline, inherited]

Definition at line 49 of file MdcxFittedHel.h.

References MdcxFittedHel::nhits.

Referenced by MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), printSeg(), printSegAll(), MdcxFindTracks::process(), and MdcxFindTracks::testFromSameTrack().

00049 {return nhits;}

double MdcxHel::Omega (  )  const [inline, inherited]

Definition at line 55 of file MdcxHel.h.

References MdcxHel::omega.

Referenced by MdcxHel::copy(), MdcxTrackFinder::FitMdcxTrack(), MdcxAddHits::GetAssociates(), MdcxFindTracks::process(), and MdcxFindTracks::TakeToOrigin().

00055 {return omega;}

double MdcxHel::Omin (  )  const [inline, inherited]

Definition at line 72 of file MdcxHel.h.

References MdcxHel::omin.

Referenced by MdcxHel::copy().

00072 {return omin;}

int MdcxHel::Ominfl (  )  const [inline, inherited]

Definition at line 76 of file MdcxHel.h.

References MdcxHel::ominfl.

Referenced by MdcxHel::copy(), and MdcxAddHits::GetAssociates().

00076 {return ominfl;}

int MdcxFittedHel::Origin (  )  const [inline, inherited]

Definition at line 52 of file MdcxFittedHel.h.

References MdcxFittedHel::origin.

Referenced by MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), and printSegAll().

00052 {return origin;}

int MdcxSeg::Pat (  )  [inline]

Definition at line 19 of file MdcxSeg.h.

References pat.

Referenced by printSegAll().

00019 {return pat;}

double MdcxHel::Phi0 (  )  const [inline, inherited]

Definition at line 54 of file MdcxHel.h.

References MdcxHel::phi0.

Referenced by MdcxHel::copy(), MdcxTrackFinder::FitMdcxTrack(), MdcxAddHits::GetAssociates(), MdcxFindTracks::process(), and MdcxFindTracks::TakeToOrigin().

00054 {return phi0;}

double MdcxSeg::Phi0_sl_approx (  )  [inline]

Definition at line 14 of file MdcxSeg.h.

References c2, MdcxHel::omega, and MdcxHel::phi0.

Referenced by printSegAll().

00014 { return phi0+c2*omega; }

void MdcxHel::print (  )  const [inherited]

Definition at line 357 of file MdcxHel.cxx.

References MdcxHel::code, MdcxHel::d0, MdcxHel::mode, MdcxHel::nfree, MdcxHel::omega, MdcxHel::ominfl, MdcxHel::phi0, MdcxHel::t0, MdcxHel::tanl, MdcxHel::x0, MdcxHel::xc, MdcxHel::xref, MdcxHel::y0, MdcxHel::yc, MdcxHel::yref, and MdcxHel::z0.

Referenced by MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxAddHits::GetAssociates(), MdcxFittedHel::IterateFit(), and MdcxFindTracks::process().

00357                           {
00358   cout << "MdcxHel(";
00359   cout << d0<<",";
00360   cout << phi0<<",";
00361   cout << omega<<",";
00362   cout << z0<<",";
00363   cout << tanl<<")"<<endl; 
00364   cout << " t0 = " << t0 ; 
00365   cout << " nfree = " << nfree ;
00366   cout << " (x0,y0) " << x0<<","<<y0;
00367   cout << " (xc,yc) " << xc<<","<<yc;
00368   cout << " (xref,yref) " << xref<<","<<yref;
00369   cout << " code = " << code; 
00370   cout << " mode = " << mode;
00371   cout << " ominfl = " << ominfl;
00372   cout << "  " << endl;
00373 }//endof print

void MdcxSeg::printSeg (  ) 

Definition at line 23 of file MdcxSeg.cxx.

References amb, MdcxFittedHel::Chisq(), genRecEmupikp::i, MdcxFittedHel::Nhits(), MdcxFittedHel::SuperLayer(), and MdcxFittedHel::XHitList().

00023                       { 
00024   std::cout<<"sl "<< SuperLayer()<<" amb "<<amb<<" ";
00025   for (int i =0; i<Nhits(); i++){
00026     XHitList()[i]->print(std::cout,i);
00027   }
00028   std::cout<<" chi2 "<<Chisq()<<std::endl;
00029 } 

void MdcxSeg::printSegAll (  ) 

Definition at line 31 of file MdcxSeg.cxx.

References amb, MdcxHel::d0, D0_sl_approx(), genRecEmupikp::i, MdcxFittedHel::Nhits(), MdcxHel::omega, MdcxFittedHel::Origin(), Pat(), MdcxHel::phi0, Phi0_sl_approx(), MdcxFittedHel::SuperLayer(), MdcxFittedHel::XHitList(), Xline_bbrrf(), Xline_slope(), MdcxHel::Xref(), Yline_bbrrf(), Yline_slope(), and MdcxHel::Yref().

00031                          { 
00032   std::cout<<"MdcxSeg "<< SuperLayer()<<" : ";
00033   for (int i =0; i<Nhits(); i++){
00034     XHitList()[i]->print(std::cout,i);
00035   }
00036   std::cout <<" pat "<<Pat()<<" amb "<<amb<< " d0 "<<d0<<" phi0 "<<phi0<<" omega "<<omega
00037     <<" d0Sl "<<D0_sl_approx()<<" phi0Sl "<< Phi0_sl_approx()
00038     <<" xB "<<Xline_bbrrf()<<" yB "<< Yline_bbrrf()
00039     <<" xSl "<<Xline_slope()<<" ySl "<< Yline_slope()
00040     <<" x(y)ref " << Xref() << " " << Yref()
00041     <<" origin "<<Origin()
00042     << std::endl; 
00043   std::cout<< std::endl;
00044 } 

float MdcxFittedHel::Prob (  )  const [inline, inherited]

Definition at line 47 of file MdcxFittedHel.h.

References MdcxFittedHel::prob.

Referenced by MdcxFittedHel::operator=(), and MdcxFindTracks::process().

00047 {return prob;} 

double MdcxHel::Ptot ( double  l = 0.0  )  const [inherited]

Definition at line 134 of file MdcxHel.cxx.

References MdcxHel::omega, MdcxHel::ominfl, and MdcxHel::tanl.

00134                                  {
00135   if(ominfl) {
00136     return 0.003*sqrt(1.0+tanl*tanl)/fabs(omega);
00137   } else {
00138     return 1000.0*sqrt(1.0+tanl*tanl);
00139   }//ominfl
00140 }//endof Ptot

float MdcxFittedHel::Pull ( int  i  )  [inherited]

Definition at line 137 of file MdcxFittedHel.cxx.

References MdcxFittedHel::xHitList.

00137                               {
00138   return xHitList[i]->pull(*this);
00139 }//endof Pulls

double MdcxHel::Px ( double  l = 0.0  )  const [inherited]

Definition at line 107 of file MdcxHel.cxx.

References cos(), MdcxHel::cphi0, MdcxHel::omega, MdcxHel::ominfl, and MdcxHel::phi0.

00107                                  {
00108   if(ominfl) {
00109     double phit = phi0 + omega*l;
00110     return 0.003*cos(phit)/fabs(omega);  
00111   } else {
00112     return 1000.0*cphi0;
00113   }//ominfl
00114 }//endof Px

double MdcxHel::Py ( double  l = 0.0  )  const [inherited]

Definition at line 116 of file MdcxHel.cxx.

References MdcxHel::omega, MdcxHel::ominfl, MdcxHel::phi0, sin(), and MdcxHel::sphi0.

00116                                  {
00117   if(ominfl) {
00118     double phit = phi0+omega*l;
00119     return 0.003*sin(phit)/fabs(omega);
00120   } else {
00121     return 1000.0*sphi0;
00122   }//ominfl
00123 }//endof Py

double MdcxHel::Pz ( double  l = 0.0  )  const [inherited]

Definition at line 125 of file MdcxHel.cxx.

References MdcxHel::omega, MdcxHel::ominfl, and MdcxHel::tanl.

00125                                  {
00126   if(ominfl) {
00127     return 0.003*tanl/fabs(omega);
00128   }
00129   else{
00130     return 1000.0*tanl;
00131   }//ominfl
00132 }//endof Pz

int MdcxHel::Qd0 (  )  const [inline, inherited]

Definition at line 77 of file MdcxHel.h.

References MdcxHel::qd0.

Referenced by MdcxHel::copy().

00077 {return qd0;}

int MdcxHel::Qomega (  )  const [inline, inherited]

Definition at line 79 of file MdcxHel.h.

References MdcxHel::qomega.

Referenced by MdcxHel::copy().

00079 {return qomega;}

int MdcxHel::Qphi0 (  )  const [inline, inherited]

Definition at line 78 of file MdcxHel.h.

References MdcxHel::qphi0.

Referenced by MdcxHel::copy().

00078 {return qphi0;}

int MdcxHel::Qt0 (  )  const [inline, inherited]

Definition at line 82 of file MdcxHel.h.

References MdcxHel::qt0.

Referenced by MdcxHel::copy().

00082 {return qt0;}

int MdcxHel::Qtanl (  )  const [inline, inherited]

Definition at line 81 of file MdcxHel.h.

References MdcxHel::qtanl.

Referenced by MdcxHel::copy().

00081 {return qtanl;}

int MdcxFittedHel::Quality (  )  const [inline, inherited]

Definition at line 51 of file MdcxFittedHel.h.

References MdcxFittedHel::quality.

Referenced by MdcxFittedHel::Grow(), and MdcxFittedHel::operator=().

00051 {return quality;}

int MdcxHel::Qz0 (  )  const [inline, inherited]

Definition at line 80 of file MdcxHel.h.

References MdcxHel::qz0.

Referenced by MdcxHel::copy().

00080 {return qz0;}

float MdcxFittedHel::Rcs (  )  const [inline, inherited]

Definition at line 46 of file MdcxFittedHel.h.

References MdcxFittedHel::rcs.

Referenced by MdcxMergeDups::MdcxMergeDups(), MdcxFittedHel::operator=(), and MdcxFindTracks::process().

00046 {return rcs;}

int MdcxFittedHel::ReFit (  )  [inherited]

Definition at line 155 of file MdcxFittedHel.cxx.

References MdcxFittedHel::fail, and MdcxFittedHel::IterateFit().

Referenced by MdcxTrackFinder::FitMdcxTrack(), and MdcxFindTracks::process().

00155                         {
00156   fail = IterateFit();
00157   return fail;
00158 }//endof ReFit

float MdcxFittedHel::Residual ( int  i  )  [inherited]

Definition at line 130 of file MdcxFittedHel.cxx.

References MdcxFittedHel::xHitList.

00130                                   {
00131   //float pull=xHitList[i]->pull(*this);
00132   //float E=xHitList[i]->e();
00133   //return pull*E;
00134   return xHitList[i]->residual(*this);
00135 }//endof Residual

void MdcxFittedHel::SetBailOut ( int  i  )  [inline, inherited]

Definition at line 117 of file MdcxFittedHel.h.

References MdcxFittedHel::bailout.

00117 {bailout=i;}

void MdcxFittedHel::SetChiDofBail ( float  r  )  [inline, inherited]

Definition at line 118 of file MdcxFittedHel.h.

References MdcxFittedHel::chidofbail.

Referenced by MdcxTrackFinder::FitMdcxTrack().

00118 {chidofbail=r;}

void MdcxHel::SetD0 ( int  n  )  [inherited]

Definition at line 171 of file MdcxHel.cxx.

References MdcxHel::code, MdcxHel::deltaq(), MdcxHel::nfree, and MdcxHel::qd0.

00171                            {
00172   nfree = nfree + deltaq(qd0, Qd0);
00173   code  = code + deltaq(qd0, Qd0);
00174   qd0 = Qd0;
00175 }

void MdcxHel::SetMode ( int  n  )  [inherited]

Definition at line 154 of file MdcxHel.cxx.

References MdcxHel::mode.

00154 { mode = n; }

void MdcxFittedHel::SetNiter ( int  i  )  [inline, inherited]

Definition at line 119 of file MdcxFittedHel.h.

References MdcxFittedHel::niter.

00119 {niter=i;}

void MdcxHel::SetOmega ( int  n  )  [inherited]

Definition at line 161 of file MdcxHel.cxx.

References MdcxHel::code, MdcxHel::deltaq(), MdcxHel::nfree, and MdcxHel::qomega.

00161                                  {
00162   nfree = nfree + deltaq(qomega, Qomega);
00163   code  = code + deltaq(qomega, Qomega)*100;
00164   qomega = Qomega;
00165 }

void MdcxHel::SetPhi0 ( int  n  )  [inherited]

Definition at line 166 of file MdcxHel.cxx.

References MdcxHel::code, MdcxHel::deltaq(), MdcxHel::nfree, and MdcxHel::qphi0.

00166                                {
00167   nfree = nfree + deltaq(qphi0, Qphi0);
00168   code  = code + deltaq(qphi0, Qphi0)*10;
00169   qphi0 = Qphi0;
00170 }

void MdcxFittedHel::SetQuality ( const int &  q  )  [inline, inherited]

Definition at line 54 of file MdcxFittedHel.h.

References MdcxFittedHel::quality.

00054 {quality=q;}

void MdcxHel::SetRef ( double  x,
double  y 
) [inherited]

Definition at line 156 of file MdcxHel.cxx.

References MdcxHel::xref, and MdcxHel::yref.

00156                                        {
00157   xref = x;
00158   yref = y;
00159 }

void MdcxHel::SetT0 ( int  n  )  [inherited]

Definition at line 186 of file MdcxHel.cxx.

References MdcxHel::code, MdcxHel::deltaq(), MdcxHel::nfree, and MdcxHel::qt0.

00186                            {
00187   nfree = nfree + deltaq(qt0, Qt0);
00188   code = code + deltaq(qt0, Qt0)*100000;
00189   qt0 = Qt0;
00190 }

void MdcxHel::SetTanl ( int  n  )  [inherited]

Definition at line 176 of file MdcxHel.cxx.

References MdcxHel::code, MdcxHel::deltaq(), MdcxHel::nfree, and MdcxHel::qtanl.

00176                                {
00177   nfree = nfree + deltaq(qtanl, Qtanl);
00178   code  = code + deltaq(qtanl, Qtanl)*10000;
00179   qtanl = Qtanl;
00180 }

void MdcxHel::SetTurnFlag ( const int &  i  )  [inline, inherited]

Definition at line 115 of file MdcxHel.h.

References MdcxHel::turnflag.

Referenced by MdcxMergeDups::MdcxMergeDups(), and MdcxFindSegs::trial().

00115 {turnflag=i;}

void MdcxFittedHel::SetUsedOnHel ( const int &  i  )  [inline, inherited]

Definition at line 55 of file MdcxFittedHel.h.

References MdcxFittedHel::usedonhel.

Referenced by MdcxMergeDups::MdcxMergeDups().

00055 {usedonhel=i;}

void MdcxHel::SetZ0 ( int  n  )  [inherited]

Definition at line 181 of file MdcxHel.cxx.

References MdcxHel::code, MdcxHel::deltaq(), MdcxHel::nfree, and MdcxHel::qz0.

00181                            {
00182   nfree = nfree + deltaq(qz0, Qz0);
00183   code = code + deltaq(qz0, Qz0)*1000;
00184   qz0 = Qz0;
00185 }

double MdcxFittedHel::Sfac (  )  const [inline, inherited]

Definition at line 53 of file MdcxFittedHel.h.

References MdcxFittedHel::sfac.

Referenced by MdcxFittedHel::Grow(), and MdcxFittedHel::operator=().

00053 {return sfac;}

double MdcxHel::SinPhi0 (  )  const [inline, inherited]

Definition at line 64 of file MdcxHel.h.

References MdcxHel::sphi0.

Referenced by MdcxHel::copy(), and MdcxFindTracks::TakeToOrigin().

00064 {return sphi0;}

int MdcxFittedHel::SuperLayer ( int  hitno = 0  )  const [inherited]

Definition at line 378 of file MdcxFittedHel.cxx.

References MdcxFittedHel::nhits, and MdcxFittedHel::xHitList.

Referenced by printSeg(), and printSegAll().

00378                                              {
00379   if(hitno >= nhits) { return 0; }
00380   if(hitno < 0) { return 0; }
00381   return xHitList[hitno]->SuperLayer();
00382 } // endof SuperLayer

double MdcxHel::T0 (  )  const [inline, inherited]

Definition at line 62 of file MdcxHel.h.

References MdcxHel::t0.

Referenced by MdcxHel::copy(), MdcxHit::d(), MdcxHit::derivatives(), MdcxHit::pull(), MdcxHit::residual(), and MdcxFindTracks::TakeToOrigin().

00062 {return t0;}

double MdcxHel::Tanl (  )  const [inline, inherited]

Definition at line 57 of file MdcxHel.h.

References MdcxHel::tanl.

Referenced by MdcxHel::copy(), MdcxTrackFinder::FitMdcxTrack(), and MdcxFindTracks::TakeToOrigin().

00057 {return tanl;}

void MdcxFittedHel::VaryRes (  )  [inherited]

Definition at line 150 of file MdcxFittedHel.cxx.

References MdcxFittedHel::xHitList.

Referenced by MdcxTrackFinder::FitMdcxTrack().

00150                             {
00151   int kbl = 0;
00152   while(xHitList[kbl]) xHitList[kbl++]->SetConstErr(0);
00153 }

double MdcxHel::X (  )  const [inline, inherited]

Definition at line 58 of file MdcxHel.h.

References MdcxHel::xref.

00058 {return xref;}

double MdcxHel::X0 (  )  const [inherited]

Definition at line 77 of file MdcxHel.cxx.

References MdcxHel::d0, MdcxHel::sphi0, and MdcxHel::xref.

Referenced by MdcxHel::copy(), MdcxFittedHel::DoFit(), MdcxHel::flip(), and MdcxFindTracks::process().

00077                        {
00078   return (xref - sphi0*d0);
00079 }//endof X0

double MdcxHel::Xc (  )  const [inherited]

Definition at line 59 of file MdcxHel.cxx.

References MdcxHel::omega, MdcxHel::ominfl, MdcxHel::sphi0, and MdcxHel::x0.

Referenced by MdcxHel::copy(), MdcxFittedHel::DoFit(), MdcxAddHits::GetAssociates(), and MdcxFindTracks::process().

00059                         {
00060   if(ominfl) {
00061     //return (X0() - sphi0/omega);
00062     return (x0 - sphi0/omega);
00063   } else {
00064     return 999999999.9;
00065   }//(ominfl)
00066 }//endof Xc

double MdcxHel::Xh ( double  l  )  const [inherited]

Definition at line 85 of file MdcxHel.cxx.

References MdcxHel::cphi0, MdcxHel::omega, MdcxHel::ominfl, MdcxHel::phi0, sin(), MdcxHel::sphi0, MdcxHel::x0, and MdcxHel::xc.

Referenced by MdcxHel::Doca(), and MdcxAddHits::GetAssociates().

00085                                {
00086   if(ominfl){
00087     double phit=phi0+omega*l;
00088     return (xc+sin(phit)/omega);
00089   }else{
00090     return (x0+cphi0*l-0.5*l*l*omega*sphi0);
00091   }//ominfl
00092 }//endof Xh

const HepAList<MdcxHit>& MdcxFittedHel::XHitList (  )  const [inline, inherited]

Definition at line 59 of file MdcxFittedHel.h.

References MdcxFittedHel::xHitList.

Referenced by MdcxFindTracks::drophits(), MdcxTrackFinder::FitMdcxTrack(), MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), printSeg(), printSegAll(), MdcxFindTracks::process(), MdcxFindTracks::resout(), and MdcxFindTracks::testFromSameTrack().

00059 { return xHitList; }

double MdcxSeg::Xline_bbrrf (  )  [inline]

Definition at line 15 of file MdcxSeg.h.

References MdcxHel::d0, MdcxHel::sphi0, and MdcxHel::xref.

Referenced by printSegAll().

00015 { return xref-sphi0*d0; }

double MdcxSeg::Xline_slope (  )  [inline]

Definition at line 17 of file MdcxSeg.h.

References MdcxFittedHel::xHitList.

Referenced by printSegAll().

00017 { return xHitList[0]->wx()/xHitList[0]->wz(); }

double MdcxHel::Xref (  )  const [inline, inherited]

Definition at line 59 of file MdcxHel.h.

References MdcxHel::xref.

Referenced by MdcxHel::copy(), printSegAll(), and MdcxFindTracks::TakeToOrigin().

00059 {return xref;}

double MdcxHel::Y (  )  const [inline, inherited]

Definition at line 60 of file MdcxHel.h.

References MdcxHel::yref.

00060 {return yref;}

double MdcxHel::Y0 (  )  const [inherited]

Definition at line 81 of file MdcxHel.cxx.

References MdcxHel::cphi0, MdcxHel::d0, and MdcxHel::yref.

Referenced by MdcxHel::copy(), MdcxFittedHel::DoFit(), MdcxHel::flip(), and MdcxFindTracks::process().

00081                        {
00082   return (yref + cphi0*d0);
00083 }//endof Y0

double MdcxHel::Yc (  )  const [inherited]

Definition at line 68 of file MdcxHel.cxx.

References MdcxHel::cphi0, MdcxHel::omega, MdcxHel::ominfl, and MdcxHel::y0.

Referenced by MdcxHel::copy(), MdcxFittedHel::DoFit(), MdcxAddHits::GetAssociates(), and MdcxFindTracks::process().

00068                         {
00069   if(ominfl) {
00070     //return (Y0()+cphi0/omega);
00071     return (y0 + cphi0/omega);
00072   } else {
00073     return 999999999.9;
00074   }//(ominfl)
00075 }//endof Yc

double MdcxHel::Yh ( double  l  )  const [inherited]

Definition at line 94 of file MdcxHel.cxx.

References cos(), MdcxHel::cphi0, MdcxHel::omega, MdcxHel::ominfl, MdcxHel::phi0, MdcxHel::sphi0, MdcxHel::y0, and MdcxHel::yc.

Referenced by MdcxHel::Doca(), and MdcxAddHits::GetAssociates().

00094                                {
00095   if(ominfl){
00096     double phit=phi0+omega*l;
00097     return (yc-cos(phit)/omega);
00098   }else{
00099     return (y0+sphi0*l+0.5*l*l*omega*cphi0);
00100   }//ominfl
00101 }//endof Yh

double MdcxSeg::Yline_bbrrf (  )  [inline]

Definition at line 16 of file MdcxSeg.h.

References MdcxHel::cphi0, MdcxHel::d0, and MdcxHel::yref.

Referenced by printSegAll().

00016 { return yref+cphi0*d0; }

double MdcxSeg::Yline_slope (  )  [inline]

Definition at line 18 of file MdcxSeg.h.

References MdcxFittedHel::xHitList.

Referenced by printSegAll().

00018 { return xHitList[0]->wy()/xHitList[0]->wz(); }

double MdcxHel::Yref (  )  const [inline, inherited]

Definition at line 61 of file MdcxHel.h.

References MdcxHel::yref.

Referenced by MdcxHel::copy(), printSegAll(), and MdcxFindTracks::TakeToOrigin().

00061 {return yref;}

double MdcxHel::Z0 (  )  const [inline, inherited]

Definition at line 56 of file MdcxHel.h.

References MdcxHel::z0.

Referenced by MdcxHel::copy(), MdcxTrackFinder::FitMdcxTrack(), and MdcxFindTracks::TakeToOrigin().

00056 {return z0;}

double MdcxHel::Zh ( double  l  )  const [inherited]

Definition at line 103 of file MdcxHel.cxx.

References MdcxHel::tanl, and MdcxHel::z0.

Referenced by MdcxHel::Doca(), and MdcxHel::flip().

00103                                {
00104   return (z0+tanl*l);
00105 }//endof Zh


Member Data Documentation

int MdcxSeg::amb [private]

Definition at line 25 of file MdcxSeg.h.

Referenced by MdcxSeg(), printSeg(), and printSegAll().

double MdcxSeg::c1 [private]

Definition at line 26 of file MdcxSeg.h.

Referenced by D0_sl_approx(), and MdcxSeg().

double MdcxSeg::c2 [private]

Definition at line 26 of file MdcxSeg.h.

Referenced by MdcxSeg(), and Phi0_sl_approx().

float MdcxFittedHel::chisq [protected, inherited]

Definition at line 81 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::Chisq(), MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxFittedHel::Grow(), MdcxFittedHel::IterateFit(), and MdcxFittedHel::operator=().

int MdcxHel::code [protected, inherited]

Definition at line 137 of file MdcxHel.h.

Referenced by MdcxHel::Code(), MdcxHel::copy(), MdcxHel::print(), MdcxHel::SetD0(), MdcxHel::SetOmega(), MdcxHel::SetPhi0(), MdcxHel::SetT0(), MdcxHel::SetTanl(), and MdcxHel::SetZ0().

double MdcxHel::cosl [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

double MdcxHel::cphi0 [protected, inherited]

Definition at line 131 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::CosPhi0(), MdcxHel::derivatives(), MdcxHel::Doca(), MdcxFittedHel::DoFit(), MdcxHel::flip(), MdcxHel::Px(), MdcxHel::Xh(), MdcxHel::Y0(), MdcxHel::Yc(), MdcxHel::Yh(), and Yline_bbrrf().

double MdcxHel::d0 [protected, inherited]

Definition at line 123 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::D0(), D0_sl_approx(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxHel::flip(), MdcxHel::Lmax(), MdcxHel::print(), printSegAll(), MdcxHel::X0(), Xline_bbrrf(), MdcxHel::Y0(), and Yline_bbrrf().

int MdcxFittedHel::debug = 0 [static, inherited]

Definition at line 116 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::DoFit(), MdcxTrackFinder::initialize(), and MdcxFittedHel::IterateFit().

Hep3Vector MdcxHel::dvec [protected, inherited]

Definition at line 163 of file MdcxHel.h.

Referenced by MdcxHel::Doca().

double MdcxHel::eang [protected, inherited]

Definition at line 164 of file MdcxHel.h.

Referenced by MdcxHel::Doca(), and MdcxHel::Doca_Eang().

double MdcxHel::f0 [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

int MdcxFittedHel::fail [protected, inherited]

Definition at line 80 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::Fail(), MdcxFittedHel::FitPrint(), MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), and MdcxFittedHel::ReFit().

float MdcxFittedHel::fittime [protected, inherited]

Definition at line 84 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::FitPrint(), MdcxFittedHel::Fittime(), MdcxFittedHel::Grow(), and MdcxFittedHel::operator=().

int MdcxFittedHel::itofit [protected, inherited]

Definition at line 86 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::FitPrint(), MdcxFittedHel::Grow(), MdcxFittedHel::IterateFit(), MdcxFittedHel::Itofit(), and MdcxFittedHel::operator=().

double MdcxHel::len [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), MdcxHel::Doca(), MdcxHel::Doca_FLen(), MdcxHel::Doca_Len(), and MdcxHel::Doca_Tof().

int MdcxHel::mode [protected, inherited]

Definition at line 145 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxHel::Mode(), MdcxHel::print(), and MdcxHel::SetMode().

int MdcxHel::nfree [protected, inherited]

Definition at line 153 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxFittedHel::Grow(), MdcxFittedHel::IterateFit(), MdcxHel::Nfree(), MdcxHel::print(), MdcxHel::SetD0(), MdcxHel::SetOmega(), MdcxHel::SetPhi0(), MdcxHel::SetT0(), MdcxHel::SetTanl(), and MdcxHel::SetZ0().

int MdcxFittedHel::nhits [protected, inherited]

Definition at line 85 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxFittedHel::Grow(), MdcxFittedHel::IterateFit(), MdcxFittedHel::Layer(), MdcxFittedHel::Nhits(), MdcxFittedHel::operator=(), MdcxFittedHel::OriginIncluded(), and MdcxFittedHel::SuperLayer().

double MdcxHel::omega [protected, inherited]

Definition at line 125 of file MdcxHel.h.

Referenced by MdcxHel::copy(), D0_sl_approx(), MdcxHel::derivatives(), MdcxHel::Doca(), MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxHel::flip(), MdcxHel::Lmax(), MdcxHel::Omega(), Phi0_sl_approx(), MdcxHel::print(), printSegAll(), MdcxHel::Ptot(), MdcxHel::Px(), MdcxHel::Py(), MdcxHel::Pz(), MdcxHel::Xc(), MdcxHel::Xh(), MdcxHel::Yc(), and MdcxHel::Yh().

double MdcxHel::omin [protected, inherited]

Definition at line 158 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxFittedHel::DoFit(), and MdcxHel::Omin().

int MdcxHel::ominfl [protected, inherited]

Definition at line 154 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxHel::Doca(), MdcxFittedHel::DoFit(), MdcxHel::flip(), MdcxHel::Lmax(), MdcxHel::Ominfl(), MdcxHel::print(), MdcxHel::Ptot(), MdcxHel::Px(), MdcxHel::Py(), MdcxHel::Pz(), MdcxHel::Xc(), MdcxHel::Xh(), MdcxHel::Yc(), and MdcxHel::Yh().

int MdcxFittedHel::origin [protected, inherited]

Definition at line 88 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), and MdcxFittedHel::Origin().

int MdcxSeg::pat [private]

Definition at line 24 of file MdcxSeg.h.

Referenced by MdcxSeg(), and Pat().

double MdcxHel::phi [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

double MdcxHel::phi0 [protected, inherited]

Definition at line 124 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::Doca(), MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxHel::flip(), MdcxHel::Phi0(), Phi0_sl_approx(), MdcxHel::print(), printSegAll(), MdcxHel::Px(), MdcxHel::Py(), MdcxHel::Xh(), and MdcxHel::Yh().

float MdcxFittedHel::prob [protected, inherited]

Definition at line 83 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::Fail(), MdcxFittedHel::FitPrint(), MdcxFittedHel::Grow(), MdcxFittedHel::IterateFit(), MdcxFittedHel::operator=(), and MdcxFittedHel::Prob().

int MdcxHel::qd0 [protected, inherited]

Definition at line 147 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxHel::Qd0(), and MdcxHel::SetD0().

int MdcxHel::qomega [protected, inherited]

Definition at line 149 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxHel::Qomega(), and MdcxHel::SetOmega().

int MdcxHel::qphi0 [protected, inherited]

Definition at line 148 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxHel::Qphi0(), and MdcxHel::SetPhi0().

int MdcxHel::qt0 [protected, inherited]

Definition at line 152 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxHel::Qt0(), and MdcxHel::SetT0().

int MdcxHel::qtanl [protected, inherited]

Definition at line 151 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxHel::Qtanl(), and MdcxHel::SetTanl().

int MdcxFittedHel::quality [protected, inherited]

Definition at line 87 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), MdcxFittedHel::Quality(), and MdcxFittedHel::SetQuality().

int MdcxHel::qz0 [protected, inherited]

Definition at line 150 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxHel::Qz0(), and MdcxHel::SetZ0().

float MdcxFittedHel::rcs [protected, inherited]

Definition at line 82 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::FitPrint(), MdcxFittedHel::Grow(), MdcxFittedHel::IterateFit(), MdcxFittedHel::operator=(), and MdcxFittedHel::Rcs().

int MdcxHel::samb [protected, inherited]

Definition at line 164 of file MdcxHel.h.

Referenced by MdcxHel::Doca(), and MdcxHel::Doca_Samb().

double MdcxFittedHel::sfac [protected, inherited]

Definition at line 90 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), and MdcxFittedHel::Sfac().

double MdcxHel::sinl [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::Doca().

double MdcxHel::sphi0 [protected, inherited]

Definition at line 132 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxHel::Doca(), MdcxFittedHel::DoFit(), MdcxHel::flip(), MdcxHel::Py(), MdcxHel::SinPhi0(), MdcxHel::X0(), MdcxHel::Xc(), MdcxHel::Xh(), Xline_bbrrf(), and MdcxHel::Yh().

double MdcxHel::t0 [protected, inherited]

Definition at line 128 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxFittedHel::DoFit(), MdcxHel::print(), and MdcxHel::T0().

double MdcxHel::tanl [protected, inherited]

Definition at line 127 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::Doca(), MdcxHel::Doca_FLen(), MdcxHel::Doca_Tof(), MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxHel::flip(), MdcxHel::print(), MdcxHel::Ptot(), MdcxHel::Pz(), MdcxHel::Tanl(), and MdcxHel::Zh().

int MdcxHel::turnflag [protected, inherited]

Definition at line 155 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::Doca(), MdcxHel::GetTurnFlag(), and MdcxHel::SetTurnFlag().

Hep3Vector MdcxHel::tvec [protected, inherited]

Definition at line 163 of file MdcxHel.h.

Referenced by MdcxHel::Doca().

double MdcxHel::tx [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

double MdcxHel::ty [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

double MdcxHel::tz [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::Doca().

int MdcxFittedHel::usedonhel [protected, inherited]

Definition at line 91 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::GetUsedOnHel(), MdcxFittedHel::Grow(), MdcxFittedHel::operator=(), and MdcxFittedHel::SetUsedOnHel().

Hep3Vector MdcxHel::vhat [protected, inherited]

Definition at line 163 of file MdcxHel.h.

Referenced by MdcxHel::Doca().

double MdcxHel::vx [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

double MdcxHel::vy [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

double MdcxHel::vz [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

int MdcxHel::wamb [protected, inherited]

Definition at line 164 of file MdcxHel.h.

Referenced by MdcxHel::Doca(), and MdcxHel::Doca_Wamb().

Hep3Vector MdcxHel::wvec [protected, inherited]

Definition at line 163 of file MdcxHel.h.

Referenced by MdcxHel::Doca().

double MdcxHel::x0 [protected, inherited]

Definition at line 133 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxHel::flip(), MdcxHel::print(), MdcxHel::Xc(), and MdcxHel::Xh().

double MdcxHel::xc [protected, inherited]

Definition at line 135 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::Doca(), MdcxFittedHel::DoFit(), MdcxHel::print(), and MdcxHel::Xh().

double MdcxHel::xh [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

HepAList<MdcxHit> MdcxFittedHel::xHitList [protected, inherited]

Definition at line 89 of file MdcxFittedHel.h.

Referenced by MdcxFittedHel::basics(), MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxFittedHel::Grow(), MdcxFittedHel::Layer(), MdcxFittedHel::operator=(), MdcxFittedHel::OriginIncluded(), MdcxFittedHel::Pull(), MdcxFittedHel::Residual(), MdcxFittedHel::SuperLayer(), MdcxFittedHel::VaryRes(), MdcxFittedHel::XHitList(), Xline_slope(), and Yline_slope().

double MdcxHel::xref [protected, inherited]

Definition at line 129 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::Doca(), MdcxHel::print(), MdcxHel::SetRef(), MdcxHel::X(), MdcxHel::X0(), Xline_bbrrf(), and MdcxHel::Xref().

double MdcxHel::y0 [protected, inherited]

Definition at line 134 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::derivatives(), MdcxFittedHel::DoFit(), MdcxHel::flip(), MdcxHel::print(), MdcxHel::Yc(), and MdcxHel::Yh().

double MdcxHel::yc [protected, inherited]

Definition at line 136 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::Doca(), MdcxFittedHel::DoFit(), MdcxHel::print(), and MdcxHel::Yh().

double MdcxHel::yh [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::derivatives(), and MdcxHel::Doca().

double MdcxHel::yref [protected, inherited]

Definition at line 130 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::Doca(), MdcxHel::print(), MdcxHel::SetRef(), MdcxHel::Y(), MdcxHel::Y0(), Yline_bbrrf(), and MdcxHel::Yref().

double MdcxHel::z0 [protected, inherited]

Definition at line 126 of file MdcxHel.h.

Referenced by MdcxHel::copy(), MdcxHel::Doca(), MdcxFittedHel::DoFit(), MdcxFittedHel::FitPrint(), MdcxHel::flip(), MdcxHel::print(), MdcxHel::Z0(), and MdcxHel::Zh().

double MdcxHel::zh [protected, inherited]

Definition at line 162 of file MdcxHel.h.

Referenced by MdcxHel::Doca(), and MdcxHel::Doca_Zh().


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