BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkDifLineTraj Class Reference

#include <TrkDifLineTraj.h>

Inheritance diagram for TrkDifLineTraj:

Public Types

enum  { d0Ind = 0 , phi0Ind , z0Ind , tanDipInd }
enum  { NLINPRM = 4 }
enum  { d0Ind = 0 , phi0Ind , z0Ind , tanDipInd }
enum  { NLINPRM = 4 }
enum  { d0Ind = 0 , phi0Ind , z0Ind , tanDipInd }
enum  { NLINPRM = 4 }

Public Member Functions

 TrkDifLineTraj (const HepVector &, const HepSymMatrix &, double lowlim=-99999., double hilim=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkDifLineTraj (const TrkExchangePar &, double lowlim=-99999., double hilim=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkDifLineTraj (const TrkDifLineTraj &)
TrkDifLineTrajclone () const
 ~TrkDifLineTraj ()
TrkDifLineTrajoperator= (const TrkDifLineTraj &)
virtual HepPoint3D position (double fltLen) const
virtual Hep3Vector direction (double fltLen) const
virtual Hep3Vector delDirect (double) const
virtual void getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &dir) const
virtual void getInfo (double fltLen, HepPoint3D &, Hep3Vector &dir, Hep3Vector &delDir) const
virtual void getDFInfo (double fltLen, DifPoint &, DifVector &dir, DifVector &delDir) const
virtual double curvature (double fltLen) const
double cosDip () const
double d0 () const
double z0 () const
double tanDip () const
double phi0 () const
int nPar () const
virtual double distTo1stError (double flt, double tol, int pathDir) const
virtual double distTo2ndError (double flt, double tol, int pathDir) const
HepMatrix derivDeflect (double fltlen, deflectDirection) const
HepMatrix derivDisplace (double fltlen, deflectDirection) const
HepMatrix derivPFract (double fltlen) const
TranslateParams paramFunction () const
void invertParams (TrkParams *params, std::vector< bool > &flags) const
virtual void visitAccept (TrkVisitor *vis) const
 TrkDifLineTraj (const HepVector &, const HepSymMatrix &, double lowlim=-99999., double hilim=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkDifLineTraj (const TrkExchangePar &, double lowlim=-99999., double hilim=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkDifLineTraj (const TrkDifLineTraj &)
TrkDifLineTrajclone () const
 ~TrkDifLineTraj ()
TrkDifLineTrajoperator= (const TrkDifLineTraj &)
virtual HepPoint3D position (double fltLen) const
virtual Hep3Vector direction (double fltLen) const
virtual Hep3Vector delDirect (double) const
virtual void getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &dir) const
virtual void getInfo (double fltLen, HepPoint3D &, Hep3Vector &dir, Hep3Vector &delDir) const
virtual void getDFInfo (double fltLen, DifPoint &, DifVector &dir, DifVector &delDir) const
virtual double curvature (double fltLen) const
double cosDip () const
double d0 () const
double z0 () const
double tanDip () const
double phi0 () const
int nPar () const
virtual double distTo1stError (double flt, double tol, int pathDir) const
virtual double distTo2ndError (double flt, double tol, int pathDir) const
HepMatrix derivDeflect (double fltlen, deflectDirection) const
HepMatrix derivDisplace (double fltlen, deflectDirection) const
HepMatrix derivPFract (double fltlen) const
TranslateParams paramFunction () const
void invertParams (TrkParams *params, std::vector< bool > &flags) const
virtual void visitAccept (TrkVisitor *vis) const
 TrkDifLineTraj (const HepVector &, const HepSymMatrix &, double lowlim=-99999., double hilim=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkDifLineTraj (const TrkExchangePar &, double lowlim=-99999., double hilim=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkDifLineTraj (const TrkDifLineTraj &)
TrkDifLineTrajclone () const
 ~TrkDifLineTraj ()
TrkDifLineTrajoperator= (const TrkDifLineTraj &)
virtual HepPoint3D position (double fltLen) const
virtual Hep3Vector direction (double fltLen) const
virtual Hep3Vector delDirect (double) const
virtual void getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &dir) const
virtual void getInfo (double fltLen, HepPoint3D &, Hep3Vector &dir, Hep3Vector &delDir) const
virtual void getDFInfo (double fltLen, DifPoint &, DifVector &dir, DifVector &delDir) const
virtual double curvature (double fltLen) const
double cosDip () const
double d0 () const
double z0 () const
double tanDip () const
double phi0 () const
int nPar () const
virtual double distTo1stError (double flt, double tol, int pathDir) const
virtual double distTo2ndError (double flt, double tol, int pathDir) const
HepMatrix derivDeflect (double fltlen, deflectDirection) const
HepMatrix derivDisplace (double fltlen, deflectDirection) const
HepMatrix derivPFract (double fltlen) const
TranslateParams paramFunction () const
void invertParams (TrkParams *params, std::vector< bool > &flags) const
virtual void visitAccept (TrkVisitor *vis) const
Public Member Functions inherited from TrkSimpTraj
 TrkSimpTraj (const HepVector &params, const HepSymMatrix &cov, const double startRange=-99999., const double endRange=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkSimpTraj (const TrkParams &params, const double startRange=-99999., const double endRange=99999., const HepPoint3D &refpoint=_theOrigin)
virtual ~TrkSimpTraj ()
TrkParamsparameters ()
const TrkParamsparameters () const
virtual const TrkSimpTrajlocalTrajectory (double fltLen, double &localFlt) const
const HepPoint3DreferencePoint () const
virtual void print (std::ostream &os) const
virtual void printAll (std::ostream &os) const
void changePoint (const HepPoint3D &newpoint, double &fltlen)
void setPoint (const HepPoint3D &newpoint)
TrkSimpTrajinvert ()
bool operator== (const TrkSimpTraj &) const
 TrkSimpTraj (const HepVector &params, const HepSymMatrix &cov, const double startRange=-99999., const double endRange=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkSimpTraj (const TrkParams &params, const double startRange=-99999., const double endRange=99999., const HepPoint3D &refpoint=_theOrigin)
virtual ~TrkSimpTraj ()
TrkParamsparameters ()
const TrkParamsparameters () const
virtual const TrkSimpTrajlocalTrajectory (double fltLen, double &localFlt) const
const HepPoint3DreferencePoint () const
virtual void print (std::ostream &os) const
virtual void printAll (std::ostream &os) const
void changePoint (const HepPoint3D &newpoint, double &fltlen)
void setPoint (const HepPoint3D &newpoint)
TrkSimpTrajinvert ()
bool operator== (const TrkSimpTraj &) const
 TrkSimpTraj (const HepVector &params, const HepSymMatrix &cov, const double startRange=-99999., const double endRange=99999., const HepPoint3D &refpoint=_theOrigin)
 TrkSimpTraj (const TrkParams &params, const double startRange=-99999., const double endRange=99999., const HepPoint3D &refpoint=_theOrigin)
virtual ~TrkSimpTraj ()
TrkParamsparameters ()
const TrkParamsparameters () const
virtual const TrkSimpTrajlocalTrajectory (double fltLen, double &localFlt) const
const HepPoint3DreferencePoint () const
virtual void print (std::ostream &os) const
virtual void printAll (std::ostream &os) const
void changePoint (const HepPoint3D &newpoint, double &fltlen)
void setPoint (const HepPoint3D &newpoint)
TrkSimpTrajinvert ()
bool operator== (const TrkSimpTraj &) const
Public Member Functions inherited from TrkDifTraj
 TrkDifTraj (const double lowlim=-99999., const double hilim=99999.)
virtual ~TrkDifTraj ()
virtual void getDFInfo2 (double fltLen, DifPoint &pos, DifVector &direction) const
 TrkDifTraj (const double lowlim=-99999., const double hilim=99999.)
virtual ~TrkDifTraj ()
virtual void getDFInfo2 (double fltLen, DifPoint &pos, DifVector &direction) const
 TrkDifTraj (const double lowlim=-99999., const double hilim=99999.)
virtual ~TrkDifTraj ()
virtual void getDFInfo2 (double fltLen, DifPoint &pos, DifVector &direction) const
Public Member Functions inherited from Trajectory
 Trajectory (double lowlim, double hilim)
virtual ~Trajectory ()
double distTo0thError (double s, double tol, int pathDir) const
bool validFlightDistance (double f, double tolerance=0.0) const
virtual void setFlightRange (double newrange[2])
double lowRange () const
double hiRange () const
double range () const
 Trajectory (double lowlim, double hilim)
virtual ~Trajectory ()
double distTo0thError (double s, double tol, int pathDir) const
bool validFlightDistance (double f, double tolerance=0.0) const
virtual void setFlightRange (double newrange[2])
double lowRange () const
double hiRange () const
double range () const
 Trajectory (double lowlim, double hilim)
virtual ~Trajectory ()
double distTo0thError (double s, double tol, int pathDir) const
bool validFlightDistance (double f, double tolerance=0.0) const
virtual void setFlightRange (double newrange[2])
double lowRange () const
double hiRange () const
double range () const

Additional Inherited Members

Static Public Attributes inherited from TrkSimpTraj
static HepPoint3D _theOrigin
Protected Member Functions inherited from Trajectory
Trajectoryoperator= (const Trajectory &)
Trajectoryoperator= (const Trajectory &)
Trajectoryoperator= (const Trajectory &)
Protected Attributes inherited from TrkSimpTraj
TrkParams _dtparams
HepPoint3D _refpoint
Protected Attributes inherited from Trajectory
double flightrange [2]

Detailed Description

Member Enumeration Documentation

◆ anonymous enum

◆ anonymous enum

anonymous enum
Enumerator
NLINPRM 

Definition at line 29 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkDifLineTraj.h.

29{ NLINPRM = 4 };

◆ anonymous enum

◆ anonymous enum

anonymous enum
Enumerator
NLINPRM 

Definition at line 29 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkDifLineTraj.h.

29{ NLINPRM = 4 };

◆ anonymous enum

anonymous enum
Enumerator
d0Ind 
phi0Ind 
z0Ind 
tanDipInd 

Definition at line 28 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkDifLineTraj.h.

28{ d0Ind = 0, phi0Ind, z0Ind, tanDipInd };

◆ anonymous enum

anonymous enum
Enumerator
d0Ind 
phi0Ind 
z0Ind 
tanDipInd 

Definition at line 28 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkDifLineTraj.h.

28{ d0Ind = 0, phi0Ind, z0Ind, tanDipInd };

Constructor & Destructor Documentation

◆ TrkDifLineTraj() [1/9]

TrkDifLineTraj::TrkDifLineTraj ( const HepVector & pvec,
const HepSymMatrix & pcov,
double lowlim = -99999.,
double hilim = 99999.,
const HepPoint3D & refpoint = _theOrigin )

Definition at line 25 of file TrkDifLineTraj.cxx.

27 : TrkSimpTraj( pvec, pcov, lowlim, hilim, refpoint ) {}
TrkSimpTraj(const HepVector &params, const HepSymMatrix &cov, const double startRange=-99999., const double endRange=99999., const HepPoint3D &refpoint=_theOrigin)

Referenced by clone(), operator=(), and TrkDifLineTraj().

◆ TrkDifLineTraj() [2/9]

TrkDifLineTraj::TrkDifLineTraj ( const TrkExchangePar & inpar,
double lowlim = -99999.,
double hilim = 99999.,
const HepPoint3D & refpoint = _theOrigin )

Definition at line 29 of file TrkDifLineTraj.cxx.

31 : TrkSimpTraj( HepVector( NLINPRM, 1 ), HepSymMatrix( NLINPRM, 1 ), lowlim, hilim,
32 refpoint ) {
33 // the above constructor actually screws up z0 and tandip. I can't fix it in
34 // the initializer, so I'll just overwrite the track here. Ugly and inefficient
35 HepVector subvect( NLINPRM, 1 );
36 HepSymMatrix submat( NLINPRM, 1 );
37 const HepSymMatrix covar = inpar.covariance();
38 subvect[d0Ind] = inpar.d0();
39 subvect[phi0Ind] = inpar.phi0();
40 subvect[z0Ind] = inpar.z0();
41 subvect[tanDipInd] = inpar.tanDip();
42
43 submat.fast( d0Ind + 1, d0Ind + 1 ) =
44 covar.fast( TrkExchangePar::ex_d0 + 1, TrkExchangePar::ex_d0 + 1 );
45 submat.fast( d0Ind + 1, phi0Ind + 1 ) =
47 submat.fast( d0Ind + 1, z0Ind + 1 ) =
48 covar.fast( TrkExchangePar::ex_d0 + 1, TrkExchangePar::ex_z0 + 1 );
49 submat.fast( d0Ind + 1, tanDipInd + 1 ) =
51 submat.fast( phi0Ind + 1, phi0Ind + 1 ) =
53 submat.fast( phi0Ind + 1, z0Ind + 1 ) =
55 submat.fast( phi0Ind + 1, tanDipInd + 1 ) =
57 submat.fast( z0Ind + 1, z0Ind + 1 ) =
58 covar.fast( TrkExchangePar::ex_z0 + 1, TrkExchangePar::ex_z0 + 1 );
59 submat.fast( z0Ind + 1, tanDipInd + 1 ) =
61 submat.fast( tanDipInd + 1, tanDipInd + 1 ) =
63 // reset the track
64 ( *parameters() ) = TrkParams( subvect, submat );
65}

◆ TrkDifLineTraj() [3/9]

◆ ~TrkDifLineTraj() [1/3]

TrkDifLineTraj::~TrkDifLineTraj ( )

Definition at line 83 of file TrkDifLineTraj.cxx.

83{}

◆ TrkDifLineTraj() [4/9]

TrkDifLineTraj::TrkDifLineTraj ( const HepVector & ,
const HepSymMatrix & ,
double lowlim = -99999.,
double hilim = 99999.,
const HepPoint3D & refpoint = _theOrigin )

◆ TrkDifLineTraj() [5/9]

TrkDifLineTraj::TrkDifLineTraj ( const TrkExchangePar & ,
double lowlim = -99999.,
double hilim = 99999.,
const HepPoint3D & refpoint = _theOrigin )

◆ TrkDifLineTraj() [6/9]

TrkDifLineTraj::TrkDifLineTraj ( const TrkDifLineTraj & )

◆ ~TrkDifLineTraj() [2/3]

TrkDifLineTraj::~TrkDifLineTraj ( )

◆ TrkDifLineTraj() [7/9]

TrkDifLineTraj::TrkDifLineTraj ( const HepVector & ,
const HepSymMatrix & ,
double lowlim = -99999.,
double hilim = 99999.,
const HepPoint3D & refpoint = _theOrigin )

◆ TrkDifLineTraj() [8/9]

TrkDifLineTraj::TrkDifLineTraj ( const TrkExchangePar & ,
double lowlim = -99999.,
double hilim = 99999.,
const HepPoint3D & refpoint = _theOrigin )

◆ TrkDifLineTraj() [9/9]

TrkDifLineTraj::TrkDifLineTraj ( const TrkDifLineTraj & )

◆ ~TrkDifLineTraj() [3/3]

TrkDifLineTraj::~TrkDifLineTraj ( )

Member Function Documentation

◆ clone() [1/3]

TrkDifLineTraj * TrkDifLineTraj::clone ( ) const
virtual

Implements TrkSimpTraj.

Definition at line 71 of file TrkDifLineTraj.cxx.

71{ return new TrkDifLineTraj( *this ); }
TrkDifLineTraj(const HepVector &, const HepSymMatrix &, double lowlim=-99999., double hilim=99999., const HepPoint3D &refpoint=_theOrigin)

◆ clone() [2/3]

TrkDifLineTraj * TrkDifLineTraj::clone ( ) const
virtual

Implements TrkSimpTraj.

◆ clone() [3/3]

TrkDifLineTraj * TrkDifLineTraj::clone ( ) const
virtual

Implements TrkSimpTraj.

◆ cosDip() [1/3]

double TrkDifLineTraj::cosDip ( ) const
inline

◆ cosDip() [2/3]

double TrkDifLineTraj::cosDip ( ) const
inline

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkDifLineTraj.h.

49{ return 1. / sqrt( 1. + tanDip() * tanDip() ); }

◆ cosDip() [3/3]

double TrkDifLineTraj::cosDip ( ) const
inline

Definition at line 49 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkDifLineTraj.h.

49{ return 1. / sqrt( 1. + tanDip() * tanDip() ); }

◆ curvature() [1/3]

double TrkDifLineTraj::curvature ( double fltLen) const
virtual

Implements Trajectory.

Definition at line 166 of file TrkDifLineTraj.cxx.

166{ return 0.; }

◆ curvature() [2/3]

virtual double TrkDifLineTraj::curvature ( double fltLen) const
virtual

Implements Trajectory.

◆ curvature() [3/3]

virtual double TrkDifLineTraj::curvature ( double fltLen) const
virtual

Implements Trajectory.

◆ d0() [1/3]

double TrkDifLineTraj::d0 ( ) const
inline

Definition at line 50 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkDifLineTraj.h.

50{ return parameters()->parameter()[d0Index()]; }

Referenced by derivDeflect(), getDFInfo(), and position().

◆ d0() [2/3]

double TrkDifLineTraj::d0 ( ) const
inline

Definition at line 50 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkDifLineTraj.h.

50{ return parameters()->parameter()[d0Index()]; }

◆ d0() [3/3]

double TrkDifLineTraj::d0 ( ) const
inline

Definition at line 50 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkDifLineTraj.h.

50{ return parameters()->parameter()[d0Index()]; }

◆ delDirect() [1/3]

Hep3Vector TrkDifLineTraj::delDirect ( double ) const
virtual

Implements Trajectory.

Definition at line 111 of file TrkDifLineTraj.cxx.

111{ return Hep3Vector( 0.0, 0.0, 0.0 ); }

Referenced by getInfo().

◆ delDirect() [2/3]

virtual Hep3Vector TrkDifLineTraj::delDirect ( double ) const
virtual

Implements Trajectory.

◆ delDirect() [3/3]

virtual Hep3Vector TrkDifLineTraj::delDirect ( double ) const
virtual

Implements Trajectory.

◆ derivDeflect() [1/3]

HepMatrix TrkDifLineTraj::derivDeflect ( double fltlen,
deflectDirection idirect ) const
virtual

Implements TrkKalDeriv.

Definition at line 172 of file TrkDifLineTraj.cxx.

172 {
173 // This function computes the column matrix of derivatives for the change
174 // in parameters for a change in the direction of a track at a point along
175 // its flight, holding the momentum and position constant. The effects for
176 // changes in 2 perpendicular directions (theta1 = dip and
177 // theta2 = phi*cos(dip)) are uncorrelated.
178
179 HepMatrix ddflct( nLinPrm(), 1 );
180 // Compute some common things
181 double cosd = cosDip();
182 // Go through the parameters
183 switch ( idirect )
184 {
185 case theta1:
186 ddflct[tanDipIndex()][0] = 1.0 / ( cosd * cosd );
187 ddflct[d0Index()][0] = 0.0;
188 ddflct[phi0Index()][0] = 0.0;
189 ddflct[z0Index()][0] = -fltlen / cosd;
190 ;
191 break;
192 case theta2:
193 ddflct[tanDipIndex()][0] = 0;
194 ddflct[d0Index()][0] = -fltlen;
195 ddflct[phi0Index()][0] = 1.0 / cosd;
196 ddflct[z0Index()][0] = -( tanDip() / cosd ) * d0();
197 break;
198 }
199 return ddflct;
200}

◆ derivDeflect() [2/3]

HepMatrix TrkDifLineTraj::derivDeflect ( double fltlen,
deflectDirection  ) const
virtual

Implements TrkKalDeriv.

◆ derivDeflect() [3/3]

HepMatrix TrkDifLineTraj::derivDeflect ( double fltlen,
deflectDirection  ) const
virtual

Implements TrkKalDeriv.

◆ derivDisplace() [1/3]

HepMatrix TrkDifLineTraj::derivDisplace ( double fltlen,
deflectDirection idirect ) const
virtual

Implements TrkKalDeriv.

Definition at line 202 of file TrkDifLineTraj.cxx.

202 {
203 // This function computes the column matrix of derivatives for the change
204 // in parameters for a change in the position of a track at a point along
205 // its flight, holding the momentum and direction constant. The effects for
206 // changes in 2 perpendicular directions (theta1 = dip and
207 // theta2 = phi*cos(dip)) are uncorrelated.
208
209 HepMatrix ddflct( nLinPrm(), 1 );
210 // Compute some common things
211 double cosd = cosDip();
212 // Go through the parameters
213 switch ( idirect )
214 {
215 case theta1:
216 ddflct[tanDipIndex()][0] = 0.0;
217 ddflct[d0Index()][0] = 0.0;
218 ddflct[phi0Index()][0] = 0.0;
219 ddflct[z0Index()][0] = 1.0 / cosd;
220 break;
221 case theta2:
222 ddflct[tanDipIndex()][0] = 0;
223 ddflct[d0Index()][0] = 1.0;
224 ddflct[phi0Index()][0] = 0.0;
225 ddflct[z0Index()][0] = 0.0;
226 break;
227 }
228 return ddflct;
229}

◆ derivDisplace() [2/3]

HepMatrix TrkDifLineTraj::derivDisplace ( double fltlen,
deflectDirection  ) const
virtual

Implements TrkKalDeriv.

◆ derivDisplace() [3/3]

HepMatrix TrkDifLineTraj::derivDisplace ( double fltlen,
deflectDirection  ) const
virtual

Implements TrkKalDeriv.

◆ derivPFract() [1/3]

HepMatrix TrkDifLineTraj::derivPFract ( double fltlen) const
virtual

Implements TrkKalDeriv.

Definition at line 231 of file TrkDifLineTraj.cxx.

231 {
232 // This function computes the column matrix of derrivatives for the change
233 // in parameters from a (fractional) change in the track momentum,
234 // holding the direction and position constant. The momentum change can
235 // come from energy loss or bfield inhomogeneities. Line Trajs have no
236 // geometric change from energy loss.
237
238 return HepMatrix( nLinPrm(), 1, 0 );
239}

◆ derivPFract() [2/3]

HepMatrix TrkDifLineTraj::derivPFract ( double fltlen) const
virtual

Implements TrkKalDeriv.

◆ derivPFract() [3/3]

HepMatrix TrkDifLineTraj::derivPFract ( double fltlen) const
virtual

Implements TrkKalDeriv.

◆ direction() [1/3]

Hep3Vector TrkDifLineTraj::direction ( double fltLen) const
virtual

Implements Trajectory.

Definition at line 106 of file TrkDifLineTraj.cxx.

106 {
107 double cdip = cosDip();
108 return Hep3Vector( cos( phi0() ) * cdip, sin( phi0() ) * cdip, tanDip() * cdip );
109}
double phi0() const

Referenced by getInfo(), and getInfo().

◆ direction() [2/3]

virtual Hep3Vector TrkDifLineTraj::direction ( double fltLen) const
virtual

Implements Trajectory.

◆ direction() [3/3]

virtual Hep3Vector TrkDifLineTraj::direction ( double fltLen) const
virtual

Implements Trajectory.

◆ distTo1stError() [1/3]

double TrkDifLineTraj::distTo1stError ( double flt,
double tol,
int pathDir ) const
virtual

Implements Trajectory.

Definition at line 113 of file TrkDifLineTraj.cxx.

113{ return 999.e4; }

◆ distTo1stError() [2/3]

virtual double TrkDifLineTraj::distTo1stError ( double flt,
double tol,
int pathDir ) const
virtual

Implements Trajectory.

◆ distTo1stError() [3/3]

virtual double TrkDifLineTraj::distTo1stError ( double flt,
double tol,
int pathDir ) const
virtual

Implements Trajectory.

◆ distTo2ndError() [1/3]

double TrkDifLineTraj::distTo2ndError ( double flt,
double tol,
int pathDir ) const
virtual

Implements Trajectory.

Definition at line 115 of file TrkDifLineTraj.cxx.

115{ return 999.e4; }

◆ distTo2ndError() [2/3]

virtual double TrkDifLineTraj::distTo2ndError ( double flt,
double tol,
int pathDir ) const
virtual

Implements Trajectory.

◆ distTo2ndError() [3/3]

virtual double TrkDifLineTraj::distTo2ndError ( double flt,
double tol,
int pathDir ) const
virtual

Implements Trajectory.

◆ getDFInfo() [1/3]

void TrkDifLineTraj::getDFInfo ( double fltLen,
DifPoint & pos,
DifVector & dir,
DifVector & delDir ) const
virtual

Implements TrkDifTraj.

Definition at line 131 of file TrkDifLineTraj.cxx.

132 {
133 // Provides difNum version of information for calculation of derivatives.
134
135 // Create difNumber versions of parameters
136 // enum index (phi0Index(), etc) is from TrkLineParams.hh
137 DifNumber phi0Df( phi0(), phi0Index() + 1, nLinPrm() );
138 DifNumber d0Df( d0(), d0Index() + 1, nLinPrm() );
139 DifNumber z0Df( z0(), z0Index() + 1, nLinPrm() );
140 DifNumber tanDipDf( tanDip(), tanDipIndex() + 1, nLinPrm() );
141 DifNumber zero( 0.0, nLinPrm() );
142 phi0Df.setIndepPar( parameters() );
143 d0Df.setIndepPar( parameters() );
144 z0Df.setIndepPar( parameters() );
145 tanDipDf.setIndepPar( parameters() );
147
148 DifNumber sphi0, cphi0;
149 phi0Df.cosAndSin( cphi0, sphi0 );
150
151 DifNumber px( referencePoint().x() );
152 DifNumber py( referencePoint().y() );
153 DifNumber pz( referencePoint().z() );
154
155 DifNumber cdip = 1. / sqrt( 1. + tanDipDf * tanDipDf );
156 DifNumber xx = -d0Df * sphi0 + flt * cphi0 * cdip + px;
157 DifNumber yy = d0Df * cphi0 + flt * sphi0 * cdip + py;
158 DifNumber zz = z0Df + flt * tanDipDf * cdip + pz;
159
160 pos = DifPoint( xx, yy, zz );
161 dir = DifVector( cphi0 * cdip, sphi0 * cdip, tanDipDf * cdip );
162
163 delDir = DifVector( zero, zero, zero );
164}
Double_t x[10]
const DifNumber zero

◆ getDFInfo() [2/3]

virtual void TrkDifLineTraj::getDFInfo ( double fltLen,
DifPoint & ,
DifVector & dir,
DifVector & delDir ) const
virtual

Implements TrkDifTraj.

◆ getDFInfo() [3/3]

virtual void TrkDifLineTraj::getDFInfo ( double fltLen,
DifPoint & ,
DifVector & dir,
DifVector & delDir ) const
virtual

Implements TrkDifTraj.

◆ getInfo() [1/6]

void TrkDifLineTraj::getInfo ( double fltLen,
HepPoint3D & pos,
Hep3Vector & dir,
Hep3Vector & delDir ) const
virtual

Implements Trajectory.

Definition at line 117 of file TrkDifLineTraj.cxx.

118 {
119 // This could be made much more efficient!!!!!!
120 pos = position( fltLen );
121 dir = direction( fltLen );
122 delDir = delDirect( fltLen );
123}
virtual Hep3Vector direction(double fltLen) const
virtual Hep3Vector delDirect(double) const
virtual HepPoint3D position(double fltLen) const

◆ getInfo() [2/6]

virtual void TrkDifLineTraj::getInfo ( double fltLen,
HepPoint3D & ,
Hep3Vector & dir,
Hep3Vector & delDir ) const
virtual

Implements Trajectory.

◆ getInfo() [3/6]

virtual void TrkDifLineTraj::getInfo ( double fltLen,
HepPoint3D & ,
Hep3Vector & dir,
Hep3Vector & delDir ) const
virtual

Implements Trajectory.

◆ getInfo() [4/6]

void TrkDifLineTraj::getInfo ( double fltLen,
HepPoint3D & pos,
Hep3Vector & dir ) const
virtual

Implements Trajectory.

Definition at line 125 of file TrkDifLineTraj.cxx.

125 {
126 // This could be made much more efficient!!!!!
127 pos = position( fltLen );
128 dir = direction( fltLen );
129}

◆ getInfo() [5/6]

virtual void TrkDifLineTraj::getInfo ( double fltLen,
HepPoint3D & pos,
Hep3Vector & dir ) const
virtual

Implements Trajectory.

◆ getInfo() [6/6]

virtual void TrkDifLineTraj::getInfo ( double fltLen,
HepPoint3D & pos,
Hep3Vector & dir ) const
virtual

Implements Trajectory.

◆ invertParams() [1/3]

void TrkDifLineTraj::invertParams ( TrkParams * params,
std::vector< bool > & flags ) const
virtual

Implements TrkSimpTraj.

Definition at line 249 of file TrkDifLineTraj.cxx.

249 {
250 // Inverts parameters and returns true if the parameter inversion
251 // requires a change in sign of elements in the covariance matrix
252 for ( unsigned iparam = 0; iparam < NLINPRM; iparam++ )
253 {
254 switch ( iparam )
255 {
256 case d0Ind: // changes sign
257 case tanDipInd: // changes sign
258 params->parameter()[iparam] *= -1.0;
259 flags[iparam] = true;
260 break;
261 case phi0Ind: // changes by pi, but covariance matrix shouldn't change
262 params->parameter()[iparam] = BesAngle( params->parameter()[iparam] + Constants::pi );
263 flags[iparam] = false;
264 break;
265 case z0Ind: // no change
266 flags[iparam] = false;
267 }
268 }
269 return;
270}

◆ invertParams() [2/3]

void TrkDifLineTraj::invertParams ( TrkParams * params,
std::vector< bool > & flags ) const
virtual

Implements TrkSimpTraj.

◆ invertParams() [3/3]

void TrkDifLineTraj::invertParams ( TrkParams * params,
std::vector< bool > & flags ) const
virtual

Implements TrkSimpTraj.

◆ nPar() [1/3]

int TrkDifLineTraj::nPar ( ) const
inlinevirtual

Reimplemented from TrkSimpTraj.

Definition at line 55 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkDifLineTraj.h.

55{ return NLINPRM; }

◆ nPar() [2/3]

int TrkDifLineTraj::nPar ( ) const
inlinevirtual

Reimplemented from TrkSimpTraj.

Definition at line 55 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkDifLineTraj.h.

55{ return NLINPRM; }

◆ nPar() [3/3]

int TrkDifLineTraj::nPar ( ) const
inlinevirtual

Reimplemented from TrkSimpTraj.

Definition at line 55 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkDifLineTraj.h.

55{ return NLINPRM; }

◆ operator=() [1/3]

TrkDifLineTraj & TrkDifLineTraj::operator= ( const TrkDifLineTraj & h)

Definition at line 73 of file TrkDifLineTraj.cxx.

73 {
74 if ( &h != this )
75 {
77 _dtparams = *h.parameters();
79 }
80 return *this;
81}
Trajectory & operator=(const Trajectory &)

◆ operator=() [2/3]

TrkDifLineTraj & TrkDifLineTraj::operator= ( const TrkDifLineTraj & )

◆ operator=() [3/3]

TrkDifLineTraj & TrkDifLineTraj::operator= ( const TrkDifLineTraj & )

◆ paramFunction() [1/3]

TranslateParams TrkDifLineTraj::paramFunction ( ) const
inlinevirtual

Implements TrkSimpTraj.

Definition at line 67 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkDifLineTraj.h.

67{ return TrkDifLineTraj::paramFunc; }

◆ paramFunction() [2/3]

TranslateParams TrkDifLineTraj::paramFunction ( ) const
inlinevirtual

Implements TrkSimpTraj.

Definition at line 67 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkDifLineTraj.h.

67{ return TrkDifLineTraj::paramFunc; }

◆ paramFunction() [3/3]

TranslateParams TrkDifLineTraj::paramFunction ( ) const
inlinevirtual

Implements TrkSimpTraj.

Definition at line 67 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkDifLineTraj.h.

67{ return TrkDifLineTraj::paramFunc; }

◆ phi0() [1/3]

double TrkDifLineTraj::phi0 ( ) const

Definition at line 168 of file TrkDifLineTraj.cxx.

168 {
169 return BesAngle( parameters()->parameter()[phi0Index()] ).rad();
170}

Referenced by direction(), getDFInfo(), and position().

◆ phi0() [2/3]

double TrkDifLineTraj::phi0 ( ) const

◆ phi0() [3/3]

double TrkDifLineTraj::phi0 ( ) const

◆ position() [1/3]

HepPoint3D TrkDifLineTraj::position ( double fltLen) const
virtual

Implements Trajectory.

Definition at line 97 of file TrkDifLineTraj.cxx.

97 {
98 double cosd = cosDip();
99 double cp = cos( phi0() );
100 double sp = sin( phi0() );
101 return HepPoint3D( -d0() * sp + f * cp * cosd + referencePoint().x(),
102 d0() * cp + f * sp * cosd + referencePoint().y(),
103 z0() + f * tanDip() * cosd + referencePoint().z() );
104}
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")

Referenced by getInfo(), and getInfo().

◆ position() [2/3]

virtual HepPoint3D TrkDifLineTraj::position ( double fltLen) const
virtual

Implements Trajectory.

◆ position() [3/3]

virtual HepPoint3D TrkDifLineTraj::position ( double fltLen) const
virtual

Implements Trajectory.

◆ tanDip() [1/3]

double TrkDifLineTraj::tanDip ( ) const
inline

Definition at line 52 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkDifLineTraj.h.

52{ return parameters()->parameter()[tanDipIndex()]; }

Referenced by cosDip(), derivDeflect(), direction(), getDFInfo(), and position().

◆ tanDip() [2/3]

double TrkDifLineTraj::tanDip ( ) const
inline

Definition at line 52 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkDifLineTraj.h.

52{ return parameters()->parameter()[tanDipIndex()]; }

◆ tanDip() [3/3]

double TrkDifLineTraj::tanDip ( ) const
inline

Definition at line 52 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkDifLineTraj.h.

52{ return parameters()->parameter()[tanDipIndex()]; }

◆ visitAccept() [1/3]

void TrkDifLineTraj::visitAccept ( TrkVisitor * vis) const
virtual

Implements TrkSimpTraj.

Definition at line 272 of file TrkDifLineTraj.cxx.

272 {
273 // Visitor access--just use the TrkVisitor class member function
274 vis->trkVisitLineTraj( this );
275}
virtual void trkVisitLineTraj(const TrkDifLineTraj *)=0

◆ visitAccept() [2/3]

virtual void TrkDifLineTraj::visitAccept ( TrkVisitor * vis) const
virtual

Implements TrkSimpTraj.

◆ visitAccept() [3/3]

virtual void TrkDifLineTraj::visitAccept ( TrkVisitor * vis) const
virtual

Implements TrkSimpTraj.

◆ z0() [1/3]

double TrkDifLineTraj::z0 ( ) const
inline

Definition at line 51 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkFitter/TrkDifLineTraj.h.

51{ return parameters()->parameter()[z0Index()]; }

Referenced by getDFInfo(), and position().

◆ z0() [2/3]

double TrkDifLineTraj::z0 ( ) const
inline

Definition at line 51 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkFitter/TrkDifLineTraj.h.

51{ return parameters()->parameter()[z0Index()]; }

◆ z0() [3/3]

double TrkDifLineTraj::z0 ( ) const
inline

Definition at line 51 of file Reconstruction/MdcPatRec/TrkFitter/include/TrkFitter/TrkDifLineTraj.h.

51{ return parameters()->parameter()[z0Index()]; }

The documentation for this class was generated from the following files: