BOSS 7.0.2
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 }
 

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
 
- 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 ()
 
virtual TrkSimpTrajclone () const =0
 
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
 
virtual int nPar () const
 
void changePoint (const HepPoint3D &newpoint, double &fltlen)
 
void setPoint (const HepPoint3D &newpoint)
 
TrkSimpTrajinvert ()
 
virtual void invertParams (TrkParams *newparams, std::vector< bool > &flags) const =0
 
virtual TranslateParams paramFunction () const =0
 
virtual void visitAccept (TrkVisitor *vis) const =0
 
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 ()
 
virtual TrkSimpTrajclone () const =0
 
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
 
virtual int nPar () const
 
void changePoint (const HepPoint3D &newpoint, double &fltlen)
 
void setPoint (const HepPoint3D &newpoint)
 
TrkSimpTrajinvert ()
 
virtual void invertParams (TrkParams *newparams, std::vector< bool > &flags) const =0
 
virtual TranslateParams paramFunction () const =0
 
virtual void visitAccept (TrkVisitor *vis) const =0
 
bool operator== (const TrkSimpTraj &) const
 
- Public Member Functions inherited from TrkDifTraj
 TrkDifTraj (const double lowlim=-99999., const double hilim=99999.)
 
virtual ~TrkDifTraj ()
 
virtual void getDFInfo (double fltLen, DifPoint &pos, DifVector &direction, DifVector &delDirect) const =0
 
virtual void getDFInfo2 (double fltLen, DifPoint &pos, DifVector &direction) const
 
virtual const TrkSimpTrajlocalTrajectory (double fltLen, double &localFlt) const =0
 
 TrkDifTraj (const double lowlim=-99999., const double hilim=99999.)
 
virtual ~TrkDifTraj ()
 
virtual void getDFInfo (double fltLen, DifPoint &pos, DifVector &direction, DifVector &delDirect) const =0
 
virtual void getDFInfo2 (double fltLen, DifPoint &pos, DifVector &direction) const
 
virtual const TrkSimpTrajlocalTrajectory (double fltLen, double &localFlt) const =0
 
- Public Member Functions inherited from Trajectory
 Trajectory (double lowlim, double hilim)
 
virtual ~Trajectory ()
 
virtual HepPoint3D position (double) const =0
 
virtual Hep3Vector direction (double) const =0
 
virtual Hep3Vector delDirect (double) const =0
 
virtual double curvature (double) const =0
 
virtual void getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &direction) const =0
 
virtual void getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &direction, Hep3Vector &delDirect) const =0
 
double distTo0thError (double s, double tol, int pathDir) const
 
virtual double distTo1stError (double s, double tol, int pathDir) const =0
 
virtual double distTo2ndError (double s, double tol, int pathDir) const =0
 
virtual Trajectoryclone () const =0
 
bool validFlightDistance (double f, double tolerance=0.0) const
 
virtual void setFlightRange (double newrange[2])
 
double lowRange () const
 
double hiRange () const
 
double range () const
 
virtual void print (std::ostream &os) const
 
virtual void printAll (std::ostream &os) const
 
 Trajectory (double lowlim, double hilim)
 
virtual ~Trajectory ()
 
virtual HepPoint3D position (double) const =0
 
virtual Hep3Vector direction (double) const =0
 
virtual Hep3Vector delDirect (double) const =0
 
virtual double curvature (double) const =0
 
virtual void getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &direction) const =0
 
virtual void getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &direction, Hep3Vector &delDirect) const =0
 
double distTo0thError (double s, double tol, int pathDir) const
 
virtual double distTo1stError (double s, double tol, int pathDir) const =0
 
virtual double distTo2ndError (double s, double tol, int pathDir) const =0
 
virtual Trajectoryclone () const =0
 
bool validFlightDistance (double f, double tolerance=0.0) const
 
virtual void setFlightRange (double newrange[2])
 
double lowRange () const
 
double hiRange () const
 
double range () const
 
