StiHit Class Reference

#include <StiHit.h>

List of all members.

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_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 setTimesUsed (unsigned int)
 Set the number of times used.
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

Public Attributes

Int_t mCount

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 boolean that marks whether or not this hit is assigned to a track. Return a const reference to a StThreeVectorF that denotes the position of the hit in global STAR coordinates.

Definition at line 271 of file StiHit.cxx.

void StiHit::rotate ( double  alpha  ) 

Convenience method to perform a rotation along the z axis

Definition at line 50 of file StiHit.cxx.

References x().

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

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

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

void StiHit::setError ( const StMatrixF &  matrix  ) 

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

Definition at line 71 of file StiHit.cxx.

References x().

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.

const StMeasuredPoint* StiHit::stHit (  )  const [inline]

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

Definition at line 101 of file StiHit.h.

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

UInt_t StiHit::timesUsed (  )  const [inline]

Return the number of times this hit was assigned to a track.

If we are running in simulated mode, return a const pointer to the StMcHit associated with this StiHit.

Definition at line 108 of file StiHit.h.

Referenced by StiStEventFiller::fillDetectorInfo(), StiLocalTrackSeedFinder::findTrack(), and StiHitContainer::getHits().


Friends And Related Function Documentation

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

Streamer for StiHit objects.

Definition at line 93 of file StiHit.cxx.


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

Generated on Sat May 26 04:28:19 2012 for StRoot by  doxygen 1.5.9