T3DLine Class Reference

A class to represent a track in tracking. More...

#include <T3DLine.h>

Inheritance diagram for T3DLine:

TTrackBase List of all members.

Public Member Functions

 T3DLine ()
 Constructors.
 T3DLine (const TTrack &)
 T3DLine (const T3DLine &)
virtual ~T3DLine ()
 Destructor.
double dr (void) const
 Track parameters.
double phi0 (void) const
double dz (void) const
double tanl (void) const
double cosPhi0 (void) const
double sinPhi0 (void) const
Vector a (void) const
const SymMatrixEa (void) const
 returns error matrix
const HepPoint3Dpivot (void) const
 pivot position
Helix helix (void) const
 approximated helix class
unsigned ndf (void) const
 returns NDF
double chi2 (void) const
 returns chi2.
double reducedchi2 (void) const
 returns reduced-chi2
unsigned objectType (void) const
 returns object type
HepPoint3D x (double) const
 returns position on 3D line
HepPoint3D x0 (void) const
 returns 3D line component x(t)=x0 + t * k
HepVector3D k (void) const
int approach (TMLink &, bool sagCorrection=true) const
 calculates the closest approach to a wire in real space. Results are stored in TMLink. Return value is negative if error happened.
int approach_line (const HepPoint3D &, const HepVector3D &, HepPoint3D &onLine, HepPoint3D &onTrack) const
 caluculate closest points between a line and this track
int approach_point (const HepPoint3D &, HepPoint3D &onTrack) const
 caluculate closest point between a point and this track
const HepPoint3Dpivot (const HepPoint3D &)
 set new pivot
void set (const HepPoint3D &, double t_dr, double t_phi0, double t_dz, double t_tanl)
 set track parameters,pivot
Vector a (const Vector &)
 set track parameters
const SymMatrixEa (const SymMatrix &)
 set error matrix
virtual unsigned type (void) const
 returns type. Definition is depending on an object class.
virtual void dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
 dumps debug information.
const AList< TMLink > & links (unsigned mask=0) const
 returns a list of masked TMLinks assigned to this track. 'mask' will be applied if mask is not 0.
unsigned nLinks (unsigned mask=0) const
 returns # of masked TMLinks assigned to this track object.
const AList< TMLink > & cores (unsigned mask=0) const
 returns a list of masked TMLinks for fit. 'mask' will be applied if mask is not 0.
unsigned nCores (unsigned mask=0) const
 returns # of masked TMLinks for fit. 'mask' will be applied if mask is not 0.
void update (void) const
 update cache.
void append (TMLink &)
 appends a TMLink.
void append (const AList< TMLink > &)
 appends TMLinks.
void appendByApproach (AList< TMLink > &list, double maxSigma)
 appends TMLinks by approach. 'list' is an input. Unappended TMLinks will be removed from 'list' when returned.
void appendByDistance (AList< TMLink > &list, double maxDistance)
 appends TMLinks by distance. 'list' is an input. Unappended TMLinks will be removed from 'list' when returned.
void remove (TMLink &a)
 removes a TMLink.
void remove (const AList< TMLink > &)
 removes TMLinks.
virtual void refine (AList< TMLink > &list, double maxSigma)
 removes bad points by pull. The bad points are removed from the track, and are returned in 'list'.
virtual void refine (double maxSigma)
 removes bad points by pull. The bad points are masked not to be used in fit.
virtual int DropWorst ()
virtual void removeLinks (void)
virtual double distance (const TMLink &) const
 returns distance to a position of TMLink in TMLink space.
virtual int approach (TMLink &) const
 calculates the closest approach to a wire in real space. Results are stored in TMLink. Return value is negative if error happened.
unsigned testByApproach (const TMLink &list, double sigma) const
 returns # of good hits to be appended.
unsigned testByApproach (const AList< TMLink > &list, double sigma) const
virtual int fit (void)
 fits itself by a default fitter. Error was happened if return value is not zero.
const TMFitter *const fitter (void) const
 returns a pointer to a default fitter.
const TMFitter *const fitter (const TMFitter *)
 sets a default fitter.
void falseFit ()
 false Fit
TMLinkoperator[] (unsigned i) const
const TTrackHEP *const hep (void) const
 returns TTrackHEP.
unsigned nHeps (void) const
 returns # of contributed TTrackHEP tracks.
const TTrackMC *const mc (void) const
 returns a pointer to TTrackMC.
bool fitted (void) const
 returns true if fitted.
bool fittedWithCathode (void) const
 returns true if fitted with cathode hits(TEMPORARY).

Protected Attributes

AList< TMLink_links
bool _fitted
bool _fittedWithCathode
TTrackMC_mc

Private Attributes

HepPoint3D _pivot
double _dr
double _phi0
double _dz
double _tanl
SymMatrix _Ea
double _chi2
unsigned _ndf
double _cos_phi0
double _sin_phi0

Static Private Attributes

static const T3DLineFitter _fitter = T3DLineFitter("T3DLine Default fitter")

Friends

class T3DLineFitter

Detailed Description

A class to represent a track in tracking.

Definition at line 50 of file T3DLine.h.


Constructor & Destructor Documentation

T3DLine::T3DLine (  ) 

Constructors.

Definition at line 21 of file T3DLine.cxx.

References _cos_phi0, TTrackBase::_fitted, TTrackBase::_fittedWithCathode, _fitter, _sin_phi0, and TTrackBase::fitter().

00022   : TTrackBase(),
00023     _dr(0),_phi0(0),_dz(0),_tanl(0),
00024     _chi2(0),_ndf(0),_Ea(SymMatrix(4,0)),
00025     _pivot(ORIGIN){
00026 
00027   _cos_phi0 = 1;
00028   _sin_phi0 = 0;
00029 
00030   //...Set a default fitter...
00031   fitter(& T3DLine::_fitter);
00032 
00033   _fitted = false;
00034   _fittedWithCathode = false;
00035 }

T3DLine::T3DLine ( const TTrack  ) 

Definition at line 37 of file T3DLine.cxx.

References _cos_phi0, TTrackBase::_fitted, TTrackBase::_fittedWithCathode, _fitter, _phi0, _sin_phi0, cos(), TTrackBase::fitter(), and sin().

00038   : TTrackBase((TTrackBase &) a),
00039     _dr(a.helix().dr()),
00040     _phi0(a.helix().phi0()),
00041     _dz(a.helix().dz()),
00042     _tanl(a.helix().tanl()),
00043     _chi2(0),_ndf(0),_Ea(SymMatrix(4,0)),
00044     _pivot(a.helix().pivot()){
00045 
00046   _cos_phi0 = cos(_phi0);
00047   _sin_phi0 = sin(_phi0);
00048 
00049   //...Set a default fitter...
00050   fitter(& T3DLine::_fitter);
00051 
00052   _fitted = false;
00053   _fittedWithCathode = false;
00054 }

T3DLine::T3DLine ( const T3DLine  ) 

Definition at line 59 of file T3DLine.cxx.

References _cos_phi0, TTrackBase::_fitted, TTrackBase::_fittedWithCathode, _fitter, _phi0, _sin_phi0, cos(), TTrackBase::fitter(), and sin().

00060   : TTrackBase((TTrackBase &) a),
00061     _dr(a.dr()),
00062     _phi0(a.phi0()),
00063     _dz(a.dz()),
00064     _tanl(a.tanl()),
00065     _chi2(a.chi2()),_ndf(a.ndf()),
00066     _Ea(a.Ea()),
00067     _pivot(a.pivot()){
00068 
00069   _cos_phi0 = cos(_phi0);
00070   _sin_phi0 = sin(_phi0);
00071 
00072   //...Set a default fitter...
00073   fitter(& T3DLine::_fitter);
00074 
00075   _fitted = false;
00076   _fittedWithCathode = false;
00077 }

T3DLine::~T3DLine (  )  [virtual]

Destructor.

Definition at line 56 of file T3DLine.cxx.

00056                  {
00057 }


Member Function Documentation

Vector T3DLine::a ( const Vector  ) 

set track parameters

Definition at line 187 of file T3DLine.cxx.

References _cos_phi0, _dr, _dz, _phi0, _sin_phi0, _tanl, cos(), and sin().

00187                                  {
00188   _dr = ta[0];
00189   _phi0 = ta[1];
00190   _dz = ta[2];
00191   _tanl = ta[3];
00192   _cos_phi0 = cos(_phi0);
00193   _sin_phi0 = sin(_phi0);
00194   return(ta);
00195 }

Vector T3DLine::a ( void   )  const

Definition at line 107 of file T3DLine.cxx.

References _dr, _dz, _phi0, and _tanl.

Referenced by helix().

00107                            {
00108   Vector ta(4);
00109   ta[0] = _dr;
00110   ta[1] = _phi0;
00111   ta[2] = _dz;
00112   ta[3] = _tanl;
00113   return(ta);
00114 }

void TTrackBase::append ( const AList< TMLink > &   )  [inherited]

appends TMLinks.

Definition at line 384 of file TTrackBase.cxx.

References TTrackBase::_fitted, TTrackBase::_fittedWithCathode, TTrackBase::_links, TTrackBase::_updated, genRecEmupikp::i, and WireHitUsed.

00384                                           {
00385     AList<TMLink> tmp;
00386     for (unsigned i = 0; i < a.length(); i++) {
00387         if ((_links.hasMember(a[i])) || (a[i]->hit()->state() & WireHitUsed)) {
00388 #ifdef TRKRECO_DEBUG_DETAIL
00389             std::cout << "    TTrackBase::append(list) !!! ";
00390             std::cout << a[i]->wire()->name();
00391             std::cout << " Hey!, this is already used! Don't mess with me.";
00392             std::cout << std::endl;
00393 #endif
00394             continue;
00395         }
00396         else {
00397             tmp.append(a[i]);
00398         }
00399     }
00400     _links.append(tmp);
00401     _updated = false;
00402     _fitted = false;
00403     _fittedWithCathode = false; // added by matsu ( 1999/05/24 )
00404 }

void TTrackBase::append ( TMLink  )  [inherited]

appends a TMLink.

Definition at line 362 of file TTrackBase.cxx.

References TTrackBase::_fitted, TTrackBase::_fittedWithCathode, TTrackBase::_links, TTrackBase::_updated, TMLink::hit(), TMDCWire::name(), TMDCWireHit::state(), TMLink::wire(), and WireHitUsed.

Referenced by TBuilderCosmic::buildStereo(), TBuilder0::buildStereo(), TBuilder::buildStereo(), TBuilder0::buildStereo0(), TBuilderCurl::buildStereoMC(), TBuilder::buildStereoNew(), THistogram::clusters(), THistogram::clusters0(), TCurlFinder::dividing2DTrack(), TrkReco::execute(), TConformalFinder::link(), TCurlFinder::make2DTrack(), TTrackManager::merge(), TTrackManager::salvageAssociateHits(), TSegment0::splitAV(), TSegment::splitAV(), TSegment0::splitParallel(), TSegment::splitParallel(), and TConformalFinder0::standardFinding().

00362                              {
00363     if ((a.hit()->state() & WireHitUsed)) {
00364 #ifdef TRKRECO_DEBUG_DETAIL
00365         std::cout << "TTrackBase::append !!! " << a.wire()->name()
00366                   << " this is already used by another track!" << std::endl;
00367 #endif
00368         return;
00369     }
00370     if (_links.hasMember(a)) {
00371 #ifdef TRKRECO_DEBUG_DETAIL
00372         std::cout << "TTrackBase::append !!! " << a.wire()->name()
00373                   << " this is already included in this track!" << std::endl;
00374 #endif
00375         return;
00376     }
00377     _links.append(a);
00378     _updated = false;
00379     _fitted = false;
00380     _fittedWithCathode = false; // added by matsu ( 1999/05/24 )
00381 }

void TTrackBase::appendByApproach ( AList< TMLink > &  list,
double  maxSigma 
) [inherited]

appends TMLinks by approach. 'list' is an input. Unappended TMLinks will be removed from 'list' when returned.

Definition at line 101 of file TTrackBase.cxx.

References TTrackBase::_fitted, TTrackBase::_links, TTrackBase::_updated, TTrackBase::approach(), TTrackBase::distance(), showlog::err, genRecEmupikp::i, and WireHitUsed.

Referenced by TBuilder0::appendClusters(), and TTrackManager::salvage().

00101                                                                   {
00102 #ifdef TRKRECO_DEBUG_DETAIL
00103     std::cout << "    TTrackBase::appendByApproach ... sigma=" << maxSigma << std::endl;
00104 #endif
00105 
00106     AList<TMLink> unused;
00107     unsigned n = list.length();
00108     for (unsigned i = 0; i < n; i++) {
00109         TMLink & l = * list[i];
00110 
00111         if ((_links.hasMember(l)) || (l.hit()->state() & WireHitUsed))
00112             continue;
00113 
00114         //...Calculate closest approach...
00115         int err = approach(l);
00116         if (err < 0) {
00117             unused.append(l);
00118             continue;
00119         }
00120 
00121         //...Calculate sigma...
00122         float distance = (l.positionOnWire() - l.positionOnTrack()).mag();
00123         float diff = fabs(distance - l.drift());
00124         float sigma = diff / l.dDrift();
00125 
00126         //...For debug...
00127 #ifdef TRKRECO_DEBUG_DETAIL
00128         std::cout << "    sigma=" << sigma;
00129         std::cout << ",dist=" << distance;
00130         std::cout << ",diff=" << diff;
00131         std::cout << ",err=" << l.hit()->dDrift() << ",";
00132         if (sigma < maxSigma) std::cout << "ok,";
00133         else                  std::cout << "X,";
00134         l.dump("mc");
00135 #endif
00136                 
00137         //...Make sigma cut...
00138         if (sigma > maxSigma) {
00139             unused.append(l);
00140             continue;
00141         }
00142 
00143         //...OK...
00144         _links.append(l);
00145         _updated = false;
00146         _fitted = false;
00147     }
00148     list.remove(unused);
00149 }

void TTrackBase::appendByDistance ( AList< TMLink > &  list,
double  maxDistance 
) [inherited]

appends TMLinks by distance. 'list' is an input. Unappended TMLinks will be removed from 'list' when returned.

Definition at line 152 of file TTrackBase.cxx.

00152                                                                {
00153     std::cout << "TTrackBase::appendByDistance !!! not implemented" << std::endl;
00154     list.removeAll();
00155 }

int TTrackBase::approach ( TMLink  )  const [virtual, inherited]

calculates the closest approach to a wire in real space. Results are stored in TMLink. Return value is negative if error happened.

Reimplemented in TTrack.

Definition at line 95 of file TTrackBase.cxx.

Referenced by TTrackBase::appendByApproach(), and TTrackBase::testByApproach().

00095                                    {
00096     std::cout << "TTrackBase::approach !!! not implemented" << std::endl;
00097     return -1;
00098 }

int T3DLine::approach ( TMLink ,
bool  sagCorrection = true 
) const

calculates the closest approach to a wire in real space. Results are stored in TMLink. Return value is negative if error happened.

Definition at line 202 of file T3DLine.cxx.

References approach_line(), TMLink::positionOnTrack(), TMLink::positionOnWire(), v, w, and TMLink::wire().

00202                                                          {
00203 
00204   const TMDCWire& w=*l.wire();
00205   HepPoint3D xw = w.xyPosition();
00206   HepPoint3D wireBackwardPosition = w.backwardPosition();
00207   HepVector3D v = w.direction();
00208 
00209   HepPoint3D onWire,onTrack;
00210 
00211   if(approach_line(wireBackwardPosition,v,onWire,onTrack)<0)
00212     return(-1);
00213 
00214   // onWire,onTrack filled
00215   
00216   if(!doSagCorrection){
00217     l.positionOnWire(onWire);
00218     l.positionOnTrack(onTrack);
00219     return(0);                          // no sag correction
00220   }
00221   // Sag correction
00222   //   loop for sag correction
00223   double onWire_y = onWire.y();
00224   double onWire_z = onWire.z();
00225 
00226   unsigned nTrial = 1;
00227   while(nTrial<100){
00228     w.wirePosition(onWire_z,xw,wireBackwardPosition,(HepVector3D&)v);
00229     if(approach_line(wireBackwardPosition,v,onWire,onTrack)<0)
00230       return(-1);
00231     if(fabs(onWire_y - onWire.y())<0.0001) break;       // |dy|< 1 micron
00232     onWire_y = onWire.y();
00233     onWire_z = onWire.z();
00234 
00235     nTrial++;
00236   }
00237 
00238   l.positionOnWire(onWire);
00239   l.positionOnTrack(onTrack);
00240   return(nTrial);
00241 }

int T3DLine::approach_line ( const HepPoint3D ,
const HepVector3D ,
HepPoint3D onLine,
HepPoint3D onTrack 
) const

caluculate closest points between a line and this track

Definition at line 243 of file T3DLine.cxx.

References k(), s, t(), and x0().

Referenced by approach().

00244                                                                         {
00245   //  line = [w0] + s * [v]    -> [onLine]
00246   //  trk  = [x0] + t * [k]    -> [onTrack]
00247   //  if [v]//[k] then return(-1) error
00248 
00249   const HepVector3D k = this->k();
00250   const double v_k = v.dot(k);
00251   const double v_2 = v.mag2();
00252   const double k_2 = k.mag2();
00253   const double tk = v_k*v_k - v_2*k_2;
00254   if(tk==0) return(-1);
00255 
00256   const HepPoint3D x0 = this->x0();
00257   const HepPoint3D dx = x0 - w0;
00258   const double t = dx.dot( v_2 * k - v_k * v)/tk;
00259   const double s = dx.dot( v_k * k - k_2 * v)/tk;
00260 
00261   onLine = w0 + s * v;
00262   onTrack = x0 + t * k;
00263   return(0);
00264 }

int T3DLine::approach_point ( const HepPoint3D ,
HepPoint3D onTrack 
) const

caluculate closest point between a point and this track

Definition at line 266 of file T3DLine.cxx.

References k(), t(), and x0().

00266                                                                          {
00267   //  trk  = [x0] + t * [k]    -> [onTrack]
00268   //  if [v]//[k] then return(-1) error
00269 
00270   const HepVector3D k = this->k();
00271   const HepPoint3D x0 = this->x0();
00272   const HepPoint3D dx = p0 - x0;
00273   const double t = dx.dot(k)/k.mag2();
00274 
00275   onTrack = x0 + t * k;
00276   return(0);
00277 }

double T3DLine::chi2 ( void   )  const

returns chi2.

Definition at line 131 of file T3DLine.cxx.

References _chi2.

00131                               {
00132   return _chi2;
00133 }

const AList< TMLink > & TTrackBase::cores ( unsigned  mask = 0  )  const [inherited]

returns a list of masked TMLinks for fit. 'mask' will be applied if mask is not 0.

Definition at line 317 of file TTrackBase.cxx.

References TTrackBase::_cores, TTrackBase::_updated, and TTrackBase::update().

Referenced by TBuilder::buildStereoNew(), TConformalFinder::expand(), TTrack::movePivot(), TRunge::SetFlightLength(), and TTrack::szPosition().

00317                                      {
00318     if (mask)
00319         std::cout << "TTrackBase::cores !!! mask is not supported" << std::endl;
00320     if (! _updated) update();
00321     return _cores;
00322 }

double T3DLine::cosPhi0 ( void   )  const

Definition at line 95 of file T3DLine.cxx.

References _cos_phi0.

00095                                  {
00096   return _cos_phi0;
00097 }

double TTrackBase::distance ( const TMLink  )  const [virtual, inherited]

returns distance to a position of TMLink in TMLink space.

Reimplemented in TLine0, and TMLine.

Definition at line 89 of file TTrackBase.cxx.

Referenced by TTrackBase::appendByApproach(), TTrack::fit2D(), and TTrackBase::testByApproach().

00089                                          {
00090     std::cout << "TTrackBase::distance !!! not implemented" << std::endl;
00091     return 0.;
00092 }

double T3DLine::dr ( void   )  const

Track parameters.

Definition at line 79 of file T3DLine.cxx.

References _dr.

Referenced by pivot().

00079                             {
00080   return _dr;
00081 }

int TTrackBase::DropWorst (  )  [virtual, inherited]

Definition at line 212 of file TTrackBase.cxx.

References TTrackBase::_fitted, TTrackBase::_links, TTrackBase::_updated, and genRecEmupikp::i.

Referenced by TrkReco::execute().

00212                       {
00213   AList<TMLink> bad;
00214   int jbad=-1;
00215   double sigma=0;
00216   unsigned n = _links.length();
00217   double chi2=0;
00218   for (unsigned i = 0; i < n; i++){
00219    // if(g_sigmalyr1)g_sigmalyr1->fill(sqrt(_links[i]->pull()),_links[i]->wire()->layerId());
00220     chi2+=_links[i]->pull();
00221     if (_links[i]->pull() > sigma){
00222       jbad=i; 
00223       sigma = _links[i]->pull();
00224     }
00225   }
00226         
00227   chi2=chi2/n;
00228   //if(sigma>9){bad.append(_links[jbad]);if(g_sigmalyr)g_sigmalyr->fill(sqrt(sigma),_links[jbad]->wire()->layerId());}
00229 //  if(sigma>20.25&&chi2>2.08){bad.append(_links[jbad]);}
00230   if(sigma>9){bad.append(_links[jbad]);}
00231   if (bad.length()) {
00232     _links.remove(bad);
00233     _fitted = false;
00234     _updated = false;
00235   }
00236   return bad.length();
00237 }

void TTrackBase::dump ( const std::string message = std::string(""),
const std::string prefix = std::string("") 
) const [virtual, inherited]

dumps debug information.

Reimplemented in TCircle, TLine0, TMLine, TSegment, TSegment0, and TTrack.

Definition at line 58 of file TTrackBase.cxx.

References TTrackBase::_links, TTrackBase::_updated, Dump(), TTrackBase::mc(), RealDBUtil::npos, and TTrackBase::update().

Referenced by TTrack::dump(), TSegment0::dump(), TSegment::dump(), TMLine::dump(), TLine0::dump(), and TCircle::dump().

00058                                                                    {
00059     bool mc = (msg.find("mc") != std::string::npos);
00060     bool pull = (msg.find("pull") != std::string::npos);
00061     bool flag = (msg.find("flag") != std::string::npos);
00062     bool detail = (msg.find("detail") != std::string::npos);
00063     if (detail)
00064         mc = pull = flag = true;
00065 
00066     if (detail || (msg.find("layer") != std::string::npos)) {
00067         if (! _updated) update();
00068     }
00069     if (detail || (msg.find("hits") != std::string::npos)) {
00070         Dump(_links, msg, pre);
00071     }
00072 }

double T3DLine::dz ( void   )  const

Definition at line 87 of file T3DLine.cxx.

References _dz.

Referenced by pivot().

00087                             {
00088   return _dz;
00089 }

const SymMatrix & T3DLine::Ea ( const SymMatrix  ) 

set error matrix

Definition at line 197 of file T3DLine.cxx.

References _Ea.

00197                                                 {
00198   _Ea = tEa;
00199   return(_Ea);
00200 }

const SymMatrix & T3DLine::Ea ( void   )  const

returns error matrix

Definition at line 116 of file T3DLine.cxx.

References _Ea.

00116                                       {
00117   return(_Ea);
00118 }

void TTrackBase::falseFit (  )  [inline, inherited]

false Fit

Definition at line 229 of file TTrackBase.h.

References TTrackBase::_fitted, and TTrackBase::_fittedWithCathode.

00229                     {
00230     _fitted = false;
00231     _fittedWithCathode = false;
00232 }

int TTrackBase::fit ( void   )  [virtual, inherited]

fits itself by a default fitter. Error was happened if return value is not zero.

Definition at line 357 of file TTrackBase.cxx.

References TTrackBase::_fitter, and TMFitter::fit().

Referenced by TBuilder0::buildRphi(), TBuilder::buildRphi(), TBuilderCosmic::buildStereo(), TBuilder0::buildStereo0(), and TConformalFinder::expand().

00357                     {
00358     return _fitter->fit(* this);
00359 }

bool TTrackBase::fitted ( void   )  const [inline, inherited]

returns true if fitted.

Definition at line 222 of file TTrackBase.h.

References TTrackBase::_fitted.

Referenced by TCosmicFitter::fit(), TBuilder::searchLine(), and TMSelector::select().

00222                              {
00223     return _fitted;
00224 }

bool TTrackBase::fittedWithCathode ( void   )  const [inline, inherited]

returns true if fitted with cathode hits(TEMPORARY).

Definition at line 243 of file TTrackBase.h.

References TTrackBase::_fittedWithCathode.

00243                                         {
00244     return _fittedWithCathode;
00245 }

const TMFitter *const TTrackBase::fitter ( const TMFitter  )  [inline, inherited]

sets a default fitter.

Definition at line 261 of file TTrackBase.h.

References TTrackBase::_fitted, and TTrackBase::_fitter.

00261                                      {
00262     _fitted = false;
00263     return _fitter = a;
00264 }

const TMFitter *const TTrackBase::fitter ( void   )  const [inline, inherited]

returns a pointer to a default fitter.

Definition at line 255 of file TTrackBase.h.

References TTrackBase::_fitter.

Referenced by T3DLine(), TCircle::TCircle(), TLine0::TLine0(), TMLine::TMLine(), TRunge::TRunge(), and TTrack::TTrack().

