StRoot
1
|
#include <AliHLTTPCCASliceDataVector.h>
Public Member Functions | |
void | InitializeRows (const AliHLTTPCCAParam ¶meters) |
void | InitFromClusterData (const AliHLTTPCCAClusterData &data) |
void | Clear () |
int | NumberOfHits () const |
short | HitLinkUpDataS (const AliHLTTPCCARow &row, short hitIndex) const |
short | HitLinkDownDataS (const AliHLTTPCCARow &row, short hitIndex) const |
const short * | HitLinkUpData (const AliHLTTPCCARow &row) const |
const short * | HitLinkDownData (const AliHLTTPCCARow &row) const |
short_v | HitLinkUpData (const AliHLTTPCCARow &row, const short_i &hitIndex) const |
short_v | HitLinkDownData (const AliHLTTPCCARow &row, const short_i &hitIndex) const |
short_v | HitLinkUpData (const AliHLTTPCCARow &row, const ushort_v &hitIndexes) const |
short_v | HitLinkDownData (const AliHLTTPCCARow &row, const ushort_v &hitIndexes) const |
void | SetHitLinkUpData (const AliHLTTPCCARow &row, const short_i &hitIndex, const short_v &value) |
void | SetHitLinkDownData (const AliHLTTPCCARow &row, const short_i &hitIndex, const short_v &value) |
void | SetHitLinkUpData (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const short_v &value, const short_m &mask) |
void | SetHitLinkDownData (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const short_v &value, const short_m &mask) |
void | SetHitLinkUpData (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const short_v &value) |
void | SetHitLinkDownData (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const short_v &value) |
void | ClearLinks () |
float | HitDataXS (const AliHLTTPCCARow &row, short hitIndex) const |
float | HitDataYS (const AliHLTTPCCARow &row, short hitIndex) const |
float | HitDataZS (const AliHLTTPCCARow &row, short hitIndex) const |
const float * | HitDataY (const AliHLTTPCCARow &row) const |
const float * | HitDataZ (const AliHLTTPCCARow &row) const |
const short * | HitDataIsUsed (const AliHLTTPCCARow &row) const |
sfloat_v | HitDataY (const AliHLTTPCCARow &row, const uint_i &hitIndex) const |
sfloat_v | HitDataZ (const AliHLTTPCCARow &row, const uint_i &hitIndex) const |
sfloat_v | HitDataY (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const sfloat_m &mask) const |
sfloat_v | HitDataZ (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const sfloat_m &mask) const |
void | SetHitAsUsed (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const short_m &mask) |
void | SetHitAsUsedInTrackFit (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const short_m &mask) |
void | SetHitAsUsedInTrackExtend (const AliHLTTPCCARow &row, const ushort_v &hitIndexes, const short_m &mask) |
ushort_v | FirstHitInBin (const AliHLTTPCCARow &row, ushort_v binIndexes) const |
const unsigned short * | FirstHitInBin (const AliHLTTPCCARow &row) const |
unsigned short | FirstHitInBin (const AliHLTTPCCARow &row, unsigned short binIndex) const |
ushort_m | TakeOwnHits (const AliHLTTPCCARow &row, const ushort_v &hitIndex, const ushort_m &mask, const ushort_v &weights) const |
void | MaximizeHitWeight (const AliHLTTPCCARow &row, const ushort_v &hitIndex, const ushort_v &weight) |
ushort_v | HitWeight (const AliHLTTPCCARow &row, const ushort_v &hitIndex, const ushort_m &mask) const |
void | ClearHitWeights () |
int | ClusterDataIndex (const AliHLTTPCCARow &row, int hitIndex) const |
const AliHLTTPCCARow & | Row (int rowIndex) const |
void | StoreToFile (FILE *) const |
void | RestoreFromFile (FILE *) |
const float * | RowX () const |
float | RowX (int i) const |
Static Public Member Functions | |
static ushort_v | CalculateHitWeight (ushort_v numberOfHits, ushort_v unique) |
Data abstraction class for the Slice Tracker.
Different architectures implement this for the most efficient loads and stores. All access to the data happens through inline functions so that access to the data has no extra costs.
Definition at line 45 of file AliHLTTPCCASliceDataVector.h.
|
inlinestatic |
The hit weight is used to determine whether a hit belongs to a certain tracklet or another one competing for the same hit. The tracklet that has a higher weight wins. Comparison is done using the the number of hits in the tracklet ( the more hits it has the more it keeps ). If tracklets have the same number of hits then it doesn't matter who gets it, but it should be only one. So a unique number ( row index is good ) is added in the least significant part of the weight
Definition at line 398 of file AliHLTTPCCASliceDataVector.h.
Referenced by AliHLTTPCCATrackletConstructor::run().
void AliHLTTPCCASliceData::Clear | ( | ) |
Clear the slice data (e.g. for an empty slice)
Definition at line 30 of file AliHLTTPCCASliceDataVector.cxx.
void AliHLTTPCCASliceData::ClearHitWeights | ( | ) |
Reset all hit weights to 0.
Definition at line 225 of file AliHLTTPCCASliceDataVector.cxx.
References AliHLTArray< T, Dim >::Size().
void AliHLTTPCCASliceData::ClearLinks | ( | ) |
Reset all links to -1.
Definition at line 234 of file AliHLTTPCCASliceDataVector.cxx.
References AliHLTArray< T, Dim >::Size().
|
inline |
Returns the index in the original AliHLTTPCCAClusterData object of the given hit
Definition at line 388 of file AliHLTTPCCASliceDataVector.h.
|
inline |
For a given bin index, content tells how many hits there are in the preceding bins. This maps directly to the hit index in the given row.
binIndexes | in the range 0 to row.Grid.N + row.Grid.Ny + 3. |
Definition at line 371 of file AliHLTTPCCASliceDataVector.h.
Referenced by AliHLTTPCCAHitArea::GetNext().
|
inline |
Return the y and z coordinate(s) of the given hit(s).
Definition at line 282 of file AliHLTTPCCASliceDataVector.h.
References AliHLTArray< T, Dim >::Size().
|
inline |
Access to the hit links.
The links values give the hit index in the row above/below. Or -1 if there is no link.
Definition at line 183 of file AliHLTTPCCASliceDataVector.h.
|
inline |
Return the maximal weight the given hit got from one tracklet
Definition at line 424 of file AliHLTTPCCASliceDataVector.h.
void AliHLTTPCCASliceData::InitFromClusterData | ( | const AliHLTTPCCAClusterData & | data | ) |
(Re)Create the data that is tuned for optimal performance of the algorithm from the cluster data.
Definition at line 45 of file AliHLTTPCCASliceDataVector.cxx.
References AliHLTTPCCAClusterData::FirstRow(), AliHLTTPCCAClusterData::LastRow(), AliHLTTPCCAClusterData::NumberOfClusters(), AliHLTResizableArray< T, Dim, alignment >::Resize(), AliHLTTPCCAClusterData::RowOffset(), AliHLTTPCCAClusterData::Y(), and AliHLTTPCCAClusterData::Z().
|
inline |
If the given weight is higher than what is currently stored replace with the new weight.
Definition at line 414 of file AliHLTTPCCASliceDataVector.h.
Referenced by AliHLTTPCCATrackletConstructor::run().
|
inline |
Return the number of hits in this slice.
Definition at line 67 of file AliHLTTPCCASliceDataVector.h.
|
inline |
Return the row object for the given row index.
Definition at line 393 of file AliHLTTPCCASliceDataVector.h.
Referenced by InitTracklets::operator()(), and AliHLTTPCCATrackletConstructor::run().