StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
StiTrackNode Class Referenceabstract
Inheritance diagram for StiTrackNode:
StiTreeNode StiKalmanTrackNode

Public Types

enum  eTrackNodeStatus {
  kTNReset = 0, kTNRotBeg = 1, kTNRotEnd = 2, kTNProBeg = 3,
  kTNProEnd = 4, kTNNudBeg = 5, kTNFitBeg = 6, kTNReady =10,
  kTNNudEnd =11, kTNFitEnd =12, kTNInit =13
enum  eTrackNodeFlags { kTNRefit = 1 }

Public Member Functions

virtual double getPt () const =0
const StiTrackNodeoperator= (const StiTrackNode &node)
void reset ()
void unset ()
virtual double x_g () const =0
virtual double y_g () const =0
virtual double z_g () const =0
virtual double x () const =0
virtual double y () const =0
virtual double z () const =0
StiHitgetHit () const
void setHit (StiHit *hit)
const StiDetectorgetDetector () const
void setDetector (const StiDetector *detector)
double getChi2 () const
double getDeterm () const
void setChi2 (double chi2)
int getState () const
void setInvalid ()
void setReady ()
int isValid () const
int isFitted () const
double getRefPosition () const
double getLayerAngle () const
- Public Member Functions inherited from StiTreeNode
 StiTreeNode ()
const StiTreeNodeoperator= (const StiTreeNode &node)
void reset ()
void unset ()
void remove (int childIndex)
StiTreeNodedisconnect (int all=0)
void cutTail (int direction)
void setParent (StiTreeNode *newParent)
StiTreeNodegetParent () const
StiTreeNodegetChildAt (int index) const
int getChildCount () const
void add (StiTreeNode *newChild, int direction)
StiTreeNodegetNextNode () const
 Returns the node that follows this node in a preorder traversal of this.
StiTreeNodegetPrevNode () const
StiTreeNodegetFirstNode () const
StiTreeNodegetLastNode () const
void remove (StiTreeNode **fstNode, StiTreeNode **lstNode)

Static Public Member Functions

static void mult6 (double Rot[kNPars][kNPars], const double Pro[kNPars][kNPars])
static void errPropag6 (double G[21], const double F[6][6], int nF)
static int cylCross (const double Xp[2], const double Dp[2], const double Rho, const double r, int dir, double out[2][3])
static double sinX (double x)

Public Attributes

int _state
const StiDetector_detector
double _det
double _chi2

Static Public Attributes

static int mgFlag =0

Additional Inherited Members

- Protected Attributes inherited from StiTreeNode
StiTreeNodechildren [2]

Detailed Description

Definition at line 116 of file StiTrackNode.h.

Member Function Documentation

void StiTrackNode::errPropag6 ( double  G[21],
const double  F[6][6],
int  nF 

Similar to TCL::trasat from the CERN program library this function implements a matrix product `(T+I)G(T+I)' -> G` where G is a symmetric 6x6 matrix packed in a 21 = 6(6+1)/2 element array, T and T' are a transformation matrix and its transpose respectively. Unlike TCL::trasat this function assumes that a unit matrix I is added to the transformation matrix T in order to avoid calculations with near zero diagonal elements. One can subtract a unit matrix from F = T+I before feeding it to errPropag6 in order to get results identical to TCL::trasat for the same T.

Definition at line 46 of file StiTrackNode.cxx.

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