00255                              {
00256     return _fitter;
00257 }

Helix T3DLine::helix ( void   )  const

approximated helix class

Definition at line 120 of file T3DLine.cxx.

References _dr, _dz, _phi0, _pivot, _tanl, and a().

Referenced by TBuilderCosmic::buildStereo().

00120                               {
00121   HepVector a(5);
00122   a[0]=_dr;a[1]=_phi0;a[2]=1e-10;a[3]=_dz;a[4]=_tanl;
00123   Helix _helix(_pivot,a);
00124   return _helix;
00125 }

const TTrackHEP *const TTrackBase::hep ( void   )  const [inherited]

returns TTrackHEP.

Definition at line 407 of file TTrackBase.cxx.

References TTrackBase::_hep, TTrackBase::_links, TTrackBase::_nHeps, genRecEmupikp::i, ganga-rec::j, max, and TTrackBase::mc().

Referenced by TTrackBase::nHeps().

00407                           {
00408     unsigned n = _links.length();
00409     CAList<TTrackHEP> hepList;
00410     CList<unsigned> hepCounter;
00411     for (unsigned i = 0; i < n; i++) {
00412         const TTrackHEP * hep = _links[i]->hit()->mc()->hep();
00413         unsigned nH = hepList.length();
00414         bool found = false;
00415         for (unsigned j = 0; j < nH; j++) {
00416             if (hepList[j] == hep) {
00417                 found = true;
00418                 ++(* hepCounter[j]);
00419             }
00420         }
00421 
00422         if (! found) {
00423             hepList.append(hep);
00424             unsigned c = 0;
00425             hepCounter.append(c);
00426         }
00427     }
00428 
00429     _nHeps = hepList.length();
00430     _hep = 0;
00431     unsigned max = 0;
00432     for (unsigned i = 0; i < _nHeps; i++) {
00433         if ((* hepCounter[i]) > max) {
00434             max = (* hepCounter[i]);
00435             _hep = hepList[i];
00436         }
00437     }
00438 
00439     return _hep;
00440 }

HepVector3D T3DLine::k ( void   )  const

Definition at line 158 of file T3DLine.cxx.

References _cos_phi0, _sin_phi0, and _tanl.

Referenced by approach_line(), and approach_point().

00158                                 {
00159   HepPoint3D p(-_sin_phi0,_cos_phi0,_tanl);
00160   return p;
00161 }

const AList< TMLink > & TTrackBase::links ( unsigned  mask = 0  )  const [inherited]

returns a list of masked TMLinks assigned to this track. 'mask' will be applied if mask is not 0.

Definition at line 297 of file TTrackBase.cxx.

References TTrackBase::_links.

Referenced by TConformalFinder0::appendCluster(), TBuilder::build(), TBuilderCurl::buildStereo(), TBuilderCosmic::buildStereo(), TBuilder0::buildStereo0(), TBuilderCurl::buildStereoMC(), TBuilder::buildStereoNew(), TBuilderCurl::check(), TCurlFinder::check2DCircle(), TCurlFinder::check3DTrack(), TCurlFinder::dividing2DTrack(), TCurlFinder::dumpType1(), TCurlFinder::dumpType2(), TrkReco::execute(), TConformalFinder0::findCloseClusters(), TFastFinder::findCloseHits(), TConformalFinder0::findCloseHits(), TConformalFinder0::findClusterLink(), TCosmicFitter::fit(), TCurlFinder::fitWDD(), TCurlFinder::make2DTrack(), TCurlFinder::make3DTrack(), TCurlFinder::makeWithMC(), TCurlFinder::mask3DTrack(), TTrackManager::merge(), TTrack::movePivot(), TCurlFinder::plotCircle(), TCurlFinder::plotTrack(), TMSelector::preSelect(), TCurlFinder::removeStereo(), TConformalFinder::salvage(), TCurlFinder::salvage3DTrack(), TBuilder::searchLine(), TMDCTsf::segments(), TBuilderCurl::setArcZ(), TConformalFinder::slowFinding2D(), TSegment0::splitAV(), TSegment::splitAV(), TSegment::splitTsf(), TConformalFinder::stereoSegments(), TSegment0::superLayerId(), TSegment::superLayerId(), TTrack::szPosition(), TCurlFinder::trace2DTrack(), TCurlFinder::trace3DTrack(), and TSegment::width().

00297                                      {
00298     if (mask == 0) return _links;
00299 
00300     std::cout << "TTrackBase::links !!! mask is not supportted yet" << std::endl;
00301     return _links;
00302 }

const TTrackMC *const TTrackBase::mc ( void   )  const [inline, inherited]

returns a pointer to TTrackMC.

Definition at line 249 of file TTrackBase.h.

References TTrackBase::_mc.

Referenced by TTrackBase::dump(), and TTrackBase::hep().

00249                          {
00250     return _mc;
00251 }

unsigned TTrackBase::nCores ( unsigned  mask = 0  )  const [inherited]

returns # of masked TMLinks for fit. 'mask' will be applied if mask is not 0.

Definition at line 325 of file TTrackBase.cxx.

References TTrackBase::_cores, TTrackBase::_updated, and TTrackBase::update().

Referenced by TTrack::dump(), and TConformalFinder::expand().

00325                                       {
00326     if (mask)
00327         std::cout << "TTrackBase::nCores !!! mask is not supported" << std::endl;
00328     if (! _updated) update();
00329     return _cores.length();
00330 }

unsigned T3DLine::ndf ( void   )  const

returns NDF

Definition at line 127 of file T3DLine.cxx.

References _ndf.

00127                                {
00128   return _ndf;
00129 }

unsigned TTrackBase::nHeps ( void   )  const [inherited]

returns # of contributed TTrackHEP tracks.

Definition at line 443 of file TTrackBase.cxx.

References TTrackBase::_nHeps, and TTrackBase::hep().

00443                             {
00444     hep();
00445     return _nHeps;
00446 }

unsigned TTrackBase::nLinks ( unsigned  mask = 0  )  const [inherited]

returns # of masked TMLinks assigned to this track object.

Definition at line 305 of file TTrackBase.cxx.

References TTrackBase::_links, and genRecEmupikp::i.

