DifVector Class Reference

#include <DifVector.h>

Inheritance diagram for DifVector:

DifPoint List of all members.

Public Member Functions

 DifVector ()
 DifVector (const DifNumber &x, const DifNumber &y, const DifNumber &z)
 DifVector (double x, double y, double z)
 DifVector (const Hep3Vector &v)
 DifVector (const DifVector &v)
 ~DifVector ()
HepSymMatrix errorMatrix (const HepSymMatrix &e) const
HepMatrix jacobian () const
DifVectoroperator+= (const DifVector &v)
DifVectoroperator-= (const DifVector &v)
DifVectoroperator *= (const DifNumber &n)
DifVectoroperator *= (const double &n)
DifVectoroperator/= (const DifNumber &n)
DifVectoroperator/= (const double &n)
DifVectoroperator= (const DifVector &v)
DifVector operator- () const
int nPar () const
void print () const
DifVectorflipsign ()
DifVectornormalize ()
DifVectorzeroDerivatives ()
DifVectorrotate (const DifVector &axis, const DifNumber &angle)
DifVectorrotate (const DifVector &axis, const DifNumber &cosine, const DifNumber &sine)
DifVectorrotate (const DifNumber &alpha, const DifNumber &beta, const DifNumber &gamma)
DifVectorrotate (const DifRotation &r)
DifVectorrotateX (const DifNumber &angle)
DifVectorrotateX (const DifNumber &cosine, const DifNumber &sine)
DifVectorrotateY (const DifNumber &angle)
DifVectorrotateY (const DifNumber &cosine, const DifNumber &sine)
DifVectorrotateZ (const DifNumber &angle)
DifVectorrotateZ (const DifNumber &cosine, const DifNumber &sine)
DifVectorrotate (const DifVector &axis, const double &angle)
DifVectorrotate (const DifVector &axis, const double &cosine, const double &sine)
DifVectorrotate (const double &alpha, const double &beta, const double &gamma)
DifVectorrotateX (const double &angle)
DifVectorrotateX (const double &cosine, const double &sine)
DifVectorrotateY (const double &angle)
DifVectorrotateY (const double &cosine, const double &sine)
DifVectorrotateZ (const double &angle)
DifVectorrotateZ (const double &cosine, const double &sine)
DifVector transverse (const DifVector &v) const
DifNumber dot (const DifVector &v) const
DifNumber length () const
DifNumber lengthSq () const
DifVector unit () const
DifNumber perp () const
DifNumber perpSq () const
DifNumber r () const
DifNumber phi () const
DifNumber theta () const
DifNumber cosTheta () const

Public Attributes

DifNumber x
DifNumber y
DifNumber z

Friends

DifVector operator+ (const DifVector &a, const DifVector &b)
DifVector operator- (const DifVector &a, const DifVector &b)
DifNumber operator * (const DifVector &a, const DifVector &b)
DifVector operator * (const DifVector &v, const DifNumber &n)
DifVector operator * (const DifNumber &n, const DifVector &v)
DifVector operator/ (const DifVector &v, const DifNumber &n)
DifVector operator * (const DifVector &v, const double &n)
DifVector operator * (const double &n, const DifVector &v)
DifVector operator/ (const DifVector &v, const double &n)
DifVector cross (const DifVector &a, const DifVector &b)

Detailed Description

Definition at line 32 of file DifVector.h.


Constructor & Destructor Documentation

DifVector::DifVector (  ) 

Definition at line 32 of file DifVector.cxx.

00033   :x(0.0),y(0.0),z(0.0)  
00034 {} 

DifVector::DifVector ( const DifNumber x,
const DifNumber y,
const DifNumber z 
)

Definition at line 37 of file DifVector.cxx.

00038   :x(X),y(Y),z(Z)
00039 {}

DifVector::DifVector ( double  x,
double  y,
double  z 
)

Definition at line 42 of file DifVector.cxx.

00043   :x(X),y(Y),z(Z)
00044 {}

DifVector::DifVector ( const Hep3Vector &  v  ) 

Definition at line 46 of file DifVector.cxx.

00047   :x(v.x()),y(v.y()),z(v.z())
00048 {}

DifVector::DifVector ( const DifVector v  ) 

Definition at line 50 of file DifVector.cxx.

00051   :x(v.x),y(v.y),z(v.z)
00052 {}

DifVector::~DifVector (  )  [inline]

Definition at line 47 of file DifVector.h.

00047 {}              // destroy


Member Function Documentation

DifNumber DifVector::cosTheta (  )  const

DifNumber DifVector::dot ( const DifVector v  )  const [inline]

Referenced by TrkDifPoca::calcDist().

HepSymMatrix DifVector::errorMatrix ( const HepSymMatrix &  e  )  const

Definition at line 54 of file DifVector.cxx.

References correlation(), subSeperate::temp, x, y, and z.

