CbmRoot
L1Grid Class Reference

#include <L1Grid.h>

Collaboration diagram for L1Grid:
[legend]

Public Member Functions

 L1Grid ()
 
 L1Grid (const L1Grid &grid)
 
void CreatePar (L1HitPoint *points, THitI nhits, L1Vector< L1HitPoint > *pointsBuf, L1Vector< L1StsHit > *hitsBuf, const L1StsHit *hits, L1Vector< THitI > *indices, L1Vector< THitI > *indicesBuf, char iS, L1Algo &Algo, THitI n)
 
void StoreHits (THitI nhits, const L1StsHit *hits, char iS, L1Algo &Algo, THitI n, L1StsHit *hitsBuf1, const L1StsHit *hits1, THitI *indices1)
 
void CreatePar0 (float yMin, float yMax, float zMin, float zMax, float sy, float sz)
 
void BuildBins (float yMin, float yMax, float zMin, float zMax, float tMin, float tMax, float sy, float sz, float st)
 
void HitsSort (L1HitPoint *pointsBuf, L1StsHit *hitsBuf, const L1StsHit *hits, THitI *indices, THitI *indicesBuf, L1HitPoint *points, THitI n, THitI nhits, char iS, L1Algo &Algo)
 
void Initial1 (int NThreads)
 
void AllocateMemory (int NThreads)
 
void Create (float yMin, float yMax, float zMin, float zMax, float sy, float sz)
 
void Fill (const L1HitPoint *points, THitI n)
 
void FillPar (const L1HitPoint *points, THitI n)
 
int GetBin (float Y, float Z) const
 
unsigned int GetBinBounded (const float &Y, const float &Z) const
 
void GetBinBounded (const float &Y, const float &Z, unsigned short &bY, unsigned short &bZ) const
 
int GetBin (float Y, float Z, float T) const
 
void GetBinBounds (unsigned int iBin, float &Ymin, float &Ymax, float &Zmin, float &Zmax) const
 
unsigned int GetBinBounded (const float &Y, const float &Z, const float &T) const
 
void GetBinBounded (const float &Y, const float &Z, const float &T, unsigned short &bY, unsigned short &bZ, unsigned short &bT) const
 
void GetBinBounds (unsigned int iBin, float &Ymin, float &Ymax, float &Zmin, float &Zmax, float &Tmin, float &Tmax) const
 
unsigned int N () const
 
unsigned short Ny () const
 
unsigned short Nz () const
 
unsigned short Nt () const
 
THitI FirstHitInBin (unsigned int i) const
 
void UpdateIterGrid (unsigned int Nelements, L1StsHit *hits, vector< THitI > *indicesBuf, THitI *indices, vector< L1StsHit > *hits2, vector< L1HitPoint > *pointsBuf, L1HitPoint *points, int &NHitsOnStation, char iS, L1Algo &Algo, const vector< unsigned char > *vSFlag, const vector< unsigned char > *vSFlagB)
 

Private Attributes

unsigned int fN
 
unsigned short fNy
 
unsigned short fNz
 
unsigned short fNt
 
float fYMinOverStep
 
float fZMinOverStep
 
float fTMinOverStep
 
float fStepYInv
 
float fStepZInv
 
float fStepTInv
 
int fBinInGrid
 
vector< THitIfFirstHitInBin
 
vector< THitIfHitsInBin
 
unsigned short fNThreads
 

Detailed Description

2-dimensional grid of pointers. pointers to (y,z)-like objects are assigned to the corresponding grid bin used by L1Tracker to speed-up the hit operations grid axis are named Z,Y to be similar to TPC row coordinates.

Definition at line 39 of file L1Grid.h.

Constructor & Destructor Documentation

◆ L1Grid() [1/2]

L1Grid::L1Grid ( )
inline

Definition at line 41 of file L1Grid.h.

◆ L1Grid() [2/2]

L1Grid::L1Grid ( const L1Grid grid)
inline

Definition at line 57 of file L1Grid.h.

Member Function Documentation

◆ AllocateMemory()

void L1Grid::AllocateMemory ( int  NThreads)

Definition at line 122 of file L1Grid.cxx.

◆ BuildBins()

void L1Grid::BuildBins ( float  yMin,
float  yMax,
float  zMin,
float  zMax,
float  tMin,
float  tMax,
float  sy,
float  sz,
float  st 
)

Definition at line 146 of file L1Grid.cxx.

Referenced by L1Algo::CATrackFinder().

◆ Create()

void L1Grid::Create ( float  yMin,
float  yMax,
float  zMin,
float  zMax,
float  sy,
float  sz 
)

◆ CreatePar()

void L1Grid::CreatePar ( L1HitPoint points,
THitI  nhits,
L1Vector< L1HitPoint > *  pointsBuf,
L1Vector< L1StsHit > *  hitsBuf,
const L1StsHit hits,
L1Vector< THitI > *  indices,
L1Vector< THitI > *  indicesBuf,
char  iS,
L1Algo Algo,
THitI  n 
)

◆ CreatePar0()

void L1Grid::CreatePar0 ( float  yMin,
float  yMax,
float  zMin,
float  zMax,
float  sy,
float  sz 
)

◆ Fill()

void L1Grid::Fill ( const L1HitPoint points,
THitI  n 
)

◆ FillPar()

void L1Grid::FillPar ( const L1HitPoint points,
THitI  n 
)

◆ FirstHitInBin()

THitI L1Grid::FirstHitInBin ( unsigned int  i) const
inline

◆ GetBin() [1/2]

int L1Grid::GetBin ( float  Y,
float  Z 
) const
inline

Definition at line 268 of file L1Grid.h.

◆ GetBin() [2/2]