Referenced by TBuilderCurl::buildStereo(), TBuilderCurl::buildStereoMC(), TBuilderCurl::check(), TCurlFinder::check2DCircle(), TCurlFinder::check3DTrack(), TSegment0::clusterType(), TSegment::clusterType(), TCurlFinder::dividing2DTrack(), TCurlFinder::dumpType1(), TCurlFinder::dumpType2(), TCurlFinder::make2DTrack(), TCurlFinder::makeWithMC(), TCurlFinder::merge3DTrack(), TCurlFinder::plotCircle(), TCurlFinder::plotTrack(), TMSelector::preSelect(), TCurlFinder::salvage3DTrack(), TBuilderCurl::setArcZ(), TSegment0::splitComplicated(), TSegment::splitComplicated(), TSegment0::splitParallel(), TSegment::splitParallel(), TSegment0::updateType(), and TSegment::updateType().

00305                                       {
00306     unsigned n = _links.length();
00307     if (mask == 0) return n;
00308     unsigned nn = 0;
00309     for (unsigned i = 0; i < n; i++) {
00310         const TMDCWireHit & h = * _links[i]->hit();
00311         if (h.state() & mask) ++nn;
00312     }
00313     return nn;
00314 }

unsigned T3DLine::objectType ( void   )  const [inline, virtual]

returns object type

Reimplemented from TTrackBase.

Definition at line 150 of file T3DLine.h.

References Line3D.

00150                                              {
00151   return Line3D;
00152 }

TMLink * TTrackBase::operator[] ( unsigned  i  )  const [inline, inherited]

Definition at line 237 of file TTrackBase.h.

References TTrackBase::_links.

00237                                        {
00238     return _links[i];
00239 }

double T3DLine::phi0 ( void   )  const

Definition at line 83 of file T3DLine.cxx.

References _phi0.

00083                               {
00084   return _phi0;
00085 }

const HepPoint3D & T3DLine::pivot ( const HepPoint3D  ) 

set new pivot

Definition at line 163 of file T3DLine.cxx.

References _cos_phi0, _dr, _dz, _pivot, _sin_phi0, _tanl, dr(), and dz().

00163                                                           {
00164   double dr=(_pivot.x()-newpivot.x())*_cos_phi0
00165            +(_pivot.y()-newpivot.y())*_sin_phi0 + _dr;
00166   double dz=_pivot.z()-newpivot.z()+_dz
00167            +_tanl*((_pivot.x()-newpivot.x())*_sin_phi0
00168                   +(newpivot.y()-_pivot.y())*_cos_phi0);
00169   _dr=dr;
00170   _dz=dz;
00171   _pivot=newpivot;
00172   return _pivot;
00173 }

const HepPoint3D & T3DLine::pivot ( void   )  const

pivot position

Definition at line 103 of file T3DLine.cxx.

References _pivot.

00103                                           {
00104   return _pivot;
00105 }

double T3DLine::reducedchi2 ( void   )  const

returns reduced-chi2

Definition at line 135 of file T3DLine.cxx.

References _chi2, and _ndf.

00135                                      {
00136   if(_ndf==0){
00137     std::cout<<"error at T3DLine::reducedchi2  ndf=0"<<std::endl;
00138     return 0;
00139   }
00140   return (_chi2/_ndf);
00141 }

void TTrackBase::refine ( double  maxSigma  )  [virtual, inherited]

removes bad points by pull. The bad points are masked not to be used in fit.

Definition at line 194 of file TTrackBase.cxx.

References TTrackBase::_fitted, TTrackBase::_updated, Dump(), and TTrackBase::refineMain().

00194                                {
00195     AList<TMLink> bad = refineMain(sigma);
00196 //      for (unsigned i = 0; i < bad.length(); i++) {
00197 //      const TMDCWireHit * hit = bad[i]->hit();
00198 //      hit->state(hit->state() | WireHitInvalidForFit);
00199 //      }
00200 
00201 #ifdef TRKRECO_DEBUG_DETAIL
00202     std::cout << "    refine ... sigma=" << sigma << std::endl;
00203     Dump(bad, "detail sort", "        ");
00204 #endif
00205 
00206     if (bad.length()) {
00207         _fitted = false;
00208         _updated = false;
00209     }
00210 }

void TTrackBase::refine ( AList< TMLink > &  list,
double  maxSigma 
) [virtual, inherited]

removes bad points by pull. The bad points are removed from the track, and are returned in 'list'.

Definition at line 170 of file TTrackBase.cxx.

References TTrackBase::_fitted, TTrackBase::_links, TTrackBase::_updated, Dump(), and TTrackBase::refineMain().

Referenced by TBuilder0::appendClusters(), TBuilderCurl::buildStereo(), TBuilderCosmic::buildStereo(), TBuilder0::buildStereo(), TBuilder::buildStereo(), TBuilder0::buildStereo0(), and TBuilderCurl::buildStereoMC().

00170                                                      {
00171     AList<TMLink> bad = refineMain(sigma);
00172 #ifdef TRKRECO_DEBUG
00173     std::cout << "    refine ... sigma=" << sigma << ", # of rejected hits=";
00174     std::cout << bad.length() << std::endl;
00175 #endif
00176 #ifdef TRKRECO_DEBUG
00177     Dump(bad, "sort pull mc", "        ");
00178 #endif
00179 
00180     if (bad.length()) {
00181         _links.remove(bad);
00182         list.append(bad);
00183         _fitted = false;
00184         _updated = false;
00185     }
00186 }

void TTrackBase::remove ( const AList< TMLink > &   )  [inline, inherited]

removes TMLinks.

Definition at line 213 of file TTrackBase.h.

References TTrackBase::_fitted, TTrackBase::_fittedWithCathode, TTrackBase::_links, and TTrackBase::_updated.

00213                                           {
00214     _links.remove(a);
00215     _updated = false;
00216     _fitted = false;
00217     _fittedWithCathode = false; // mod. by matsu ( 1999/05/24 )
00218 }

void TTrackBase::remove ( TMLink a  )  [inline, inherited]

removes a TMLink.

Definition at line 204 of file TTrackBase.h.

References TTrackBase::_fitted, TTrackBase::_fittedWithCathode, TTrackBase::_links, and TTrackBase::_updated.

Referenced by TConformalFinder0::appendClusters2(), TBuilder::buildStereoNew(), TCurlFinder::dividing2DTrack(), TCurlFinder::makeWithMC(), TTrackManager::maskCurl(), TTrackManager::maskNormal(), TCurlFinder::removeStereo(), TBuilder::searchLine(), TConformalFinder0::specialFinding(), TSegment0::splitComplicated(), and TSegment::splitComplicated().

00204                              {
00205     _links.remove(a);
00206     _updated = false;
00207     _fitted = false;
00208     _fittedWithCathode = false; // mod. by matsu ( 1999/05/24 )
00209 }

