StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
AliHLTTPCCASliceData Class Reference

#include <AliHLTTPCCASliceDataVector.h>

Public Member Functions

void InitializeRows (const AliHLTTPCCAParam &parameters)
 
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 AliHLTTPCCARowRow (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)
 

Detailed Description

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.

Member Function Documentation

ushort_v AliHLTTPCCASliceData::CalculateHitWeight ( ushort_v  numberOfHits,
ushort_v  unique 
)
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().

int AliHLTTPCCASliceData::ClusterDataIndex ( const AliHLTTPCCARow row,
int  hitIndex 
) const
inline

Returns the index in the original AliHLTTPCCAClusterData object of the given hit

Definition at line 388 of file AliHLTTPCCASliceDataVector.h.

ushort_v AliHLTTPCCASliceData::FirstHitInBin ( const AliHLTTPCCARow row,
ushort_v  binIndexes 
) const
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.

Parameters
binIndexesin the range 0 to row.Grid.N + row.Grid.Ny + 3.

Definition at line 371 of file AliHLTTPCCASliceDataVector.h.

Referenced by AliHLTTPCCAHitArea::GetNext().

float AliHLTTPCCASliceData::HitDataXS ( const AliHLTTPCCARow row,
short  hitIndex 
) const
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().

short AliHLTTPCCASliceData::HitLinkUpDataS ( const AliHLTTPCCARow row,
short  hitIndex 
) const
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.

ushort_v AliHLTTPCCASliceData::HitWeight ( const AliHLTTPCCARow row,
const ushort_v &  hitIndex,
const ushort_m &  mask 
) const
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)
void AliHLTTPCCASliceData::MaximizeHitWeight ( const AliHLTTPCCARow row,
const ushort_v &  hitIndex,
const ushort_v &  weight 
)
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().

int AliHLTTPCCASliceData::NumberOfHits ( ) const
inline

Return the number of hits in this slice.

Definition at line 67 of file AliHLTTPCCASliceDataVector.h.

const AliHLTTPCCARow & AliHLTTPCCASliceData::Row ( int  rowIndex) const
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().


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