int L1Grid::GetBin ( float  Y,
float  Z,
float  T 
) const
inline

Definition at line 280 of file L1Grid.h.

◆ GetBinBounded() [1/4]

unsigned int L1Grid::GetBinBounded ( const float &  Y,
const float &  Z 
) const
inline

Definition at line 328 of file L1Grid.h.

Referenced by L1HitArea::L1HitArea(), and L1HitAreaTime::L1HitAreaTime().

◆ GetBinBounded() [2/4]

unsigned int L1Grid::GetBinBounded ( const float &  Y,
const float &  Z,
const float &  T 
) const
inline

Definition at line 338 of file L1Grid.h.

◆ GetBinBounded() [3/4]

void L1Grid::GetBinBounded ( const float &  Y,
const float &  Z,
const float &  T,
unsigned short &  bY,
unsigned short &  bZ,
unsigned short &  bT 
) const
inline

Definition at line 358 of file L1Grid.h.

References max(), and min().

◆ GetBinBounded() [4/4]

void L1Grid::GetBinBounded ( const float &  Y,
const float &  Z,
unsigned short &  bY,
unsigned short &  bZ 
) const
inline

Definition at line 347 of file L1Grid.h.

References max(), and min().

◆ GetBinBounds() [1/2]

void L1Grid::GetBinBounds ( unsigned int  iBin,
float &  Ymin,
float &  Ymax,
float &  Zmin,
float &  Zmax 
) const
inline

Definition at line 296 of file L1Grid.h.

Referenced by L1HitArea::L1HitArea().

◆ GetBinBounds() [2/2]

void L1Grid::GetBinBounds ( unsigned int  iBin,
float &  Ymin,
float &  Ymax,
float &  Zmin,
float &  Zmax,
float &  Tmin,
float &  Tmax 
) const
inline

Definition at line 309 of file L1Grid.h.

◆ HitsSort()

void L1Grid::HitsSort ( L1HitPoint pointsBuf,
L1StsHit hitsBuf,
const L1StsHit hits,
THitI indices,
THitI indicesBuf,
L1HitPoint points,
THitI  n,
THitI  nhits,
char  iS,
L1Algo Algo 
)

◆ Initial1()

void L1Grid::Initial1 ( int  NThreads)

◆ N()

unsigned int L1Grid::N ( ) const
inline

Definition at line 173 of file L1Grid.h.

Referenced by L1HitArea::GetNext(), and L1HitAreaTime::GetNext().

◆ Nt()

unsigned short L1Grid::Nt ( ) const
inline

Definition at line 176 of file L1Grid.h.

◆ Ny()

unsigned short L1Grid::Ny ( ) const
inline

Definition at line 174 of file L1Grid.h.

◆ Nz()

unsigned short L1Grid::Nz ( ) const
inline

Definition at line 175 of file L1Grid.h.

◆ StoreHits()

void L1Grid::StoreHits ( THitI  nhits,
const L1StsHit hits,
char  iS,
L1Algo Algo,
THitI  n,
L1StsHit hitsBuf1,
const L1StsHit hits1,
THitI indices1 
)

Definition at line 175 of file L1Grid.cxx.

References L1Algo::GetHitCoor(), hits, i, and x.

Referenced by L1Algo::CATrackFinder().

◆ UpdateIterGrid()

void L1Grid::UpdateIterGrid ( unsigned int  Nelements,
L1StsHit hits,
vector< THitI > *  indicesBuf,
THitI indices,
vector< L1StsHit > *  hits2,
vector< L1HitPoint > *  pointsBuf,
L1HitPoint points,
int &  NHitsOnStation,
char  iS,
L1Algo Algo,
const vector< unsigned char > *  vSFlag,
const vector< unsigned char > *  vSFlagB 
)

Definition at line 34 of file L1Grid.cxx.

References L1StsHit::b, L1StsHit::f, L1Algo::GetHitCoor(), hits, i, points, L1StsHit::t_reco, and x.

Referenced by L1Algo::CATrackFinder().

Member Data Documentation

◆ fBinInGrid

int L1Grid::fBinInGrid
private

Definition at line 219 of file L1Grid.h.

◆ fFirstHitInBin

vector<THitI> L1Grid::fFirstHitInBin
private

Definition at line 221 of file L1Grid.h.

◆ fHitsInBin

vector<THitI> L1Grid::fHitsInBin
private

Definition at line 222 of file L1Grid.h.

◆ fN

unsigned int L1Grid::fN
private

Definition at line 209 of file L1Grid.h.

◆ fNt

unsigned short L1Grid::fNt
private

Definition at line 212 of file L1Grid.h.

◆ fNThreads

unsigned short L1Grid::fNThreads
private

Definition at line 228 of file L1Grid.h.

◆ fNy

unsigned short L1Grid::fNy
private

Definition at line 210 of file L1Grid.h.

◆ fNz

unsigned short L1Grid::fNz
private

Definition at line 211 of file L1Grid.h.

◆ fStepTInv

float L1Grid::fStepTInv
private

Definition at line 218 of file L1Grid.h.

◆ fStepYInv

float L1Grid::fStepYInv
private

Definition at line 216 of file L1Grid.h.

◆ fStepZInv

float L1Grid::fStepZInv
private

Definition at line 217 of file L1Grid.h.

◆ fTMinOverStep

float L1Grid::fTMinOverStep
private

Definition at line 215 of file L1Grid.h.

◆ fYMinOverStep

float L1Grid::fYMinOverStep
private

Definition at line 213 of file L1Grid.h.

◆ fZMinOverStep

float L1Grid::fZMinOverStep
private

Definition at line 214 of file L1Grid.h.


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