void TTrackBase::removeLinks ( void   )  [virtual, inherited]

Definition at line 189 of file TTrackBase.cxx.

References TTrackBase::_links.

Referenced by TBuilderCosmic::buildStereo(), and TrkReco::execute().

00189                            {
00190   _links.removeAll();
00191 }

void T3DLine::set ( const HepPoint3D ,
double  t_dr,
double  t_phi0,
double  t_dz,
double  t_tanl 
)

set track parameters,pivot

Definition at line 175 of file T3DLine.cxx.

References _cos_phi0, _dr, _dz, _phi0, _pivot, _sin_phi0, _tanl, cos(), and sin().

00176                                                                       {
00177 
00178   _pivot = t_pivot;
00179   _dr = t_dr;
00180   _phi0 = t_phi0;
00181   _dz = t_dz;
00182   _tanl = t_tanl;
00183   _cos_phi0 = cos(_phi0);
00184   _sin_phi0 = sin(_phi0);
00185 }

double T3DLine::sinPhi0 ( void   )  const

Definition at line 99 of file T3DLine.cxx.

References _sin_phi0.

00099                                  {
00100   return _sin_phi0;
00101 }

double T3DLine::tanl ( void   )  const

Definition at line 91 of file T3DLine.cxx.

References _tanl.

00091                               {
00092   return _tanl;
00093 }

unsigned TTrackBase::testByApproach ( const AList< TMLink > &  list,
double  sigma 
) const [inherited]

Definition at line 240 of file TTrackBase.cxx.

References genRecEmupikp::i, and TTrackBase::testByApproach().

00240                                                                             {
00241 #ifdef TRKRECO_DEBUG_DETAIL
00242     std::cout << "    TTrackBase::testByApproach ... sigma=" << maxSigma << std::endl;
00243 #endif
00244 
00245     unsigned nOK = 0;
00246     unsigned n = list.length();
00247     for (unsigned i = 0; i < n; i++) {
00248         TMLink & l = * list[i];
00249         nOK += testByApproach(l, maxSigma);
00250     }
00251     return nOK;
00252 }

unsigned TTrackBase::testByApproach ( const TMLink list,
double  sigma 
) const [inherited]

returns # of good hits to be appended.

Definition at line 255 of file TTrackBase.cxx.

References TTrackBase::approach(), TMDCWireHit::dDrift(), TMLink::distance(), TTrackBase::distance(), TMDCWireHit::drift(), TMLink::dump(), showlog::err, TMLink::hit(), and TMLink::pull().

Referenced by TTrackBase::testByApproach().

00255                                                                      {
00256 #ifdef TRKRECO_DEBUG_DETAIL
00257     std::cout << "    TTrackBase::testByApproach ... sigma=" << maxSigma << std::endl;
00258 #endif
00259     TMLink l = link;
00260 
00261     //...Calculate closest approach...
00262     int err = approach(l);
00263     if (err < 0) return 0;
00264     //...Calculate sigma...
00265     float distance = l.distance();
00266     float diff = fabs(distance - l.hit()->drift());
00267     float sigma = diff / l.hit()->dDrift();
00268     l.pull(sigma * sigma);
00269 
00270     //...For debug...
00271 #ifdef TRKRECO_DEBUG_DETAIL
00272     std::cout << "    sigma=" << sigma;
00273     std::cout << ",dist=" << distance;
00274     std::cout << ",diff=" << diff << ",";
00275     if (sigma < maxSigma) std::cout << "ok,";
00276     else                  std::cout << "X,";
00277     l.dump("mc");
00278 #endif
00279                 
00280     //...Make sigma cut...
00281     if (sigma < maxSigma) return 1;
00282 
00283     return 0;
00284 }

unsigned TTrackBase::type ( void   )  const [inline, virtual, inherited]

returns type. Definition is depending on an object class.

Reimplemented in TTrack.

Definition at line 274 of file TTrackBase.h.

00274                            {
00275     return 0;
00276 }

void TTrackBase::update ( void   )  const [inherited]

update cache.

Reimplemented in TSegment, and TSegment0.

Definition at line 75 of file TTrackBase.cxx.

References TTrackBase::_cores, TTrackBase::_links, TTrackBase::_updated, genRecEmupikp::i, TMDCWireHit::state(), WireHitFittingValid, and WireHitInvalidForFit.

Referenced by TTrackBase::cores(), TTrackBase::dump(), and TTrackBase::nCores().

00075                              {
00076     _cores.removeAll();
00077     unsigned n = _links.length();
00078     for (unsigned i = 0; i < n; i++) {
00079         TMLink * l = _links[i];
00080         const TMDCWireHit & h = * l->hit();
00081         if (h.state() & WireHitInvalidForFit) continue;
00082         if (! (h.state() & WireHitFittingValid)) continue;
00083         _cores.append(l);
00084     }
00085     _updated = true;
00086 }

HepPoint3D T3DLine::x ( double   )  const

returns position on 3D line

Definition at line 143 of file T3DLine.cxx.

References _cos_phi0, _dr, _dz, _pivot, _sin_phi0, and _tanl.

00143                                    {
00144   double tx= _pivot.x() + _dr * _cos_phi0 - t * _sin_phi0;
00145   double ty= _pivot.y() + _dr * _sin_phi0 + t * _cos_phi0;
00146   double tz= _pivot.z() + _dz             + t * _tanl;
00147   HepPoint3D p(tx,ty,tz);
00148   return p;
00149 }

HepPoint3D T3DLine::x0 ( void   )  const

returns 3D line component x(t)=x0 + t * k

Definition at line 151 of file T3DLine.cxx.

References _cos_phi0, _dr, _dz, _pivot, and _sin_phi0.

Referenced by approach_line(), and approach_point().

00151                                 {
00152   double tx= _pivot.x() + _dr * _cos_phi0;
00153   double ty= _pivot.y() + _dr * _sin_phi0;
00154   double tz= _pivot.z() + _dz;
00155   HepPoint3D p(tx,ty,tz);
00156   return p;
00157 }


Friends And Related Function Documentation

friend class T3DLineFitter [friend]

Definition at line 147 of file T3DLine.h.


Member Data Documentation

double T3DLine::_chi2 [private]

Definition at line 138 of file T3DLine.h.

Referenced by chi2(), and reducedchi2().

double T3DLine::_cos_phi0 [private]

Definition at line 142 of file T3DLine.h.

Referenced by a(), cosPhi0(), k(), pivot(), set(), T3DLine(), x(), and x0().

