Project
Loading...
Searching...
No Matches
o2::its::TrackerTraits< NLayers > Class Template Reference

#include <TrackerTraits.h>

Inherited by o2::its::TrackerTraitsGPU< NLayers >.

Public Types

using IndexTableUtilsN = IndexTableUtils< NLayers >
 
using TrackSeedN = TrackSeed< NLayers >
 

Public Member Functions

virtual ~TrackerTraits ()=default
 
virtual void adoptTimeFrame (TimeFrame< NLayers > *tf)
 
virtual void initialiseTimeFrame (const int iteration)
 
virtual void computeLayerTracklets (const int iteration, int iVertex)
 
virtual void computeLayerCells (const int iteration)
 
virtual void findCellsNeighbours (const int iteration)
 
virtual void findRoads (const int iteration)
 
template<typename InputSeed >
void processNeighbours (int iteration, int iLayer, int iLevel, const bounded_vector< InputSeed > &currentCellSeed, const bounded_vector< int > &currentCellId, bounded_vector< TrackSeedN > &updatedCellSeed, bounded_vector< int > &updatedCellId)
 
void acceptTracks (int iteration, bounded_vector< TrackITSExt > &tracks, bounded_vector< bounded_vector< int > > &firstClusters, bounded_vector< bounded_vector< int > > &sharedFirstClusters)
 
void markTracks (int iteration, bounded_vector< bounded_vector< int > > &sharedFirstClusters)
 
void updateTrackingParameters (const std::vector< TrackingParameters > &trkPars)
 
TimeFrame< NLayers > * getTimeFrame ()
 
virtual void setBz (float bz)
 
float getBz () const
 
virtual const chargetName () const noexcept
 
virtual bool isGPU () const noexcept
 
void setMemoryPool (std::shared_ptr< BoundedMemoryResource > pool) noexcept
 
auto getMemoryPool () const noexcept
 
void setNThreads (int n, std::shared_ptr< tbb::task_arena > &arena)
 
int getNThreads ()
 
virtual int getTFNumberOfClusters () const
 
virtual int getTFNumberOfTracklets () const
 
virtual int getTFNumberOfCells () const
 

Protected Attributes

o2::gpu::GPUChainITSmChain = nullptr
 
TimeFrame< NLayers > * mTimeFrame
 
std::vector< TrackingParametersmTrkParams
 
float mBz {-999.f}
 

Detailed Description

template<int NLayers>
class o2::its::TrackerTraits< NLayers >

Definition at line 41 of file TrackerTraits.h.

Member Typedef Documentation

◆ IndexTableUtilsN

template<int NLayers>
using o2::its::TrackerTraits< NLayers >::IndexTableUtilsN = IndexTableUtils<NLayers>

Definition at line 44 of file TrackerTraits.h.

◆ TrackSeedN

template<int NLayers>
using o2::its::TrackerTraits< NLayers >::TrackSeedN = TrackSeed<NLayers>

Definition at line 45 of file TrackerTraits.h.

Constructor & Destructor Documentation

◆ ~TrackerTraits()

template<int NLayers>
virtual o2::its::TrackerTraits< NLayers >::~TrackerTraits ( )
virtualdefault

Member Function Documentation

◆ acceptTracks()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::acceptTracks ( int  iteration,
bounded_vector< TrackITSExt > &  tracks,
bounded_vector< bounded_vector< int > > &  firstClusters,
bounded_vector< bounded_vector< int > > &  sharedFirstClusters 
)

do not account for the first cluster in the shared clusters number if it is allowed

Definition at line 788 of file TrackerTraits.cxx.

◆ adoptTimeFrame()

template<int NLayers>
virtual void o2::its::TrackerTraits< NLayers >::adoptTimeFrame ( TimeFrame< NLayers > *  tf)
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 48 of file TrackerTraits.h.

◆ computeLayerCells()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::computeLayerCells ( const int  iteration)
virtual

Track seed preparation. Clusters are numbered progressively from the innermost going outward.

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 261 of file TrackerTraits.cxx.

◆ computeLayerTracklets()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::computeLayerTracklets ( const int  iteration,
int  iVertex 
)
virtual

Sort tracklets

Remove duplicates

recalculate lut

Create tracklets labels

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 48 of file TrackerTraits.cxx.

◆ findCellsNeighbours()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::findCellsNeighbours ( const int  iteration)
virtual

copy

TODO: switch to the chi2 wrt cluster to avoid correlation

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 426 of file TrackerTraits.cxx.

◆ findRoads()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::findRoads ( const int  iteration)
virtual

tame the memory peaks

tame the memory peaks

tame the memory peaks