Referenced by TrkMomCalculator::calcCurvAllCovsOLD(), TrkMomCalculator::calcCurvErrMom(), TrkMomCalculator::calcNeutAllCovs(), TrkMomCalculator::calcNeutErrMom(), TrkRep::directionErr(), TrkCompTrk::directionErr(), TrkRep::positionErr(), and TrkCompTrk::positionErr().

00054                                                               {
00055   HepSymMatrix temp(3);
00056   temp(1,1)=correlation(x,x,e);  
00057   temp(1,2)=correlation(x,y,e);
00058   temp(1,3)=correlation(x,z,e);
00059   temp(2,2)=correlation(y,y,e);
00060   temp(2,3)=correlation(y,z,e);
00061   temp(3,3)=correlation(z,z,e);
00062   return temp;
00063 }

DifVector& DifVector::flipsign (  )  [inline]

HepMatrix DifVector::jacobian (  )  const

Definition at line 65 of file DifVector.cxx.

References DifNumber::derivative(), genRecEmupikp::i, DifNumber::nPar(), subSeperate::temp, x, y, and z.

Referenced by TrkMomCalculator::calcCurvAllWeightsOLD(), and TrkMomCalculator::calcNeutAllWeights().

00065                                   {
00066   int npar=x.nPar();
00067   HepMatrix temp(3,npar);
00068   for(int i=1; i<=npar; i++){
00069     temp(1,i)=x.derivative(i);
00070     temp(2,i)=y.derivative(i);
00071     temp(3,i)=z.derivative(i);
00072   } // (int i=1; i<=npar; i++)
00073   return temp;
00074 }

DifNumber DifVector::length (  )  const [inline]

Referenced by DifFourVector::boostFrom(), DifFourVector::boostTo(), TrkMomCalculator::calcCurvAllCovsOLD(), TrkMomCalculator::calcCurvAllWeightsOLD(), TrkMomCalculator::calcCurvErrMom(), TrkMomCalculator::calcCurvPosmomCov(), TrkDifPoca::calcDist(), and DifFourVector::pMag().

DifNumber DifVector::lengthSq (  )  const [inline]

Referenced by DifFourVector::boostFromMe(), and DifFourVector::boostToMe().

DifVector& DifVector::normalize (  )  [inline]

Referenced by DifFourVector::boostFrom(), DifFourVector::boostFromMe(), DifFourVector::boostTo(), DifFourVector::boostToMe(), and TrkDifPoca::calcDist().

int DifVector::nPar (  )  const [inline]

DifVector& DifVector::operator *= ( const double &  n  )  [inline]

DifVector& DifVector::operator *= ( const DifNumber n  )  [inline]

Reimplemented in DifPoint.

DifVector& DifVector::operator+= ( const DifVector v  )  [inline]

Reimplemented in DifPoint.

DifVector DifVector::operator- (  )  const [inline]

DifVector& DifVector::operator-= ( const DifVector v  )  [inline]

Reimplemented in DifPoint.

DifVector& DifVector::operator/= ( const double &  n  ) 

DifVector& DifVector::operator/= ( const DifNumber n  ) 

Reimplemented in DifPoint.

DifVector& DifVector::operator= ( const DifVector v  )  [inline]

Reimplemented in DifPoint.

DifNumber DifVector::perp (  )  const [inline]

DifNumber DifVector::perpSq (  )  const [inline]

DifNumber DifVector::phi (  )  const

void DifVector::print (  )  const

Definition at line 85 of file DifVector.cxx.

00085                            {
00086   /*SKIP
00087   cout << "x:" << x;
00088   cout << "y:" << y;
00089   cout << "z:" << z;
00090   */
00091   //yzhang TEMP
00092   cout << "Yzhang::DifVector::print x,y,z SKIPED!\n";
00093 }

DifNumber DifVector::r (  )  const

Referenced by rotate().

DifVector& DifVector::rotate ( const double &  alpha,
const double &  beta,
const double &  gamma 
)

DifVector& DifVector::rotate ( const DifVector axis,
const double &  cosine,
const double &  sine 
) [inline]

DifVector& DifVector::rotate ( const DifVector axis,
const double &  angle 
) [inline]

DifVector & DifVector::rotate ( const DifRotation r  ) 

Definition at line 76 of file DifVector.cxx.

References r().

00076                                                  {
00077   r.rotate(*this); return *this;
00078 }

DifVector & DifVector::rotate ( const DifNumber alpha,
const DifNumber beta,
const DifNumber gamma 
)

Definition at line 80 of file DifVector.cxx.

References rotate().

00080                                                                                      {
00081   DifRotation(a,b,g).rotate(*this);
00082   return *this;
00083 }

DifVector& DifVector::rotate ( const DifVector axis,
const DifNumber cosine,
const DifNumber sine 
) [inline]

DifVector& DifVector::rotate ( const DifVector axis,
const DifNumber angle 
) [inline]

Referenced by rotate().

DifVector& DifVector::rotateX ( const double &  cosine,
const double &  sine 
) [inline]

DifVector& DifVector::rotateX ( const double &  angle  )  [inline]

DifVector& DifVector::rotateX ( const DifNumber cosine,
const DifNumber sine 
) [inline]

