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
 
StiHit_hit
 
double _det
 
double _chi2
 

Static Public Attributes

static int mgFlag =0
 

Additional Inherited Members

- Protected Attributes inherited from StiTreeNode
StiTreeNodeparent
 
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 
)
static

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: