Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

TrTrack Class Reference

#include <TrTrack.h>

List of all members.

Public Types

enum  TrackType {
  Long, Velotrack, Backward, Ttrack,
  Upstream, Downstream, L1Long, L1RZVelo,
  L1SpaceVelo, L1VeloTT, L1MuonMatched, L1Tracks,
  L1KShort, L1Downstream, HLTLong, HLTRZVelo,
  HLTSpaceVelo, HLTVeloTT
}
enum  HistoryFlag {
  LongTrack, Seeding, TrKshort, TrMatching,
  VeloTrack, VeloTT, TrgForward, TrgVelo,
  TrgVeloTT
}

Public Methods

 TrTrack (const TrTrack &track)
 TrTrack copy constructor. More...

 TrTrack ()
 Default Constructor. More...

virtual ~TrTrack ()
 Destructor. More...

virtual const CLID & clID () const
 Retrieve pointer to class definition structure. More...

StatusCode positionAndMomentum (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 closest to the beam-line. More...

StatusCode positionAndMomentum (double z, ITrExtrapolator *extrapolator, ParticleID &pid, 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...

StatusCode positionAndMomentum (HepPlane3D &plane, ITrExtrapolator *extrapolator, ParticleID &pid, 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 at a given plane. More...

StatusCode position (HepPoint3D &pos, HepSymMatrix &errPos)
 Retrieve the 3D-position (+ errors) of a track closest to the beam-line. More...

StatusCode position (double z, ITrExtrapolator *extrapolator, ParticleID &pid, HepPoint3D &pos, HepSymMatrix &errPos)
 Retrieve the 3D-position vector (+ errors) of a track at a given z-position. More...

StatusCode position (HepPlane3D &plane, ITrExtrapolator *extrapolator, ParticleID &pid, HepPoint3D &pos, HepSymMatrix &errPos)
 Retrieve the 3D-position vector(+ errors) at the intersection of a track with a given plane. More...

StatusCode slopes (HepVector3D &slopes, HepSymMatrix &errSlopes)
 Retrieve the slopes (dx/dz,dy/dz,1) of a track closest to the beam-line. More...

StatusCode slopes (double z, ITrExtrapolator *extrapolator, ParticleID &pid, HepVector3D &slopes, HepSymMatrix &errSlopes)
 Retrieve the slopes (dx/dz,dy/dz,1) of a track at a given z-position. More...

StatusCode slopes (HepPlane3D &plane, ITrExtrapolator *extrapolator, ParticleID &pid, HepVector3D &slopes, HepSymMatrix &errSlopes)
 Retrieve the slopes (dx/dz,dy/dz,1) at the intersection of a track with a given plane. More...

double p ()
 Retrieve the momentum of a track closest to the beam-line. More...

StatusCode p (double z, ITrExtrapolator *extrapolator, ParticleID &pid, double p)
 Retrieve the momentum of a track at a given z-position. More...

StatusCode p (HepPlane3D &plane, ITrExtrapolator *extrapolator, ParticleID &pid, double p)
 Retrieve the momentum at the intersection of a track with a given plane. More...

double pt ()
 Retrieve the transverse momentum of a track closest to the beam-line. More...

StatusCode pt (double z, ITrExtrapolator *extrapolator, ParticleID &pid, double pt)
 Retrieve the transverse momentum of a track at a given z-position. More...

StatusCode pt (HepPlane3D &plane, ITrExtrapolator *extrapolator, ParticleID &pid, double pt)
 Retrieve the transverse momentum at the intersection of a track with a given plane. More...

StatusCode momentum (HepVector3D &mom, HepSymMatrix &errMom)
 Retrieve the momentum vector (+ errors) of a track closest to the beam-line. More...

StatusCode momentum (double z, ITrExtrapolator *extrapolator, ParticleID &pid, HepVector3D &mom, HepSymMatrix &errMom)
 Retrieve the momentum vector (+ errors) of a track at a given z-position. More...

StatusCode momentum (HepPlane3D &plane, ITrExtrapolator *extrapolator, ParticleID &pid, HepVector3D &mom, HepSymMatrix &errMom)
 Retrieve the momentum vector (+ errors) of a track at the intersection of a track with a given plane. More...

StatusCode posMomCovariance (HepSymMatrix &cov6D)
 Retrieve the 6D covariance matrix (x,y,z,px,py,pz) of a track closest to the beam-line. More...

StatusCode posMomCovariance (double z, ITrExtrapolator *extrapolator, ParticleID &pid, HepSymMatrix &cov6D)
 Retrieve the 6D covariance matrix (x,y,z,px,py,pz) of a track at a given z-position. More...

StatusCode posMomCovariance (HepPlane3D &plane, ITrExtrapolator *extrapolator, ParticleID &pid, HepSymMatrix &cov6D)
 Retrieve the 6D covariance matrix (x,y,z,px,py,pz) at the intersection of a track with a given plane. More...

virtual bool producedByAlgo (const TrTrack::HistoryFlag &flag)
 Check whether the track was produced by a given algorithm. More...

int charge () const
 Retrieve the charge assigned to the track. More...

unsigned int nStates () const
 number of states on track. More...

virtual TrStateclosestState (double z)
 Retrieve the pointer to the state closest to the given z-position. More...

virtual TrStateclosestState (HepPlane3D &plane)
 Retrieve the pointer to the state closest to the given plane. More...

double chi2 () const
 Retrieve the Chi^2 of the track. More...

virtual void reset ()
 Clear the track before re-use. More...

virtual TrTrack * clone ()
 Clone the track. More...

int type () const
 Retrieve the type of the track. More...

void setType (int value)
 Update the type of the track. More...

double chi2PerDoF () const
 Retrieve chi^2 per degree of freedom of the track. More...

void setChi2PerDoF (double value)
 Update chi^2 per degree of freedom of the track. More...

int nDoF () const
 Retrieve number of degrees of freedom of the track. More...

void setNDoF (int value)
 Update number of degrees of freedom of the track. More...

unsigned flags () const
 Retrieve Variety of track flags. More...

void setFlags (unsigned value)
 Update Variety of track flags. More...

void setValid (bool value)
 Update Track validity (0=non-valid track, 1=valid track). More...

bool valid () const
 Retrieve Track validity (0=non-valid track, 1=valid track). More...

const SmartRefVector< LHCbID > & lhcbIDs () const
 Retrieve SmartRefVector to the LHCbIDs (const). More...

SmartRefVector< LHCbID > & lhcbIDs ()
 Retrieve SmartRefVector to the LHCbIDs (non-const). More...

void setLhcbIDs (const SmartRefVector< LHCbID > &value)
 Update SmartRefVector to the LHCbIDs. More...

void addToLhcbIDs (const SmartRef< LHCbID > &value)
 Add SmartRefVector to the LHCbIDs. More...

void removeFromLhcbIDs (const SmartRef< LHCbID > &value)
 Remove SmartRefVector to the LHCbIDs. More...

void clearLhcbIDs ()
 Clear SmartRefVector to the LHCbIDs. More...

const TrStateclosestState () const
 Retrieve SmartRef to the TrState closest to the beam-line (const). More...

TrStateclosestState ()
 Retrieve SmartRef to the TrState closest to the beam-line (non-const). More...

void setClosestState (const SmartRef< TrState > &value)
 Update SmartRef to the TrState closest to the beam-line. More...

const SmartRefVector< TrState > & states () const
 Retrieve SmartRefVector to the (full set of) states (const). More...

SmartRefVector< TrState > & states ()
 Retrieve SmartRefVector to the (full set of) states (non-const). More...

void setStates (const SmartRefVector< TrState > &value)
 Update SmartRefVector to the (full set of) states. More...

void addToStates (const SmartRef< TrState > &value)
 Add SmartRefVector to the (full set of) states. More...

void removeFromStates (const SmartRef< TrState > &value)
 Remove SmartRefVector to the (full set of) states. More...

void clearStates ()
 Clear SmartRefVector to the (full set of) states. More...

virtual StreamBuffer & serialize (StreamBuffer &s) const
 Serialize the object for writing. More...

virtual StreamBuffer & serialize (StreamBuffer &s)
 Serialize the object for reading. More...

virtual std::ostream & fillStream (std::ostream &s) const
 Fill the ASCII output stream. More...


Static Public Methods

const CLID & classID ()

Private Types

enum  flagsBits { validBits = 0 }
enum  flagsMasks { validMask = 0x00000001 }

Private Attributes

int m_type
 the type of the track. More...

double m_chi2PerDoF
 chi^2 per degree of freedom of the track. More...

int m_nDoF
 number of degrees of freedom of the track. More...

int m_historyFlag
 history flag. More...

unsigned m_flags
 Variety of track flags. More...

SmartRefVector< LHCbID > m_lhcbIDs
 SmartRefVector to the LHCbIDs. More...

SmartRef< TrStatem_closestState
 SmartRef to the TrState closest to the beam-line. More...

SmartRefVector< TrStatem_states
 SmartRefVector to the (full set of) states. More...


Detailed Description

TrTrack is the base class for offline and online tracks.

Author:
Jose Hernando, Eduardo Rodrigues created Mon Nov 1 17:21:47 2004

Definition at line 63 of file TrTrack.h.


Member Enumeration Documentation

enum TrTrack::flagsBits [private]
 

Enumeration values:
validBits 

Definition at line 264 of file TrTrack.h.

00264 {validBits = 0}; 

enum TrTrack::flagsMasks [private]
 

Enumeration values:
validMask 

Definition at line 265 of file TrTrack.h.

00265 {validMask = 0x00000001}; 

enum TrTrack::HistoryFlag
 

Enumeration values:
LongTrack 
Seeding 
TrKshort 
TrMatching 
VeloTrack 
VeloTT 
TrgForward 
TrgVelo 
TrgVeloTT 

Definition at line 69 of file TrTrack.h.

enum TrTrack::TrackType
 

Enumeration values:
Long 
Velotrack 
Backward 
Ttrack 
Upstream 
Downstream 
L1Long 
L1RZVelo 
L1SpaceVelo 
L1VeloTT 
L1MuonMatched 
L1Tracks 
L1KShort 
L1Downstream 
HLTLong 
HLTRZVelo 
HLTSpaceVelo 
HLTVeloTT 

Definition at line 68 of file TrTrack.h.


Constructor & Destructor Documentation

TrTrack::TrTrack const TrTrack &    track
 

TrTrack copy constructor.

TrTrack::TrTrack   [inline]
 

Default Constructor.

Definition at line 75 of file TrTrack.h.

References m_chi2PerDoF, m_flags, m_historyFlag, m_nDoF, and m_type.

Referenced by clone.

00076     : m_type(0),
00077     m_chi2PerDoF(0.0),
00078     m_nDoF(0),
00079     m_historyFlag(0),
00080     m_flags(0) {}

virtual TrTrack::~TrTrack   [inline, virtual]
 

Destructor.

Definition at line 83 of file TrTrack.h.

00083 {}


Member Function Documentation

void TrTrack::addToLhcbIDs const SmartRef< LHCbID > &    value [inline]
 

Add SmartRefVector to the LHCbIDs.

Definition at line 391 of file TrTrack.h.

References m_lhcbIDs.

00392 {
00393    m_lhcbIDs.push_back(value);
00394 }

void TrTrack::addToStates const SmartRef< TrState > &    value [inline]
 

Add SmartRefVector to the (full set of) states.

Definition at line 438 of file TrTrack.h.

References m_states.

00439 {
00440    m_states.push_back(value);
00441 }

int TrTrack::charge   const [inline]
 

Retrieve the charge assigned to the track.

Definition at line 293 of file TrTrack.h.

References m_closestState.

00294 {
00295    
00296   return ( ( m_closestState->qOverP() > 0. ) ? 1 : -1 );
00297         
00298 }

double TrTrack::chi2   const [inline]
 

Retrieve the Chi^2 of the track.

Definition at line 307 of file TrTrack.h.

References m_chi2PerDoF, and m_nDoF.

00308 {
00309    
00310   return ( m_chi2PerDoF * double(m_nDoF) );
00311         
00312 }

double TrTrack::chi2PerDoF   const [inline]
 

Retrieve chi^2 per degree of freedom of the track.

Definition at line 334 of file TrTrack.h.

References m_chi2PerDoF.

00335 {
00336   return m_chi2PerDoF;
00337 }

const CLID & TrTrack::classID   [inline, static]
 

Definition at line 288 of file TrTrack.h.

References CLID_TrTrack.

Referenced by clID.

00289 {
00290   return CLID_TrTrack;
00291 }

void TrTrack::clearLhcbIDs   [inline]
 

Clear SmartRefVector to the LHCbIDs.

Definition at line 403 of file TrTrack.h.

References m_lhcbIDs.

00404 {
00405    m_lhcbIDs.clear();
00406 }

void TrTrack::clearStates   [inline]
 

Clear SmartRefVector to the (full set of) states.

Definition at line 450 of file TrTrack.h.

References m_states.

00451 {
00452    m_states.clear();
00453 }

const CLID & TrTrack::clID   const [inline, virtual]
 

Retrieve pointer to class definition structure.

Definition at line 283 of file TrTrack.h.

References classID.

00284 {
00285   return TrTrack::classID();
00286 }

TrTrack * TrTrack::clone   [virtual]
 

Clone the track.

Definition at line 404 of file TrTrack.cpp.

References TrTrack.

00405 {
00406   return new TrTrack(*this);
00407 };

TrState * TrTrack::closestState   [inline]
 

Retrieve SmartRef to the TrState closest to the beam-line (non-const).

Definition at line 413 of file TrTrack.h.

References m_closestState.

00414 {
00415    return m_closestState;
00416 }

const TrState * TrTrack::closestState   const [inline]
 

Retrieve SmartRef to the TrState closest to the beam-line (const).

Definition at line 408 of file TrTrack.h.

References m_closestState.

Referenced by momentum, p, position, positionAndMomentum, posMomCovariance, pt, and slopes.

00409 {
00410    return m_closestState;
00411 }

TrState * TrTrack::closestState HepPlane3D &    plane [virtual]
 

Retrieve the pointer to the state closest to the given plane.

Definition at line 386 of file TrTrack.cpp.

References m_states, and position.

00386                                                   {
00387   double minDist = 999999999.;
00388   double dist;
00389   TrState* best = 0;
00390   for ( SmartRefVector<TrState>::iterator it = m_states.begin() ;
00391         m_states.end() != it; it++ ) {
00392     dist = plane.distance( ((*it) -> position()) );
00393     if ( minDist > dist ) {
00394       minDist = dist;
00395       best    = *it;
00396     }
00397   }
00398   return best;
00399 }

TrState * TrTrack::closestState double    z [virtual]
 

Retrieve the pointer to the state closest to the given z-position.

Definition at line 370 of file TrTrack.cpp.

References m_states.

00370                                          {
00371   double minDist = 999999999.;
00372   TrState* best = 0;
00373   for ( SmartRefVector<TrState>::iterator it = m_states.begin() ;
00374         m_states.end() != it; it++ ) {
00375     if ( minDist > fabs( z - (*it)->z() ) ) {
00376       minDist = fabs( z-(*it)->z() );
00377       best    = *it;
00378     }
00379   }
00380   return best;
00381 }

std::ostream & TrTrack::fillStream std::ostream &    s const [inline, virtual]
 

Fill the ASCII output stream.

Definition at line 483 of file TrTrack.h.

References m_chi2PerDoF, m_flags, m_historyFlag, m_nDoF, m_type, and valid.

00484 {
00485   s << "{ "
00486     << " type:\t" << m_type << std::endl
00487     << "   chi2PerDoF:\t" << (float)m_chi2PerDoF << std::endl
00488     << "   nDoF:\t" << m_nDoF << std::endl
00489     << "   historyFlag:\t" << m_historyFlag << std::endl
00490     << "   flags:\t" << m_flags << std::endl
00491     << "   valid:\t" << valid() << " } ";
00492   return s;
00493 }

unsigned TrTrack::flags   const [inline]
 

Retrieve Variety of track flags.

Definition at line 354 of file TrTrack.h.

References m_flags.

00355 {
00356   return m_flags;
00357 }

SmartRefVector< LHCbID > & TrTrack::lhcbIDs   [inline]
 

Retrieve SmartRefVector to the LHCbIDs (non-const).

Definition at line 381 of file TrTrack.h.

References m_lhcbIDs.

00382 {
00383    return m_lhcbIDs;
00384 }

const SmartRefVector< LHCbID > & TrTrack::lhcbIDs   const [inline]
 

Retrieve SmartRefVector to the LHCbIDs (const).

Definition at line 376 of file TrTrack.h.

References m_lhcbIDs.

00377 {
00378    return m_lhcbIDs;
00379 }

StatusCode TrTrack::momentum HepPlane3D &    plane,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
HepVector3D &    mom,
HepSymMatrix &    errMom
 

Retrieve the momentum vector (+ errors) of a track at the intersection of a track with a given plane.

Definition at line 303 of file TrTrack.cpp.

References closestState, and momentum.

00308 {
00309   TrState* closeState = closestState( plane );
00310 
00311   StatusCode sc = extrapolator -> propagate( closeState, plane, pid );
00312 
00313   if ( sc.isSuccess() ) {
00314     mom    = closeState -> momentum();
00315     errMom = closeState -> errMomentum();
00316   }
00317   return sc;
00318 };

StatusCode TrTrack::momentum double    z,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
HepVector3D &    mom,
HepSymMatrix &    errMom
 

Retrieve the momentum vector (+ errors) of a track at a given z-position.

Definition at line 281 of file TrTrack.cpp.

References closestState, and momentum.

00286 {
00287   TrState* closeState = closestState( z );
00288 
00289   StatusCode sc = extrapolator -> propagate( closeState, z, pid );
00290 
00291   if ( sc.isSuccess() ) {
00292     mom    = closeState -> momentum();
00293     errMom = closeState -> errMomentum();
00294 }
00295 
00296   return sc;
00297 };

StatusCode TrTrack::momentum HepVector3D &    mom,
HepSymMatrix &    errMom
 

Retrieve the momentum vector (+ errors) of a track closest to the beam-line.

Definition at line 269 of file TrTrack.cpp.

References m_closestState.

Referenced by momentum, and positionAndMomentum.

00271 {
00272   mom    = m_closestState -> momentum();
00273   errMom = m_closestState -> errMomentum();
00274 
00275   return StatusCode::SUCCESS;
00276 };

int TrTrack::nDoF   const [inline]
 

Retrieve number of degrees of freedom of the track.

Definition at line 344 of file TrTrack.h.

References m_nDoF.

00345 {
00346   return m_nDoF;
00347 }

unsigned int TrTrack::nStates   const [inline]
 

number of states on track.

Definition at line 300 of file TrTrack.h.

References m_states.

00301 {
00302    
00303   return m_states.size();
00304         
00305 }

StatusCode TrTrack::p HepPlane3D &    plane,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
double    p
 

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

Definition at line 209 of file TrTrack.cpp.

References closestState, and p.

00213 {
00214   TrState* closeState = closestState( plane );
00215 
00216   StatusCode sc = extrapolator -> propagate( closeState, plane, pid );
00217 
00218   if ( sc.isSuccess() ) p = closeState -> p();
00219 
00220   return sc;
00221 };

StatusCode TrTrack::p double    z,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
double    p
 

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

Definition at line 192 of file TrTrack.cpp.

References closestState, and p.

00196 {
00197   TrState* closeState = closestState( z );
00198 
00199   StatusCode sc = extrapolator -> propagate( closeState, z, pid );
00200 
00201   if ( sc.isSuccess() ) p = closeState -> p();
00202 
00203   return sc;
00204 };

double TrTrack::p  
 

Retrieve the momentum of a track closest to the beam-line.

Definition at line 184 of file TrTrack.cpp.

References m_closestState.

Referenced by p.

00185 {
00186   return m_closestState -> p();
00187 };

StatusCode TrTrack::position HepPlane3D &    plane,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
HepPoint3D &    pos,
HepSymMatrix &    errPos
 

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

Definition at line 110 of file TrTrack.cpp.

References closestState, and position.

00115 {
00116   TrState* closeState = closestState( plane );
00117 
00118   StatusCode sc = extrapolator -> propagate( closeState, plane, pid );
00119 
00120   if ( sc.isSuccess() ) {
00121     pos    = closeState -> position();
00122     errPos = closeState -> errPosition();
00123   }
00124   return sc;
00125 };

StatusCode TrTrack::position double    z,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
HepPoint3D &    pos,
HepSymMatrix &    errPos
 

Retrieve the 3D-position vector (+ errors) of a track at a given z-position.

Definition at line 88 of file TrTrack.cpp.

References closestState, and position.

00093 {
00094   TrState* closeState = closestState( z );
00095 
00096   StatusCode sc = extrapolator -> propagate( closeState, z, pid );
00097 
00098   if ( sc.isSuccess() ) {
00099     pos    = closeState -> position();
00100     errPos = closeState -> errPosition();
00101 }
00102 
00103   return sc;
00104 };

StatusCode TrTrack::position HepPoint3D &    pos,
HepSymMatrix &    errPos
 

Retrieve the 3D-position (+ errors) of a track closest to the beam-line.

Definition at line 76 of file TrTrack.cpp.

References m_closestState.

Referenced by closestState, position, and positionAndMomentum.

00078 {
00079   pos    = m_closestState -> position();
00080   errPos = m_closestState -> errPosition();
00081 
00082   return StatusCode::SUCCESS;
00083 };

StatusCode TrTrack::positionAndMomentum HepPlane3D &    plane,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
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 at a given plane.

Definition at line 54 of file TrTrack.cpp.

References closestState, momentum, position, and posMomCovariance.

00060 {
00061   TrState* closeState = closestState( plane );
00062 
00063   StatusCode sc = extrapolator -> propagate( closeState, plane, pid );
00064 
00065   if ( sc.isSuccess() ) {
00066     pos   = closeState -> position();
00067     mom   = closeState -> momentum();
00068     cov6D = closeState -> posMomCovariance();
00069   }
00070   return sc;
00071 }

StatusCode TrTrack::positionAndMomentum double    z,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
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.

Definition at line 30 of file TrTrack.cpp.

References closestState, momentum, position, and posMomCovariance.

00036 {
00037   TrState* closeState = closestState( z );
00038 
00039   StatusCode sc = extrapolator -> propagate( closeState, z, pid );
00040 
00041   if ( sc.isSuccess() ) {
00042     pos   = closeState -> position();
00043     mom   = closeState -> momentum();
00044     cov6D = closeState -> posMomCovariance();
00045   }
00046   return sc;
00047 }

StatusCode TrTrack::positionAndMomentum 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 closest to the beam-line.

Definition at line 17 of file TrTrack.cpp.

References m_closestState.

00020 {
00021   m_closestState -> positionAndMomentum( pos, mom, cov6D );
00022 
00023   return StatusCode::SUCCESS;
00024 }

StatusCode TrTrack::posMomCovariance HepPlane3D &    plane,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
HepSymMatrix &    cov6D
 

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

Definition at line 353 of file TrTrack.cpp.

References closestState, and posMomCovariance.

00357 {
00358   TrState* closeState = closestState( plane );
00359 
00360   StatusCode sc = extrapolator -> propagate( closeState, plane, pid );
00361 
00362   if ( sc.isSuccess() ) cov6D = closeState -> posMomCovariance();
00363 
00364   return sc;
00365 };

StatusCode TrTrack::posMomCovariance double    z,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
HepSymMatrix &    cov6D
 

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

Definition at line 335 of file TrTrack.cpp.

References closestState, and posMomCovariance.

00339 {
00340   TrState* closeState = closestState( z );
00341 
00342   StatusCode sc = extrapolator -> propagate( closeState, z, pid );
00343 
00344   if ( sc.isSuccess() ) cov6D = closeState -> posMomCovariance();
00345 
00346   return sc;
00347 };

StatusCode TrTrack::posMomCovariance HepSymMatrix &    cov6D
 

Retrieve the 6D covariance matrix (x,y,z,px,py,pz) of a track closest to the beam-line.

Definition at line 324 of file TrTrack.cpp.

References m_closestState.

Referenced by positionAndMomentum, and posMomCovariance.

00325 {
00326   cov6D = m_closestState -> posMomCovariance();
00327 
00328   return StatusCode::SUCCESS;
00329 };

virtual bool TrTrack::producedByAlgo const TrTrack::HistoryFlag   flag [virtual]
 

Check whether the track was produced by a given algorithm.

StatusCode TrTrack::pt HepPlane3D &    plane,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
double    pt
 

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

Definition at line 252 of file TrTrack.cpp.

References closestState, and pt.

00256 {
00257   TrState* closeState = closestState( plane );
00258 
00259   StatusCode sc = extrapolator -> propagate( closeState, plane, pid );
00260 
00261   if ( sc.isSuccess() ) pt = closeState -> pt();
00262 
00263   return sc;
00264 };

StatusCode TrTrack::pt double    z,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
double    pt
 

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

Definition at line 234 of file TrTrack.cpp.

References closestState, and pt.

00238 {
00239   TrState* closeState = closestState( z );
00240 
00241   StatusCode sc = extrapolator -> propagate( closeState, z, pid );
00242 
00243   if ( sc.isSuccess() ) pt = closeState -> pt();
00244 
00245   return sc;
00246 };

double TrTrack::pt  
 

Retrieve the transverse momentum of a track closest to the beam-line.

Definition at line 226 of file TrTrack.cpp.

References m_closestState.

Referenced by pt.

00227 {
00228   return m_closestState -> pt();
00229 };

void TrTrack::removeFromLhcbIDs const SmartRef< LHCbID > &    value [inline]
 

Remove SmartRefVector to the LHCbIDs.

Definition at line 396 of file TrTrack.h.

References m_lhcbIDs.

00397 {
00398   SmartRefVector<LHCbID>::iterator iter =
00399     std::remove(m_lhcbIDs.begin(), m_lhcbIDs.end(), value);
00400   m_lhcbIDs.erase(iter, m_lhcbIDs.end());
00401 }

void TrTrack::removeFromStates const SmartRef< TrState > &    value [inline]
 

Remove SmartRefVector to the (full set of) states.

Definition at line 443 of file TrTrack.h.

References m_states.

00444 {
00445   SmartRefVector<TrState>::iterator iter =
00446     std::remove(m_states.begin(), m_states.end(), value);
00447   m_states.erase(iter, m_states.end());
00448 }

void TrTrack::reset   [inline, virtual]
 

Clear the track before re-use.

Definition at line 314 of file TrTrack.h.

References m_chi2PerDoF, m_historyFlag, m_nDoF, and m_type.

00315 {
00316    
00317   m_type         = 0;
00318   m_chi2PerDoF   = 0;
00319   m_nDoF         = 0;
00320   m_historyFlag  = 0;
00321 
00322 }

StreamBuffer & TrTrack::serialize StreamBuffer &    s [inline, virtual]
 

Serialize the object for reading.

Definition at line 468 of file TrTrack.h.

References m_chi2PerDoF, m_closestState, m_flags, m_historyFlag, m_lhcbIDs, m_nDoF, and m_type.

00469 {
00470   float l_chi2PerDoF;
00471   KeyedObject<int>::serialize(s);
00472   s >> m_type
00473     >> l_chi2PerDoF
00474     >> m_nDoF
00475     >> m_historyFlag
00476     >> m_flags
00477     >> m_lhcbIDs(this)
00478     >> m_closestState(this);
00479   m_chi2PerDoF = l_chi2PerDoF;
00480   return s;
00481 }

StreamBuffer & TrTrack::serialize StreamBuffer &    s const [inline, virtual]
 

Serialize the object for writing.

Definition at line 455 of file TrTrack.h.

References m_chi2PerDoF, m_closestState, m_flags, m_historyFlag, m_lhcbIDs, m_nDoF, and m_type.

00456 {
00457   KeyedObject<int>::serialize(s);
00458   s << m_type
00459     << (float)m_chi2PerDoF
00460     << m_nDoF
00461     << m_historyFlag
00462     << m_flags
00463     << m_lhcbIDs(this)
00464     << m_closestState(this);
00465   return s;
00466 }

void TrTrack::setChi2PerDoF double    value [inline]
 

Update chi^2 per degree of freedom of the track.

Definition at line 339 of file TrTrack.h.

References m_chi2PerDoF.

00340 {
00341   m_chi2PerDoF = value; 
00342 }

void TrTrack::setClosestState const SmartRef< TrState > &    value [inline]
 

Update SmartRef to the TrState closest to the beam-line.

Definition at line 418 of file TrTrack.h.

References m_closestState.

00419 {
00420    m_closestState = value;
00421 }

void TrTrack::setFlags unsigned    value [inline]
 

Update Variety of track flags.

Definition at line 359 of file TrTrack.h.

References m_flags.

00360 {
00361   m_flags = value; 
00362 }

void TrTrack::setLhcbIDs const SmartRefVector< LHCbID > &    value [inline]
 

Update SmartRefVector to the LHCbIDs.

Definition at line 386 of file TrTrack.h.

References m_lhcbIDs.

00387 {
00388    m_lhcbIDs = value;
00389 }

void TrTrack::setNDoF int    value [inline]
 

Update number of degrees of freedom of the track.

Definition at line 349 of file TrTrack.h.

References m_nDoF.

00350 {
00351   m_nDoF = value; 
00352 }

void TrTrack::setStates const SmartRefVector< TrState > &    value [inline]
 

Update SmartRefVector to the (full set of) states.

Definition at line 433 of file TrTrack.h.

References m_states.

00434 {
00435    m_states = value;
00436 }

void TrTrack::setType int    value [inline]
 

Update the type of the track.

Definition at line 329 of file TrTrack.h.

References m_type.

00330 {
00331   m_type = value; 
00332 }

void TrTrack::setValid bool    value [inline]
 

Update Track validity (0=non-valid track, 1=valid track).

Definition at line 364 of file TrTrack.h.

References m_flags, validBits, and validMask.

00365 {
00366   unsigned val  = (unsigned)value;
00367   m_flags &= ~validMask;
00368   m_flags |= ((((unsigned)val) << validBits) & validMask);
00369 }

StatusCode TrTrack::slopes HepPlane3D &    plane,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
HepVector3D &    slopes,
HepSymMatrix &    errSlopes
 

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

Definition at line 164 of file TrTrack.cpp.

References closestState, and slopes.

00169 {
00170   TrState* closeState = closestState( plane );
00171 
00172   StatusCode sc = extrapolator -> propagate( closeState, plane, pid );
00173 
00174   if ( sc.isSuccess() ) {
00175     slopes    = closeState -> slopes();
00176     errSlopes = closeState -> errSlopes();
00177   }
00178   return sc;
00179 };

StatusCode TrTrack::slopes double    z,
ITrExtrapolator   extrapolator,
ParticleID &    pid,
HepVector3D &    slopes,
HepSymMatrix &    errSlopes
 

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

Definition at line 142 of file TrTrack.cpp.

References closestState, and slopes.

00147 {
00148   TrState* closeState = closestState( z );
00149 
00150   StatusCode sc = extrapolator -> propagate( closeState, z, pid );
00151 
00152   if ( sc.isSuccess() ) {
00153     slopes    = closeState -> slopes();
00154     errSlopes = closeState -> errSlopes();
00155 }
00156 
00157   return sc;
00158 };

StatusCode TrTrack::slopes HepVector3D &    slopes,
HepSymMatrix &    errSlopes
 

Retrieve the slopes (dx/dz,dy/dz,1) of a track closest to the beam-line.

Definition at line 130 of file TrTrack.cpp.

References m_closestState, and slopes.

Referenced by slopes.

00132 {
00133   slopes    = m_closestState -> slopes();
00134   errSlopes = m_closestState -> errSlopes();
00135 
00136   return StatusCode::SUCCESS;
00137 };

SmartRefVector< TrState > & TrTrack::states   [inline]
 

Retrieve SmartRefVector to the (full set of) states (non-const).

Definition at line 428 of file TrTrack.h.

References m_states.

00429 {
00430    return m_states;
00431 }

const SmartRefVector< TrState > & TrTrack::states   const [inline]
 

Retrieve SmartRefVector to the (full set of) states (const).

Definition at line 423 of file TrTrack.h.

References m_states.

00424 {
00425    return m_states;
00426 }

int TrTrack::type   const [inline]
 

Retrieve the type of the track.

Definition at line 324 of file TrTrack.h.

References m_type.

00325 {
00326   return m_type;
00327 }

bool TrTrack::valid   const [inline]
 

Retrieve Track validity (0=non-valid track, 1=valid track).

Definition at line 371 of file TrTrack.h.

References m_flags, validBits, and validMask.

Referenced by fillStream.

00372 {
00373   return (bool)((m_flags & validMask) >> validBits);
00374 }


Member Data Documentation

double TrTrack::m_chi2PerDoF [private]
 

chi^2 per degree of freedom of the track.

Definition at line 268 of file TrTrack.h.

Referenced by chi2, chi2PerDoF, fillStream, reset, serialize, setChi2PerDoF, and TrTrack.

SmartRef<TrState> TrTrack::m_closestState [private]
 

SmartRef to the TrState closest to the beam-line.

Definition at line 273 of file TrTrack.h.

Referenced by charge, closestState, momentum, p, position, positionAndMomentum, posMomCovariance, pt, serialize, setClosestState, and slopes.

unsigned TrTrack::m_flags [private]
 

Variety of track flags.

Definition at line 271 of file TrTrack.h.

Referenced by fillStream, flags, serialize, setFlags, setValid, TrTrack, and valid.

int TrTrack::m_historyFlag [private]
 

history flag.

Definition at line 270 of file TrTrack.h.

Referenced by fillStream, reset, serialize, and TrTrack.

SmartRefVector<LHCbID> TrTrack::m_lhcbIDs [private]
 

SmartRefVector to the LHCbIDs.

Definition at line 272 of file TrTrack.h.

Referenced by addToLhcbIDs, clearLhcbIDs, lhcbIDs, removeFromLhcbIDs, serialize, and setLhcbIDs.

int TrTrack::m_nDoF [private]
 

number of degrees of freedom of the track.

Definition at line 269 of file TrTrack.h.

Referenced by chi2, fillStream, nDoF, reset, serialize, setNDoF, and TrTrack.

SmartRefVector<TrState> TrTrack::m_states [private]
 

SmartRefVector to the (full set of) states.

Definition at line 274 of file TrTrack.h.

Referenced by addToStates, clearStates, closestState, nStates, removeFromStates, setStates, and states.

int TrTrack::m_type [private]
 

the type of the track.

Definition at line 267 of file TrTrack.h.

Referenced by fillStream, reset, serialize, setType, TrTrack, and type.


The documentation for this class was generated from the following files:
Generated on Mon Nov 1 17:29:46 2004 for New Track Event Model by doxygen 1.2.14 written by Dimitri van Heesch, © 1997-2002