StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
StiHit Class Reference

#include <StiHit.h>

Public Types

enum  StiHitProperty { kR, kZ, kPseudoRapidity, kPhi }
 

Public Member Functions

 StiHit ()
 Default constructor.
 
 StiHit (const StiHit &)
 
const StiHitoperator= (const StiHit &)
 
 ~StiHit ()
 Default destructor.
 
const Float_t & x () const
 Return the local x, y, z values.
 
const Float_t & y () const
 
const Float_t & z () const
 
const Float_t y (Float_t time) const
 
const Float_t z (Float_t time) const
 
Float_t x_g () const
 Return the global x, y, z values.
 
Float_t y_g () const
 
Float_t z_g () const
 
float rxy () const
 Return the rxy.
 
Float_t sxx () const
 Return components of the error matrix.
 
Float_t syy () const
 
Float_t szz () const
 
Float_t sxy () const
 
Float_t sxz () const
 
Float_t syz () const
 
const Float_t * errMtx () const
 
Float_t getEloss ()
 Return the energy deposition associated with this point.
 
Float_t refangle () const
 Return the refAngle of the detector plane from which the hit arose.
 
Float_t position () const
 Return the position of the detector plane from which the hit arose.
 
const StiDetectordetector () const
 
Int_t isDca () const
 Test for DCA. Fake hit for dca calculation.
 
void makeDca ()
 Make fake hit for dca calculation.
 
const StMeasuredPointstHit () const
 
UInt_t timesUsed () const
 Return the number of times this hit was assigned to a track.
 
const StThreeVectorF globalPosition () const
 
void set (Float_t position, Float_t angle, Float_t y, Float_t z)
 
void set (const StiDetector *detector, const StMeasuredPoint *stHit, Float_t energy, Float_t x, Float_t y, Float_t z, Float_t sxx=1, Float_t sxy=1, Float_t sxz=1, Float_t syy=1, Float_t syz=1, Float_t szz=1)
 Set the local position and error in one function call.
 
void setGlobal (const StiDetector *detector, const StMeasuredPoint *stHit, Float_t x, Float_t y, Float_t z, Float_t energy)
 
void setError (const StMatrixF &)
 
void setError (const Float_t errMx[6])
 
void setDetector (const StiDetector *det)
 Set the pointer to the StiDetector from which the hit arose.
 
void setStHit (const StMeasuredPoint *hit)
 Set the pointer to the corresponding StHit object.
 
void setMaxTimes (int set)
 Set the number of times used.
 
void setTimesUsed (int set)
 
void addTimesUsed ()
 ???
 
void subTimesUsed ()
 
int isUsed () const
 
void setVz (Float_t vz)
 
void setVy (Float_t vy)
 
void reset ()
 
void unset ()
 
void rotate (double angle)
 
double getValue (Int_t key) const
 
double getPseudoRapidity () const
 
Float_t vz () const
 
Float_t vy () const
 
int idTruth () const
 
int qaTruth () const
 

Public Attributes

Int_t mCount
 

Protected Attributes

char mBeg [1]
 
char mMaxTimes
 
char mTimesUsed
 
Float_t mrefangle
 
Float_t mposition
 
Float_t mx
 
Float_t my
 
Float_t mz
 
Float_t msxx
 
Float_t msxy
 
Float_t msyy
 
Float_t msxz
 
Float_t msyz
 
Float_t mszz
 
Float_t _xg
 
Float_t _yg
 
Float_t _zg
 
const StiDetectormdetector
 
const StMeasuredPointmsthit
 
Float_t _energy
 
Float_t _vy
 
Float_t _vz
 
char mEnd [1]
 

Friends

ostream & operator<< (ostream &os, const StiHit &h)
 

Detailed Description

StiHit is a simple class that encapsulates a three dimensional position measurement. The measurement is represented in a frame that is 'local' to the detector plane from which it arose.

It is assumed that all hits come from a detector that can be composed of discrete planes. Each plane is characterized by two values: position and refAngle. In the mid-rapidity region of STAR (SVT, TPC, EMC, etc) the position corresponds to the magnitude of a vector pointing from the origin to the center of the plane. The refAngle is the azimuthal defined by the aforemention vector and the STAR global x-axis. All hits store the position and refAngle of the detector plane from which they came.

Within each detector plane, the hit is characterized by two more numbers: y and z. The y value corresponds to the distance along the plane (e.g., padrow) w.r.t. the center of the plane. The z value corresponds to the STAR global coordinate.

While it only takes two values (y and z) two specify the hit location within a plane (once the location of the plane is known) StiHit stores one more value: x. This value of x corresponds to the magnitude of a vector pointing from the origin to the detector plane perpendicular to the plane. So, for planes with no tilt w.r.t. the origin (e.g., TPC pad-planes), x will be identical to position. Actually, this is not even quite true for tpc hits, as distortion corrections can make x slightly different than position. However, by storing both x and position, we allow for the separation of information that depends only on material location (track fitting) from that which depends only on hit location (track finding).

StiHit stores information that represents a full error matrix. For efficiency purposes this is stored as a collection of discreet floats instead of a matrix. Because the error matrix is always symmetric, we must store only six values. These are denoted by s_ij, where s_ij corresponds to the (i,j) component of the matrix.

StiHit also stores a pointer to an StHit that it corresponds to. Additionally, StiHit stores a pointer to the StDetector object from which its measurement arose.

Author
M.L. Miller (Yale Software)

Definition at line 51 of file StiHit.h.

Member Function Documentation

const StiDetector* StiHit::detector ( ) const
inline
const StThreeVectorF StiHit::globalPosition ( ) const

Return a const reference to a StThreeVectorF that denotes the position of the hit in global STAR coordinates.

Definition at line 259 of file StiHit.cxx.

int StiHit::isUsed ( ) const
inline

Return a boolean that marks whether or not this hit is assigned to a track >= than max times.

Definition at line 148 of file StiHit.h.

Referenced by StiHitContainer::getHits().

void StiHit::rotate ( double  alpha)

Convenience method to perform a rotation along the z axis

Definition at line 46 of file StiHit.cxx.

References TCL::trasat(), and x().

Referenced by StiKalmanTrack::extendToVertex(), and StiKalmanTrackNode::propagate().

void StiHit::setError ( const StMatrixF matrix)

Set the position error matrix for the measurement from an StMatrixF object.

Definition at line 67 of file StiHit.cxx.

References x().

void StiHit::setError ( const Float_t  errMx[6])

Set the position error matrix for the measurement from an Float_t array object.

void StiHit::setGlobal ( const StiDetector detector,
const StMeasuredPoint stHit,
Float_t  x,
Float_t  y,
Float_t  z,
Float_t  energy 
)

Set the global position and error in one function call A transformation is performed internally from global to local coordinates according to the detector information.

Definition at line 133 of file StiHit.cxx.

References StiDetector::_cos, StiDetector::_sin, detector(), Named::getName(), and stHit().

Referenced by StKFVertexMaker::Make().

const StMeasuredPoint* StiHit::stHit ( ) const
inline

Return a const pointer to the StHit object corresponding to this StiHit instance

Definition at line 104 of file StiHit.h.

Referenced by StiStEventFiller::fillDetectorInfo(), StiCATpcSeedFinder::findTrack(), setGlobal(), and StiKalmanTrack::stHits().

Friends And Related Function Documentation

ostream& operator<< ( ostream &  os,
const StiHit h 
)
friend

Streamer for StiHit objects.

Definition at line 89 of file StiHit.cxx.


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