virtual void print (std::ostream &os) const
 
virtual void printAll (std::ostream &os) const
 
virtual HepMatrix derivDeflect (double fltlen, deflectDirection idir) const =0
 
virtual HepMatrix derivDisplace (double fltlen, deflectDirection idir) const =0
 
virtual HepMatrix derivPFract (double fltlen) const =0
 
virtual HepMatrix derivDeflect (double fltlen, deflectDirection idir) const =0
 
virtual HepMatrix derivDisplace (double fltlen, deflectDirection idir) const =0
 
virtual HepMatrix derivPFract (double fltlen) const =0
 

Additional Inherited Members

- Static Public Attributes inherited from TrkSimpTraj
static HepPoint3D _theOrigin
 
- Protected Member Functions inherited from 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

◆ anonymous enum

anonymous enum
Enumerator
d0Ind 
phi0Ind 
z0Ind 
tanDipInd 

Definition at line 29 of file Reconstruction/MdcPatRec/TrkFitter/TrkFitter-00-01-11/TrkFitter/TrkDifLineTraj.h.

◆ anonymous enum

anonymous enum
Enumerator
NLINPRM 

Definition at line 30 of file Reconstruction/MdcPatRec/TrkFitter/TrkFitter-00-01-11/TrkFitter/TrkDifLineTraj.h.

30{NLINPRM = 4};

Constructor & Destructor Documentation

◆ TrkDifLineTraj() [1/6]

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.

26 :
27 TrkSimpTraj(pvec, pcov, lowlim,hilim,refpoint)
28{
29}

◆ TrkDifLineTraj() [2/6]

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

Definition at line 31 of file TrkDifLineTraj.cxx.

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

◆ TrkDifLineTraj() [3/6]

TrkDifLineTraj::TrkDifLineTraj ( const TrkDifLineTraj h)

◆ ~TrkDifLineTraj() [1/2]

TrkDifLineTraj::~TrkDifLineTraj ( )

Definition at line 82 of file TrkDifLineTraj.cxx.

83{
84}

◆ TrkDifLineTraj() [4/6]

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

◆ TrkDifLineTraj() [5/6]

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

◆ TrkDifLineTraj() [6/6]

TrkDifLineTraj::TrkDifLineTraj ( const TrkDifLineTraj )

◆ ~TrkDifLineTraj() [2/2]

TrkDifLineTraj::~TrkDifLineTraj ( )

Member Function Documentation

◆ clone() [1/2]

TrkDifLineTraj * TrkDifLineTraj::clone ( ) const
virtual

Implements TrkSimpTraj.

Definition at line 66 of file TrkDifLineTraj.cxx.

◆ clone() [2/2]

TrkDifLineTraj * TrkDifLineTraj::clone ( ) const
virtual

Implements TrkSimpTraj.

◆ cosDip() [1/2]

double TrkDifLineTraj::cosDip ( ) const
inline

◆ cosDip() [2/2]

double TrkDifLineTraj::cosDip ( ) const
inline

◆ curvature() [1/2]

double TrkDifLineTraj::curvature ( double  fltLen) const
virtual

Implements Trajectory.

Definition at line 202 of file TrkDifLineTraj.cxx.

203{
204 return 0.;
205}

◆ curvature() [2/2]

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

Implements Trajectory.

◆ d0() [1/2]

double TrkDifLineTraj::d0 ( ) const
inline

◆ d0() [2/2]

double TrkDifLineTraj::d0 ( ) const
inline

◆ delDirect() [1/2]

Hep3Vector TrkDifLineTraj::delDirect ( double  ) const
virtual

Implements Trajectory.

Definition at line 127 of file TrkDifLineTraj.cxx.

128{
129 return Hep3Vector(0.0, 0.0, 0.0);
130}

Referenced by getInfo().

◆ delDirect() [2/2]

virtual Hep3Vector TrkDifLineTraj::delDirect ( double  ) const
virtual

Implements Trajectory.

◆ derivDeflect() [1/2]

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

Implements TrkKalDeriv.

Definition at line 214 of file TrkDifLineTraj.cxx.

215{
216// This function computes the column matrix of derivatives for the change
217// in parameters for a change in the direction of a track at a point along
218// its flight, holding the momentum and position constant. The effects for
219// changes in 2 perpendicular directions (theta1 = dip and
220// theta2 = phi*cos(dip)) are uncorrelated.
221
222 HepMatrix ddflct(nLinPrm(),1);
223// Compute some common things
224 double cosd = cosDip();
225// Go through the parameters
226 switch (idirect) {
227 case theta1:
228 ddflct[tanDipIndex()][0] = 1.0/(cosd*cosd);
229 ddflct[d0Index()][0] = 0.0;
230 ddflct[phi0Index()][0] = 0.0;
231 ddflct[z0Index()][0] = -fltlen/cosd;;
232 break;
233 case theta2:
234 ddflct[tanDipIndex()][0] = 0;
235 ddflct[d0Index()][0] = -fltlen;
236 ddflct[phi0Index()][0] = 1.0/cosd;
237 ddflct[z0Index()][0] = -(tanDip()/cosd)*d0();
238 break;
239 }
240 return ddflct;
241}

◆ derivDeflect() [2/2]

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

Implements TrkKalDeriv.

◆ derivDisplace() [1/2]

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

Implements TrkKalDeriv.

Definition at line 244 of file TrkDifLineTraj.cxx.

245{
246// This function computes the column matrix of derivatives for the change
247// in parameters for a change in the position of a track at a point along
248// its flight, holding the momentum and direction constant. The effects for
249// changes in 2 perpendicular directions (theta1 = dip and
250// theta2 = phi*cos(dip)) are uncorrelated.
251
252 HepMatrix ddflct(nLinPrm(),1);
253// Compute some common things
254 double cosd = cosDip();
255// Go through the parameters
256 switch (idirect) {
257 case theta1:
258 ddflct[tanDipIndex()][0] = 0.0;
259 ddflct[d0Index()][0] = 0.0;
260 ddflct[phi0Index()][0] = 0.0;
261 ddflct[z0Index()][0] = 1.0/cosd;
262 break;
263 case theta2:
264 ddflct[tanDipIndex()][0] = 0;
265 ddflct[d0Index()][0] = 1.0;
266 ddflct[phi0Index()][0] = 0.0;
267 ddflct[z0Index()][0] = 0.0;
268 break;
269 }
270 return ddflct;
271}

◆ derivDisplace() [2/2]

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

Implements TrkKalDeriv.

◆ derivPFract() [1/2]

HepMatrix TrkDifLineTraj::derivPFract ( double  fltlen) const
virtual

Implements TrkKalDeriv.

Definition at line 274 of file TrkDifLineTraj.cxx.

275{
276// This function computes the column matrix of derrivatives for the change
277// in parameters from a (fractional) change in the track momentum,
278// holding the direction and position constant. The momentum change can
279// come from energy loss or bfield inhomogeneities. Line Trajs have no
280// geometric change from energy loss.
281
282 return HepMatrix(nLinPrm(),1, 0);
283}

◆ derivPFract() [2/2]

HepMatrix TrkDifLineTraj::derivPFract ( double  fltlen) const
virtual

Implements TrkKalDeriv.

◆ direction() [1/2]

Hep3Vector TrkDifLineTraj::direction ( double  fltLen) const
virtual

Implements Trajectory.

Definition at line 118 of file TrkDifLineTraj.cxx.

119{
120 double cdip = cosDip();
121 return Hep3Vector ( cos(phi0()) * cdip,
122 sin(phi0()) * cdip,
123 tanDip() * cdip);
124}
double sin(const BesAngle a)
double cos(const BesAngle a)
double phi0() const

Referenced by getInfo().

◆ direction() [2/2]

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

Implements Trajectory.

◆ distTo1stError() [1/2]

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

Implements Trajectory.

Definition at line 133 of file TrkDifLineTraj.cxx.

134{
135 return 999.e4;
136}

◆ distTo1stError() [2/2]

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

Implements Trajectory.

◆ distTo2ndError() [1/2]

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

Implements Trajectory.

Definition at line 139 of file TrkDifLineTraj.cxx.

140{
141 return 999.e4;
142}

◆ distTo2ndError() [2/2]

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

Implements Trajectory.

◆ getDFInfo() [1/2]

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

Implements TrkDifTraj.

Definition at line 163 of file TrkDifLineTraj.cxx.

165{
166 //Provides difNum version of information for calculation of derivatives.
167
168 // Create difNumber versions of parameters
169 //enum index (phi0Index(), etc) is from TrkLineParams.hh
170 DifNumber phi0Df(phi0(), phi0Index()+1, nLinPrm());
171 DifNumber d0Df(d0(), d0Index()+1, nLinPrm());
172 DifNumber z0Df(z0(), z0Index()+1, nLinPrm());
173 DifNumber tanDipDf(tanDip(), tanDipIndex()+1, nLinPrm());
174 DifNumber zero(0.0, nLinPrm());
175 phi0Df.setIndepPar( parameters() );
176 d0Df.setIndepPar( parameters() );
177 z0Df.setIndepPar( parameters() );
178 tanDipDf.setIndepPar( parameters() );
180
181 DifNumber sphi0, cphi0;
182 phi0Df.cosAndSin(cphi0, sphi0);
183
184 DifNumber px(referencePoint().x());
185 DifNumber py(referencePoint().y());
186 DifNumber pz(referencePoint().z());
187
188 DifNumber cdip = 1. / sqrt(1. + tanDipDf*tanDipDf);
189 DifNumber xx = -d0Df * sphi0 + flt * cphi0 * cdip + px;
190 DifNumber yy = d0Df * cphi0 + flt * sphi0 * cdip + py;
191 DifNumber zz = z0Df + flt * tanDipDf * cdip + pz;
192
193 pos = DifPoint(xx, yy, zz);
194 dir = DifVector( cphi0 * cdip,
195 sphi0 * cdip,
196 tanDipDf * cdip);
197
198 delDir = DifVector(zero, zero, zero);
199}
const DifNumber zero
void cosAndSin(DifNumber &c, DifNumber &s) const

◆ getDFInfo() [2/2]

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

Implements TrkDifTraj.

◆ getInfo() [1/4]

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

Implements Trajectory.

Definition at line 145 of file TrkDifLineTraj.cxx.

147{
148 // This could be made much more efficient!!!!!!
149 pos = position(fltLen);
150 dir = direction(fltLen);
151 delDir = delDirect(fltLen);
152}
virtual Hep3Vector direction(double fltLen) const
virtual Hep3Vector delDirect(double) const
virtual HepPoint3D position(double fltLen) const

◆ getInfo() [2/4]

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

Implements Trajectory.

◆ getInfo() [3/4]

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

Implements Trajectory.

Definition at line 155 of file TrkDifLineTraj.cxx.

156{
157 // This could be made much more efficient!!!!!
158 pos = position(fltLen);
159 dir = direction(fltLen);
160}

◆ getInfo() [4/4]

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

Implements Trajectory.

◆ invertParams() [1/2]

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

Implements TrkSimpTraj.

Definition at line 296 of file TrkDifLineTraj.cxx.

297{
298 // Inverts parameters and returns true if the parameter inversion
299 // requires a change in sign of elements in the covariance matrix
300 for (unsigned iparam = 0; iparam < NLINPRM; iparam++) {
301 switch ( iparam ) {
302 case d0Ind: // changes sign
303 case tanDipInd: // changes sign
304 params->parameter()[iparam] *= -1.0;
305 flags[iparam] = true;
306 break;
307 case phi0Ind: // changes by pi, but covariance matrix shouldn't change
308 params->parameter()[iparam] =
309 BesAngle(params->parameter()[iparam] + Constants::pi);
310 flags[iparam] = false;
311 break;
312 case z0Ind: // no change
313 flags[iparam] = false;
314 }
315 }
316 return;
317}

