Main Page   Namespace List   Compound List   File List   Compound Members   File Members  

TrLinearExtrapolator Class Reference

#include "TrLinearExtrapolator.h"

List of all members.

Public Methods

 TrLinearExtrapolator (const std::string &type, const std::string &name, const IInterface *parent)
 Constructor. More...

virtual ~TrLinearExtrapolator ()
 Destructor. More...

virtual const HepMatrix & transportMatrix () const
 Retrieve transport matrix. More...

virtual StatusCode propagate (TrState *state, double z=0, ParticleID partId=ParticleID(211))
 Propagate a TrState to a given z-position. More...

virtual StatusCode propagate (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211))
 Propagate a TrState to the intersection point with a given plane. More...

virtual StatusCode positionAndMomentum (TrState *state, double z=0, ParticleID partId=ParticleID(211), HepPoint3D pos, HepVector3D mom, HepSymMatrix cov6D)
 Retrieve the position and momentum vectors and the corresponding 6D covariance matrix (pos:1->3,mom:4-6) for a state at a given z-position. More...

virtual StatusCode positionAndMomentum (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), HepPoint3D pos, HepVector3D mom, HepSymMatrix cov6D)
 Retrieve the position and momentum vectors and the corresponding 6D covariance matrix (pos:1->3,mom:4-6) at the intersection of a state with a given plane. More...

virtual StatusCode positionAndMomentum (TrTrack *track, double z=0, ParticleID partId=ParticleID(211), HepPoint3D pos, HepVector3D mom, HepSymMatrix cov6D)
 Retrieve the position and momentum vectors and the corresponding 6D covariance matrix (pos:1->3,mom:4-6) of a track at a given z-position. More...

virtual StatusCode positionAndMomentum (TrTrack *track, HepPlane plane, ParticleID partId=ParticleID(211), HepPoint3D pos, HepVector3D mom, HepSymMatrix cov6D)
 Retrieve the position and momentum vectors and the corresponding 6D covariance matrix (pos:1->3,mom:4-6) at the intersection of a track with a given plane. More...

virtual StatusCode position (TrState *state, double z=0, ParticleID partId=ParticleID(211), HepPoint3D pos)
 Retrieve the 3D-position vector of a state at a given z-position. More...

virtual StatusCode position (TrState *state, double z=0, ParticleID partId=ParticleID(211), HepPoint3D pos, std::vector errPos)
 Retrieve the 3D-position vector and errors of a state at a given z-position. More...

virtual StatusCode position (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), HepPoint3D pos)
 Retrieve the 3D-position vector at the intersection of a state with a given plane. More...

virtual StatusCode position (TrTrack *track, double z=0, ParticleID partId=ParticleID(211), HepPoint3D pos)
 Retrieve the 3D-position vector of a track at a given z-position. More...

virtual StatusCode position (TrTrack *track, HepPlane plane, ParticleID partId=ParticleID(211), HepPoint3D pos)
 Retrieve the 3D-position vector at the intersection of a track with a given plane. More...

virtual StatusCode slopes (TrState *state, double z=0, ParticleID partId=ParticleID(211), HepVector3D slopes)
 Retrieve the slopes (dx/dz,dy/dz,1) of a state at a given z-position. More...

virtual StatusCode slopes (TrState *state, double z=0, ParticleID partId=ParticleID(211), HepVector3D slopes, std::vector errSlopes)
 Retrieve the slopes (dx/dz,dy/dz,1) and errors of a state at a given z-position. More...

virtual StatusCode slopes (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), HepVector3D slopes)
 Retrieve the slopes (dx/dz,dy/dz,1) at the intersection of a state with a given plane. More...

virtual StatusCode slopes (TrState *state, double z=0, ParticleID partId=ParticleID(211), HepVector3D slopes)
 Retrieve the slopes (dx/dz,dy/dz,1) of a state at a given z-position. More...

virtual StatusCode slopes (TrTrack *track, HepPlane plane, ParticleID partId=ParticleID(211), HepVector3D slopes)
 Retrieve the slopes (dx/dz,dy/dz,1) at the intersection of a state with a given plane. More...

virtual StatusCode posMomCovariance (TrState *state, double z=0, ParticleID partId=ParticleID(211), HepSymMatrix cov6D)
 Retrieve the 6D covariance matrix (x,y,z,px,py,pz) of a state at a given z-position. More...

virtual StatusCode posMomCovariance (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), HepSymMatrix cov6D)
 Retrieve the 6D covariance matrix (x,y,z,px,py,pz) at the intersection of a state with a given plane. More...

virtual StatusCode errPosition (TrState *state, double z=0, ParticleID partId=ParticleID(211), std::vector errPosition)
 Retrieve the errors on the 3D-position vector of a state at a given z-position. More...

virtual StatusCode errPosition (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), std::vector errPosition)
 Retrieve the errors on the 3D-position vector at the intersection of a state with a given plane. More...

virtual StatusCode errSlopes (TrState *state, double z=0, ParticleID partId=ParticleID(211), std::vector errPosition)
 Retrieve the errors on the slopes (errors on dx/dz,dy/dz) of a state at a given z-position. More...

virtual StatusCode errSlopes (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), std::vector errSlopes)
 Retrieve the errors on the slopes (errors on dx/dz,dy/dz) at the intersection of a state with a given plane. More...

virtual StatusCode p (TrState *state, double z=0, ParticleID partId=ParticleID(211), double p)
 Retrieve the momentum of a state at a given z-position. More...

virtual StatusCode p (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), double p)
 Retrieve the momentum at the intersection of a state with a given plane. More...

virtual StatusCode pt (TrState *state, double z=0, ParticleID partId=ParticleID(211), double pt)
 Retrieve the transverse momentum of a state at a given z-position. More...

virtual StatusCode pt (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), double pt)
 Retrieve the transverse momentum at the intersection of a state with a given plane. More...

virtual StatusCode momentum (TrState *state, double z=0, ParticleID partId=ParticleID(211), HepVector3D)
 Retrieve the momentum vector of a state at a given z-position. More...

virtual StatusCode momentum (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), HepVector3D)
 Retrieve the momentum vector at the intersection of a state with a given plane. More...

virtual StatusCode errMomentum (TrState *state, double z=0, ParticleID partId=ParticleID(211), std::vector errMomentum)
 Retrieve the errors on the momentum vector of a state at a given z-position. More...

virtual StatusCode errMomentum (TrState *state, HepPlane plane, ParticleID partId=ParticleID(211), std::vector errMomentum)
 Retrieve the errors on the momentum vector at the intersection of a state with a given plane. More...


Private Methods

void extrapolate (TrState *state) const
 Extrapolatation method. More...


Private Attributes

HepMatrix m_F
 Transport matrix. More...


Detailed Description

A TrLinearExtrapolator is a ITrExtrapolator which does a 'linear' (i.e. straight line) extrapolation of a TrState. It doesn't take into account multiple scattering.

Author:
Rutger van der Eijk
Date:
07-04-1999


Constructor & Destructor Documentation

TrLinearExtrapolator::TrLinearExtrapolator const std::string &    type,
const std::string &    name,
const IInterface *    parent
 

Constructor.

00029                                                                     :
00030   GaudiTool(type, name, parent),
00031   m_F()
00032 {
00033   declareInterface<ITrExtrapolator>( this );
00034 
00035   // create transport matrix
00036   m_F = HepMatrix(4, 4, 1);
00037 
00038 }

TrLinearExtrapolator::~TrLinearExtrapolator   [virtual]
 

Destructor.

00043 {
00044 }


Member Function Documentation

virtual StatusCode TrLinearExtrapolator::errMomentum TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
std::vector    errMomentum
[virtual]
 

Retrieve the errors on the momentum vector at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::errMomentum TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
std::vector    errMomentum
[virtual]
 

Retrieve the errors on the momentum vector of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::errPosition TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
std::vector    errPosition
[virtual]
 

Retrieve the errors on the 3D-position vector at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::errPosition TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
std::vector    errPosition
[virtual]
 

Retrieve the errors on the 3D-position vector of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::errSlopes TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
std::vector    errSlopes
[virtual]
 

Retrieve the errors on the slopes (errors on dx/dz,dy/dz) at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::errSlopes TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
std::vector    errPosition
[virtual]
 

Retrieve the errors on the slopes (errors on dx/dz,dy/dz) of a state at a given z-position.

void TrLinearExtrapolator::extrapolate TrState   state const [private]
 

Extrapolatation method.

Extrapolate the TrState 'state' to z=zNew using the transport matrix m_F. (i.e. it performs the mathematical calculation).

00050                                                            {
00051   // get reference to the TrState vector and cov
00052   HepVector& tX = state->stateVector();
00053   HepSymMatrix& tC = state->stateCov();
00054 
00055   // calculate new state
00056   tX = m_F * tX; // X*F  (can this be done more efficient?)
00057   tC = tC.similarity(m_F); // F*C*F.T()
00058 }

virtual StatusCode TrLinearExtrapolator::momentum TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
HepVector3D   
[virtual]
 

Retrieve the momentum vector at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::momentum TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepVector3D   
[virtual]
 

Retrieve the momentum vector of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::p TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
double    p
[virtual]
 

Retrieve the momentum at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::p TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
double    p
[virtual]
 

Retrieve the momentum of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::position TrTrack   track,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos
[virtual]
 

Retrieve the 3D-position vector at the intersection of a track with a given plane.

virtual StatusCode TrLinearExtrapolator::position TrTrack   track,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos
[virtual]
 

Retrieve the 3D-position vector of a track at a given z-position.

virtual StatusCode TrLinearExtrapolator::position TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos
[virtual]
 

Retrieve the 3D-position vector at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::position TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos,
std::vector    errPos
[virtual]
 

Retrieve the 3D-position vector and errors of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::position TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos
[virtual]
 

Retrieve the 3D-position vector of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::positionAndMomentum TrTrack   track,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos,
HepVector3D    mom,
HepSymMatrix    cov6D
[virtual]
 

Retrieve the position and momentum vectors and the corresponding 6D covariance matrix (pos:1->3,mom:4-6) at the intersection of a track with a given plane.

virtual StatusCode TrLinearExtrapolator::positionAndMomentum TrTrack   track,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos,
HepVector3D    mom,
HepSymMatrix    cov6D
[virtual]
 

Retrieve the position and momentum vectors and the corresponding 6D covariance matrix (pos:1->3,mom:4-6) of a track at a given z-position.

virtual StatusCode TrLinearExtrapolator::positionAndMomentum TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos,
HepVector3D    mom,
HepSymMatrix    cov6D
[virtual]
 

Retrieve the position and momentum vectors and the corresponding 6D covariance matrix (pos:1->3,mom:4-6) at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::positionAndMomentum TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepPoint3D    pos,
HepVector3D    mom,
HepSymMatrix    cov6D
[virtual]
 

Retrieve the position and momentum vectors and the corresponding 6D covariance matrix (pos:1->3,mom:4-6) for a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::posMomCovariance TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
HepSymMatrix    cov6D
[virtual]
 

Retrieve the 6D covariance matrix (x,y,z,px,py,pz) at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::posMomCovariance TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepSymMatrix    cov6D
[virtual]
 

Retrieve the 6D covariance matrix (x,y,z,px,py,pz) of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::propagate TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211)
[virtual]
 

Propagate a TrState to the intersection point with a given plane.

StatusCode TrLinearExtrapolator::propagate TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211)
[virtual]
 

Propagate a TrState to a given z-position.

00063                                                        {
00064 
00065   // check for state
00066   if (!state) {
00067     return Error("propagate should be called with a pntr to a TrState !", StatusCode::FAILURE);
00068   }
00069 
00070   // create transport matrix
00071   m_F = HepMatrix(5, 5, 1);
00072 
00073   // check current z-position
00074   double dz = zNew - state->z();
00075   if (fabs(dz) > TrGeneral::hiTolerance) {
00076     m_F[0][2] = dz; // tx*dz
00077     m_F[1][3] = dz; // ty*dz
00078     // extrapolate
00079     extrapolate(state);
00080     state->setZ(zNew);
00081   }
00082   
00083   return StatusCode::SUCCESS;
00084 }

virtual StatusCode TrLinearExtrapolator::pt TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
double    pt
[virtual]
 

Retrieve the transverse momentum at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::pt TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
double    pt
[virtual]
 

Retrieve the transverse momentum of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::slopes TrTrack   track,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
HepVector3D    slopes
[virtual]
 

Retrieve the slopes (dx/dz,dy/dz,1) at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::slopes TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepVector3D    slopes
[virtual]
 

Retrieve the slopes (dx/dz,dy/dz,1) of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::slopes TrState   state,
HepPlane    plane,
ParticleID    partId = ParticleID(211),
HepVector3D    slopes
[virtual]
 

Retrieve the slopes (dx/dz,dy/dz,1) at the intersection of a state with a given plane.

virtual StatusCode TrLinearExtrapolator::slopes TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepVector3D    slopes,
std::vector    errSlopes
[virtual]
 

Retrieve the slopes (dx/dz,dy/dz,1) and errors of a state at a given z-position.

virtual StatusCode TrLinearExtrapolator::slopes TrState   state,
double    z = 0,
ParticleID    partId = ParticleID(211),
HepVector3D    slopes
[virtual]
 

Retrieve the slopes (dx/dz,dy/dz,1) of a state at a given z-position.

const HepMatrix & TrLinearExtrapolator::transportMatrix   const [virtual]
 

Retrieve transport matrix.

00087                                                              {
00088   return m_F;
00089 }


Member Data Documentation

HepMatrix TrLinearExtrapolator::m_F [private]
 

Transport matrix.


The documentation for this class was generated from the following files:
Generated on Tue Sep 28 18:11:17 2004 for New Track Event Model by doxygen 1.2.14 written by Dimitri van Heesch, © 1997-2002