DifVector& DifVector::rotateX ( const DifNumber angle  )  [inline]

DifVector& DifVector::rotateY ( const double &  cosine,
const double &  sine 
) [inline]

DifVector& DifVector::rotateY ( const double &  angle  )  [inline]

DifVector& DifVector::rotateY ( const DifNumber cosine,
const DifNumber sine 
) [inline]

DifVector& DifVector::rotateY ( const DifNumber angle  )  [inline]

DifVector& DifVector::rotateZ ( const double &  cosine,
const double &  sine 
) [inline]

DifVector& DifVector::rotateZ ( const double &  angle  )  [inline]

DifVector& DifVector::rotateZ ( const DifNumber cosine,
const DifNumber sine 
) [inline]

DifVector& DifVector::rotateZ ( const DifNumber angle  )  [inline]

DifNumber DifVector::theta (  )  const

DifVector DifVector::transverse ( const DifVector v  )  const [inline]

DifVector DifVector::unit (  )  const [inline]

DifVector& DifVector::zeroDerivatives (  )  [inline]


Friends And Related Function Documentation

DifVector cross ( const DifVector a,
const DifVector b 
) [friend]

DifVector operator * ( const double &  n,
const DifVector v 
) [friend]

DifVector operator * ( const DifVector v,
const double &  n 
) [friend]

DifVector operator * ( const DifNumber n,
const DifVector v 
) [friend]

DifVector operator * ( const DifVector v,
const DifNumber n 
) [friend]

DifNumber operator * ( const DifVector a,
const DifVector b 
) [friend]

DifVector operator+ ( const DifVector a,
const DifVector b 
) [friend]

DifVector operator- ( const DifVector a,
const DifVector b 
) [friend]

DifVector operator/ ( const DifVector v,
const double &  n 
) [friend]

DifVector operator/ ( const DifVector v,
const DifNumber n 
) [friend]


Member Data Documentation

DifNumber DifVector::x

Definition at line 148 of file DifVector.h.

Referenced by TrkMomCalculator::calcCurvAllCovsOLD(), TrkMomCalculator::calcCurvAllWeightsOLD(), TrkMomCalculator::calcCurvErrMom(), TrkMomCalculator::calcCurvPosmomCov(), TrkDifPoca::calcDist(), TrkMomCalculator::calcNeutAllCovs(), TrkMomCalculator::calcNeutAllWeights(), TrkMomCalculator::calcNeutErrMom(), TrkMomCalculator::calcNeutPosmomCov(), TrkRep::directionErr(), TrkCompTrk::directionErr(), errorMatrix(), DifFourVector::errorMatrix(), TrkCircleTraj::getDFInfo(), HelixTraj::getDFInfo(), TrkCircleTraj::getDFInfo2(), HelixTraj::getDFInfo2(), jacobian(), DifFourVector::jacobian(), TrkRep::positionErr(), and TrkCompTrk::positionErr().

DifNumber DifVector::y

Definition at line 149 of file DifVector.h.

Referenced by TrkMomCalculator::calcCurvAllCovsOLD(), TrkMomCalculator::calcCurvAllWeightsOLD(), TrkMomCalculator::calcCurvErrMom(), TrkMomCalculator::calcCurvPosmomCov(), TrkMomCalculator::calcNeutAllCovs(), TrkMomCalculator::calcNeutAllWeights(), TrkMomCalculator::calcNeutErrMom(), TrkMomCalculator::calcNeutPosmomCov(), TrkRep::directionErr(), TrkCompTrk::directionErr(), errorMatrix(), DifFourVector::errorMatrix(), TrkCircleTraj::getDFInfo(), HelixTraj::getDFInfo(), TrkCircleTraj::getDFInfo2(), HelixTraj::getDFInfo2(), jacobian(), DifFourVector::jacobian(), TrkRep::positionErr(), and TrkCompTrk::positionErr().

DifNumber DifVector::z

Definition at line 150 of file DifVector.h.

Referenced by TrkMomCalculator::calcCurvAllCovsOLD(), TrkMomCalculator::calcCurvAllWeightsOLD(), TrkMomCalculator::calcCurvErrMom(), TrkMomCalculator::calcCurvPosmomCov(), TrkDifPoca::calcDist(), TrkMomCalculator::calcNeutAllCovs(), TrkMomCalculator::calcNeutAllWeights(), TrkMomCalculator::calcNeutErrMom(), TrkMomCalculator::calcNeutPosmomCov(), TrkRep::directionErr(), TrkCompTrk::directionErr(), errorMatrix(), DifFourVector::errorMatrix(), TrkCircleTraj::getDFInfo(), HelixTraj::getDFInfo(), TrkCircleTraj::getDFInfo2(), HelixTraj::getDFInfo2(), jacobian(), DifFourVector::jacobian(), TrkRep::positionErr(), and TrkCompTrk::positionErr().


Generated on Tue Nov 29 23:18:16 2016 for BOSS_7.0.2 by  doxygen 1.4.7