double T3DLine::_dr [private]

Definition at line 131 of file T3DLine.h.

Referenced by a(), dr(), helix(), pivot(), set(), x(), and x0().

double T3DLine::_dz [private]

Definition at line 133 of file T3DLine.h.

Referenced by a(), dz(), helix(), pivot(), set(), x(), and x0().

SymMatrix T3DLine::_Ea [private]

Definition at line 136 of file T3DLine.h.

Referenced by Ea().

bool TTrackBase::_fitted [mutable, protected, inherited]

Definition at line 162 of file TTrackBase.h.

Referenced by TMLine::a(), TLine0::a(), TTrackBase::append(), TTrackBase::appendByApproach(), TMLine::appendByszdistance(), TLine0::appendByszdistance(), TMLine::appendSLY(), TLine0::appendSLY(), TMLine::b(), TLine0::b(), TCircle::center(), TCircle::charge(), TTrack::chi2(), TMLine::chi2(), TLine0::chi2(), TSegment0::direction(), TSegment::direction(), TMLine::distance(), TLine0::distance(), TTrackBase::DropWorst(), TSegment0::dump(), TSegment::dump(), TCircle::dump(), TTrackBase::falseFit(), THelixFitter::fit(), TCosmicFitter::fit(), TMLine::fit2(), TLine0::fit2(), TMLine::fit2p(), TLine0::fit2p(), TMLine::fit2s(), TLine0::fit2s(), TMLine::fit2sp(), TLine0::fit2sp(), TCircle::fitForCurl(), TTrackBase::fitted(), TTrackBase::fitter(), TCircle::impact(), TSegment0::innerMostLayer(), TSegment::innerMostLayer(), TSegment::inners(), TSegment0::innerWidth(), TSegment::innerWidth(), TTrack::ndf(), TSegment0::outerMostLayer(), TSegment::outerMostLayer(), TSegment::outers(), TSegment0::outerWidth(), TSegment::outerWidth(), TSegment0::position(), TSegment::position(), TCircle::pt(), TCircle::radius(), TMLine::reducedChi2(), TLine0::reducedChi2(), TTrackBase::refine(), TMLine::refine(), TLine0::refine(), TTrack::refine2D(), TTrackBase::remove(), TMLine::removeChits(), TLine0::removeChits(), TMLine::removeSLY(), TLine0::removeSLY(), T3DLine(), TRunge::TRunge(), TSegment::TSegment(), TSegment0::TSegment0(), TTrack::TTrack(), TSegment0::update(), TSegment::update(), TSegment0::updateType(), and TSegment::updateType().

bool TTrackBase::_fittedWithCathode [mutable, protected, inherited]

Definition at line 163 of file TTrackBase.h.

Referenced by TTrackBase::append(), TTrackBase::falseFit(), TTrackBase::fittedWithCathode(), TTrackBase::remove(), T3DLine(), TRunge::TRunge(), and TTrack::TTrack().

const T3DLineFitter T3DLine::_fitter = T3DLineFitter("T3DLine Default fitter") [static, private]

Reimplemented from TTrackBase.

Definition at line 145 of file T3DLine.h.

Referenced by T3DLine().

AList<TMLink> TTrackBase::_links [protected, inherited]

Definition at line 161 of file TTrackBase.h.

Referenced by TTrackBase::append(), TTrackBase::appendByApproach(), TMLine::appendByszdistance(), TLine0::appendByszdistance(), TMLine::appendSLY(), TLine0::appendSLY(), TTrack::assign(), TBuilderCurl::buildStereo(), TMLine::chi2(), TLine0::chi2(), TTrackBase::DropWorst(), TTrackBase::dump(), TTrack::dump(), TSegment0::dump(), TSegment::dump(), TMLine::dump(), TLine0::dump(), TCircle::dump(), TSegment::expandSeg(), TMLine::fit2(), TLine0::fit2(), TTrack::fit2D(), TMLine::fit2p(), TLine0::fit2p(), TMLine::fit2s(), TLine0::fit2s(), TMLine::fit2sp(), TLine0::fit2sp(), TCircle::fitForCurl(), TTrackBase::hep(), TTrackBase::links(), TTrack::movePivot(), TTrackBase::nLinks(), TTrackBase::operator[](), TSegment0::rangeX(), TSegment::rangeX(), TMLine::reducedChi2(), TLine0::reducedChi2(), TTrackBase::refine(), TMLine::refine(), TLine0::refine(), TTrack::refine2D(), TTrackBase::refineMain(), TTrackBase::remove(), TMLine::removeChits(), TLine0::removeChits(), TTrackBase::removeLinks(), TMLine::removeSLY(), TLine0::removeSLY(), TSegment::segSalvage(), TSegment0::solveDualHits(), TSegment::solveDualHits(), TSegment::solveLR(), TSegment::solveThreeHits(), TSegment0::splitAV(), TSegment::splitAV(), TSegment0::splitComplicated(), TSegment::splitComplicated(), TSegment0::splitDual(), TSegment::splitDual(), TSegment0::splitParallel(), TSegment::splitParallel(), TSegment::splitTsf(), TSegment::TSegment(), TSegment0::TSegment0(), TTrack::TTrack(), TTrackBase::update(), TSegment0::update(), TSegment::update(), TSegment0::updateDuality(), TSegment::updateDuality(), TSegment0::updateType(), and TSegment::updateType().

TTrackMC* TTrackBase::_mc [protected, inherited]

Definition at line 165 of file TTrackBase.h.

Referenced by TTrackBase::mc().

unsigned T3DLine::_ndf [private]

Definition at line 139 of file T3DLine.h.

Referenced by ndf(), and reducedchi2().

double T3DLine::_phi0 [private]

Definition at line 132 of file T3DLine.h.

Referenced by a(), helix(), phi0(), set(), and T3DLine().

HepPoint3D T3DLine::_pivot [private]

Definition at line 129 of file T3DLine.h.

Referenced by helix(), pivot(), set(), x(), and x0().

double T3DLine::_sin_phi0 [private]

Definition at line 143 of file T3DLine.h.

Referenced by a(), k(), pivot(), set(), sinPhi0(), T3DLine(), x(), and x0().

double T3DLine::_tanl [private]

Definition at line 134 of file T3DLine.h.

Referenced by a(), helix(), k(), pivot(), set(), tanl(), and x().


Generated on Tue Nov 29 23:35:56 2016 for BOSS_7.0.2 by  doxygen 1.4.7