StRoot
1
|
#include <StiHit.h>
Public Types | |
enum | StiHitProperty { kR, kZ, kPseudoRapidity, kPhi } |
Public Member Functions | |
StiHit () | |
Default constructor. | |
StiHit (const StiHit &) | |
const StiHit & | operator= (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 StiDetector * | detector () const |
Int_t | isDca () const |
Test for DCA. Fake hit for dca calculation. | |
void | makeDca () |
Make fake hit for dca calculation. | |
const StMeasuredPoint * | stHit () 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 StiDetector * | mdetector |
const StMeasuredPoint * | msthit |
Float_t | _energy |
Float_t | _vy |
Float_t | _vz |
char | mEnd [1] |
Friends | |
ostream & | operator<< (ostream &os, const StiHit &h) |
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.
|
inline |
Return a const pointer to the StiDetector object from which the hit arose.
Definition at line 96 of file StiHit.h.
Referenced by StiDetectorBuilder::add(), StiHitContainer::add(), StiLocalTrackSeedFinder::extendHit(), StiLocalTrackSeedFinder::extrapolate(), StiStEventFiller::fillDetectorInfo(), StiKalmanTrack::getFitPointCount(), StiHitContainer::getHits(), StiKalmanTrack::getNodes(), StiHftHits::hftHist(), StiKalmanTrackNode::initialize(), StiKalmanTrack::initialize(), setGlobal(), and StiKalmanTrack::stHits().
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.
|
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().
|
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().
|
friend |
Streamer for StiHit objects.
Definition at line 89 of file StiHit.cxx.