tame the memory peaks

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 662 of file TrackerTraits.cxx.

◆ getBz()

template<int NLayers>
float o2::its::TrackerTraits< NLayers >::getBz ( ) const
inline

Definition at line 69 of file TrackerTraits.h.

◆ getMemoryPool()

template<int NLayers>
auto o2::its::TrackerTraits< NLayers >::getMemoryPool ( ) const
inlinenoexcept

Definition at line 73 of file TrackerTraits.h.

◆ getName()

template<int NLayers>
virtual const char * o2::its::TrackerTraits< NLayers >::getName ( ) const
inlinevirtualnoexcept

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 70 of file TrackerTraits.h.

◆ getNThreads()

template<int NLayers>
int o2::its::TrackerTraits< NLayers >::getNThreads ( )
inline

Definition at line 77 of file TrackerTraits.h.

◆ getTFNumberOfCells()

template<int NLayers>
virtual int o2::its::TrackerTraits< NLayers >::getTFNumberOfCells ( ) const
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 82 of file TrackerTraits.h.

◆ getTFNumberOfClusters()

template<int NLayers>
virtual int o2::its::TrackerTraits< NLayers >::getTFNumberOfClusters ( ) const
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 80 of file TrackerTraits.h.

◆ getTFNumberOfTracklets()

template<int NLayers>
virtual int o2::its::TrackerTraits< NLayers >::getTFNumberOfTracklets ( ) const
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 81 of file TrackerTraits.h.

◆ getTimeFrame()

template<int NLayers>
TimeFrame< NLayers > * o2::its::TrackerTraits< NLayers >::getTimeFrame ( )
inline

Definition at line 66 of file TrackerTraits.h.

◆ initialiseTimeFrame()

template<int NLayers>
virtual void o2::its::TrackerTraits< NLayers >::initialiseTimeFrame ( const int  iteration)
inlinevirtual

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 49 of file TrackerTraits.h.

◆ isGPU()

template<int NLayers>
virtual bool o2::its::TrackerTraits< NLayers >::isGPU ( ) const
inlinevirtualnoexcept

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 71 of file TrackerTraits.h.

◆ markTracks()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::markTracks ( int  iteration,
bounded_vector< bounded_vector< int > > &  sharedFirstClusters 
)

Now we have to set the shared cluster flag

Definition at line 851 of file TrackerTraits.cxx.

◆ processNeighbours()

template<int NLayers>
template<typename InputSeed >
template void o2::its::TrackerTraits< NLayers >::processNeighbours< TrackSeed< 7 > > ( int  iteration,
int  iLayer,
int  iLevel,
const bounded_vector< InputSeed > &  currentCellSeed,
const bounded_vector< int > &  currentCellId,
bounded_vector< TrackSeedN > &  updatedCellSeed,
bounded_vector< int > &  updatedCellId 
)

this we do only on the first iteration, hence the check on currentCellId

Let's start the fitting procedure

Definition at line 541 of file TrackerTraits.cxx.

◆ setBz()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::setBz ( float  bz)
virtual

Reimplemented in o2::its::TrackerTraitsGPU< NLayers >.

Definition at line 877 of file TrackerTraits.cxx.

◆ setMemoryPool()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::setMemoryPool ( std::shared_ptr< BoundedMemoryResource pool)
inlinenoexcept

Definition at line 72 of file TrackerTraits.h.

◆ setNThreads()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::setNThreads ( int  n,
std::shared_ptr< tbb::task_arena > &  arena 
)

Definition at line 884 of file TrackerTraits.cxx.

◆ updateTrackingParameters()

template<int NLayers>
void o2::its::TrackerTraits< NLayers >::updateTrackingParameters ( const std::vector< TrackingParameters > &  trkPars)
inline

Definition at line 62 of file TrackerTraits.h.

Member Data Documentation

◆ mBz

template<int NLayers>
float o2::its::TrackerTraits< NLayers >::mBz {-999.f}
protected

Definition at line 93 of file TrackerTraits.h.

◆ mChain

template<int NLayers>
o2::gpu::GPUChainITS* o2::its::TrackerTraits< NLayers >::mChain = nullptr
protected

Definition at line 89 of file TrackerTraits.h.

◆ mTimeFrame

template<int NLayers>
TimeFrame<NLayers>* o2::its::TrackerTraits< NLayers >::mTimeFrame
protected

Definition at line 90 of file TrackerTraits.h.

◆ mTrkParams

template<int NLayers>
std::vector<TrackingParameters> o2::its::TrackerTraits< NLayers >::mTrkParams
protected

Definition at line 91 of file TrackerTraits.h.


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