◆ invertParams() [2/2]

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

Implements TrkSimpTraj.

◆ nPar() [1/2]

int TrkDifLineTraj::nPar ( ) const
inlinevirtual

Reimplemented from TrkSimpTraj.

Definition at line 60 of file InstallArea/include/TrkFitter/TrkFitter/TrkDifLineTraj.h.

60{return NLINPRM;}

◆ nPar() [2/2]

int TrkDifLineTraj::nPar ( ) const
inlinevirtual

◆ operator=() [1/2]

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

Definition at line 72 of file TrkDifLineTraj.cxx.

73{
74 if( &h != this ){
76 _dtparams = *h.parameters();
78 }
79 return *this;
80}
Trajectory & operator=(const Trajectory &)
Definition: Trajectory.cxx:86

◆ operator=() [2/2]

TrkDifLineTraj & TrkDifLineTraj::operator= ( const TrkDifLineTraj )

◆ paramFunction() [1/2]

TranslateParams TrkDifLineTraj::paramFunction ( ) const
inlinevirtual

Implements TrkSimpTraj.

Definition at line 72 of file InstallArea/include/TrkFitter/TrkFitter/TrkDifLineTraj.h.

72{ return TrkDifLineTraj::paramFunc; }

◆ paramFunction() [2/2]

TranslateParams TrkDifLineTraj::paramFunction ( ) const
inlinevirtual

Implements TrkSimpTraj.

Definition at line 72 of file Reconstruction/MdcPatRec/TrkFitter/TrkFitter-00-01-11/TrkFitter/TrkDifLineTraj.h.

72{ return TrkDifLineTraj::paramFunc; }

◆ phi0() [1/2]

double TrkDifLineTraj::phi0 ( ) const

Definition at line 208 of file TrkDifLineTraj.cxx.

209{
210 return BesAngle(parameters()->parameter()[phi0Index()]).rad();
211}

Referenced by direction(), getDFInfo(), TrkLineRep::helix(), and position().

◆ phi0() [2/2]

double TrkDifLineTraj::phi0 ( ) const

◆ position() [1/2]

HepPoint3D TrkDifLineTraj::position ( double  fltLen) const
virtual

Implements Trajectory.

Definition at line 107 of file TrkDifLineTraj.cxx.

108{
109 double cosd = cosDip();
110 double cp = cos(phi0());
111 double sp = sin(phi0());
112 return HepPoint3D(-d0()*sp + f*cp*cosd + referencePoint().x(),
113 d0()*cp + f*sp*cosd + referencePoint().y(),
114 z0() + f*tanDip()*cosd + referencePoint().z());
115}

Referenced by getInfo().

◆ position() [2/2]

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

Implements Trajectory.

◆ tanDip() [1/2]

double TrkDifLineTraj::tanDip ( ) const
inline

◆ tanDip() [2/2]

double TrkDifLineTraj::tanDip ( ) const
inline

◆ visitAccept() [1/2]

void TrkDifLineTraj::visitAccept ( TrkVisitor vis) const
virtual

Implements TrkSimpTraj.

Definition at line 320 of file TrkDifLineTraj.cxx.

321{
322// Visitor access--just use the TrkVisitor class member function
323 vis->trkVisitLineTraj(this);
324}
virtual void trkVisitLineTraj(const TrkDifLineTraj *)=0

◆ visitAccept() [2/2]

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

Implements TrkSimpTraj.

◆ z0() [1/2]

double TrkDifLineTraj::z0 ( ) const
inline

Definition at line 56 of file InstallArea/include/TrkFitter/TrkFitter/TrkDifLineTraj.h.

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

Referenced by getDFInfo(), TrkLineRep::helix(), and position().

◆ z0() [2/2]

double TrkDifLineTraj::z0 ( ) const
inline

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