CbmRoot
Loading...
Searching...
No Matches
cbm::algo::ca::WindowData Class Reference

Container for internal data, processed on a single time window. More...

#include <CaWindowData.h>

Collaboration diagram for cbm::algo::ca::WindowData:
[legend]

Public Member Functions

 WindowData ()=default
 Constructor.
 
 ~WindowData ()=default
 Destructor.
 
ca::GridGrid (int iStation)
 Gets grid for station index.
 
const ca::GridGrid (int iStation) const
 Gets grid for station index.
 
ca::HitHit (int iHit)
 Gets hit by index.
 
const ca::HitHit (int iHit) const
 Gets hit by index.
 
Vector< ca::Hit > & Hits ()
 Gets hit vector.
 
const Vector< ca::Hit > & Hits () const
 Gets hit vector.
 
uint8_t IsHitSuppressed (int iHit) const
 Gets hit suppression flag.
 
void ResetHitData (int nHits)
 Resets hit data.
 
void ResetHitSuppressionFlags ()
 Reset suppressed hit flags.
 
void SuppressHit (int iHit)
 Set hit suppression flag.
 
HitIndex_tHitStartIndexOnStation (int iStation)
 Index of the first hit on the station.
 
unsigned char IsHitKeyUsed (HitKeyIndex_t iKey) const
 Hit key flag: if this hit or cluster was already used.
 
unsigned char & IsHitKeyUsed (HitKeyIndex_t iKey)
 Hit key flag: if this hit or cluster was already used.
 
Vector< unsigned char > & HitKeyFlags ()
 Access to the hit key flags container.
 
HitIndex_t HitStartIndexOnStation (int iStation) const
 Index of the first hit on the station.
 
HitIndex_tNofHitsOnStation (int iStation)
 Number of hits on station.
 
HitIndex_t NofHitsOnStation (int iStation) const
 Number of hits on station.
 
Vector< HitIndex_t > & RecoHitIndices ()
 Accesses indices of hits, used by reconstructed tracks.
 
const Vector< HitIndex_t > & RecoHitIndices () const
 Accesses indices of hits.
 
HitIndex_tRecoHitIndex (int iHit)
 Accesses index of hit in the input data.
 
HitIndex_t RecoHitIndex (int iHit) const
 Accesses index of hit in the input data.
 
TrackRecoTrack (int iTrack)
 Accesses reconstructed track by index.
 
const TrackRecoTrack (int iTrack) const
 Accesses reconstructed track by index.
 
Vector< Track > & RecoTracks ()
 Accesses reconstructed track container.
 
const Vector< Track > & RecoTracks () const
 Accesses reconstructed track container.
 
HitIndex_t TsHitIndex (int iSt, int iHit) const
 Maps hit index from the time window to the time slice.
 
Vector< HitIndex_t > & TsHitIndices (int iSt)
 Accesses container of hit index map from the time window to the time slice.
 
const Vector< HitIndex_t > & TsHitIndices (int iSt) const
 Accesses container of hit index map from the time window to the time slice.
 
void SetCurrentIteration (const Iteration *ptr)
 Accesses current iteration.
 
const IterationCurrentIteration () const
 Accesses current iteration.
 
kf::FieldValue< fvec > & TargB ()
 Accesses magnetic field in starting point (target or first station)
 
const kf::FieldValue< fvec > & TargB () const
 Accesses magnetic field in starting point (target or first station)
 
kf::MeasurementXy< fvec > & TargetMeasurement ()
 Measurement of the target with the uncertainty.
 
const kf::MeasurementXy< fvec > & TargetMeasurement () const
 Measurement of the target with the uncertainty.
 

Private Attributes

std::array< ca::Grid, kMaxNofStationsfvGrid
 Grid vs. station index.
 
Vector< ca::HitfvHits {"WindowData::fHits"}
 Hits of the current time window.
 
Vector< unsigned char > fvbHitKeyFlags {"WindowData::fvbHitKeyFlags"}
 List of used hit keys.
 
Vector< unsigned char > fvbHitSuppressed {"WindowData::fvbHitSuppressed"}
 Flag, if the hit is suppressed for tracking.
 
std::array< HitIndex_t, kMaxNofStations+1 > fvHitStartIndexOnStation = {0}
 First hit index of the station.
 
std::array< HitIndex_t, kMaxNofStations+1 > fvNofHitsOnStation = {0}
 Number of hits on the station.
 
Vector< TrackfvRecoTracks {"WindowData::fvRecoTracks"}
 Sample of reconstructed tracks.
 
Vector< HitIndex_tfvRecoHitIndices {"WindowData::fvRecoHitIndices"}
 Sample of reconstructed hit indices.
 
std::array< Vector< HitIndex_t >, kMaxNofStationsfvTsHitIndices {"WindowData::fvFullDSHitIndex"}
 Map of hit indices from the time window to the time slice.
 
const IterationfpCurrentIteration = nullptr
 Current track-finder iteration.
 
kf::FieldValue< fvecfTargB {}
 field in the target point (modifiable, do not touch!!)
 
kf::MeasurementXy< fvecfTargetMeasurement {}
 target constraint
 

Static Private Attributes

static constexpr int kMaxNofStations = constants::size::MaxNstations
 Alias to max number of stations.
 

Detailed Description

Container for internal data, processed on a single time window.

Definition at line 26 of file CaWindowData.h.

Constructor & Destructor Documentation

◆ WindowData()

cbm::algo::ca::WindowData::WindowData ( )
default

Constructor.

◆ ~WindowData()

cbm::algo::ca::WindowData::~WindowData ( )
default

Destructor.

Member Function Documentation

◆ CurrentIteration()

◆ Grid() [1/2]

ca::Grid & cbm::algo::ca::WindowData::Grid ( int iStation)
inline

◆ Grid() [2/2]

const ca::Grid & cbm::algo::ca::WindowData::Grid ( int iStation) const
inline

Gets grid for station index.

Parameters
iStationIndex of the tracking station

Definition at line 40 of file CaWindowData.h.

References fvGrid.

◆ Hit() [1/2]

◆ Hit() [2/2]

const ca::Hit & cbm::algo::ca::WindowData::Hit ( int iHit) const
inline

Gets hit by index.

Parameters
iHitHit index

Definition at line 48 of file CaWindowData.h.

References fvHits.

◆ HitKeyFlags()

Vector< unsigned char > & cbm::algo::ca::WindowData::HitKeyFlags ( )
inline

Access to the hit key flags container.

Definition at line 86 of file CaWindowData.h.

References fvbHitKeyFlags.

Referenced by cbm::algo::ca::TrackFinderWindow::PrepareCAIteration(), and cbm::algo::ca::TrackFinderWindow::PrepareGrid().

◆ Hits() [1/2]

◆ Hits() [2/2]

const Vector< ca::Hit > & cbm::algo::ca::WindowData::Hits ( ) const
inline

Gets hit vector.

Definition at line 54 of file CaWindowData.h.

References fvHits.

◆ HitStartIndexOnStation() [1/2]

HitIndex_t & cbm::algo::ca::WindowData::HitStartIndexOnStation ( int iStation)
inline

Index of the first hit on the station.

Parameters
iStationIndex of the tracking station

Definition at line 72 of file CaWindowData.h.

References fvHitStartIndexOnStation.

Referenced by cbm::algo::ca::TrackFinderWindow::PrepareGrid(), cbm::algo::ca::TrackFinderWindow::ReadWindowData(), and cbm::algo::ca::TripletConstructor::SelectTriplets().

◆ HitStartIndexOnStation() [2/2]

HitIndex_t cbm::algo::ca::WindowData::HitStartIndexOnStation ( int iStation) const
inline

Index of the first hit on the station.

Parameters
iStationIndex of the tracking station

Definition at line 90 of file CaWindowData.h.

References fvHitStartIndexOnStation.

◆ IsHitKeyUsed() [1/2]

unsigned char & cbm::algo::ca::WindowData::IsHitKeyUsed ( HitKeyIndex_t iKey)
inline

Hit key flag: if this hit or cluster was already used.

Parameters
iKeyIndex of the key (index of the hit or the cluster)

Definition at line 83 of file CaWindowData.h.

References fvbHitKeyFlags.

◆ IsHitKeyUsed() [2/2]

unsigned char cbm::algo::ca::WindowData::IsHitKeyUsed ( HitKeyIndex_t iKey) const
inline

Hit key flag: if this hit or cluster was already used.

Parameters
iKeyIndex of the key (index of the hit or the cluster)

Definition at line 79 of file CaWindowData.h.

References fvbHitKeyFlags.

Referenced by cbm::algo::ca::TrackFinderWindow::CAFindTrack(), cbm::algo::ca::TrackFinderWindow::CaTrackFinderSlice(), cbm::algo::ca::TrackFinderWindow::CreateTrackCandidates(), cbm::algo::ca::TrackExtender::FindMoreHits(), and cbm::algo::ca::TrackFinderWindow::SelectTracks().

◆ IsHitSuppressed()

uint8_t cbm::algo::ca::WindowData::IsHitSuppressed ( int iHit) const
inline

◆ NofHitsOnStation() [1/2]

HitIndex_t & cbm::algo::ca::WindowData::NofHitsOnStation ( int iStation)
inline

Number of hits on station.

Parameters
iStationIndex of the tracking station

Definition at line 97 of file CaWindowData.h.

References fvNofHitsOnStation.

Referenced by cbm::algo::ca::TrackFinderWindow::PrepareGrid(), and cbm::algo::ca::TrackFinderWindow::ReadWindowData().

◆ NofHitsOnStation() [2/2]

HitIndex_t cbm::algo::ca::WindowData::NofHitsOnStation ( int iStation) const
inline

Number of hits on station.

Parameters
iStationIndex of the tracking station

Definition at line 101 of file CaWindowData.h.

References fvNofHitsOnStation.

◆ RecoHitIndex() [1/2]

HitIndex_t & cbm::algo::ca::WindowData::RecoHitIndex ( int iHit)
inline

Accesses index of hit in the input data.

Parameters
iHitIndex of reconstructed hit, used in reconstructed tracks
Returns
Index of reconstructed hit in the algorithm input data object

Definition at line 112 of file CaWindowData.h.

References fvRecoHitIndices.

Referenced by cbm::algo::ca::TrackFitter::FitCaTracks().

◆ RecoHitIndex() [2/2]

HitIndex_t cbm::algo::ca::WindowData::RecoHitIndex ( int iHit) const
inline

Accesses index of hit in the input data.

Parameters
iHitIndex of reconstructed hit, used in reconstructed tracks
Returns
Index of reconstructed hit in the algorithm input data object

Definition at line 117 of file CaWindowData.h.

References fvRecoHitIndices.

◆ RecoHitIndices() [1/2]

Vector< HitIndex_t > & cbm::algo::ca::WindowData::RecoHitIndices ( )
inline

Accesses indices of hits, used by reconstructed tracks.

Definition at line 104 of file CaWindowData.h.

References fvRecoHitIndices.

Referenced by cbm::algo::ca::CloneMerger::Exec(), cbm::algo::ca::TrackFinderWindow::ReadWindowData(), and cbm::algo::ca::TrackFinderWindow::SelectTracks().

◆ RecoHitIndices() [2/2]

const Vector< HitIndex_t > & cbm::algo::ca::WindowData::RecoHitIndices ( ) const
inline

Accesses indices of hits.

Definition at line 107 of file CaWindowData.h.

References fvRecoHitIndices.

◆ RecoTrack() [1/2]

Track & cbm::algo::ca::WindowData::RecoTrack ( int iTrack)
inline

Accesses reconstructed track by index.

Parameters
iTrackTrack index

Definition at line 121 of file CaWindowData.h.

References fvRecoTracks.

Referenced by cbm::algo::ca::TrackFitter::FitCaTracks().

◆ RecoTrack() [2/2]

const Track & cbm::algo::ca::WindowData::RecoTrack ( int iTrack) const
inline

Accesses reconstructed track by index.

Parameters
iTrackTrack index

Definition at line 125 of file CaWindowData.h.

References fvRecoTracks.

◆ RecoTracks() [1/2]

Vector< Track > & cbm::algo::ca::WindowData::RecoTracks ( )
inline

◆ RecoTracks() [2/2]

const Vector< Track > & cbm::algo::ca::WindowData::RecoTracks ( ) const
inline

Accesses reconstructed track container.

Definition at line 131 of file CaWindowData.h.

References fvRecoTracks.

◆ ResetHitData()

void WindowData::ResetHitData ( int nHits)

Resets hit data.

Parameters
nHitsNumber of hits in the sample

Definition at line 16 of file CaWindowData.cxx.

References fvbHitSuppressed, fvHits, and cbm::algo::ca::Vector< T >::reset().

Referenced by cbm::algo::ca::TrackFinderWindow::ReadWindowData().

◆ ResetHitSuppressionFlags()

void cbm::algo::ca::WindowData::ResetHitSuppressionFlags ( )
inline

Reset suppressed hit flags.

Definition at line 65 of file CaWindowData.h.

References fvbHitSuppressed, fvHits, and cbm::algo::ca::Vector< T >::reset().

Referenced by cbm::algo::ca::TrackFinderWindow::PrepareCAIteration().

◆ SetCurrentIteration()

void cbm::algo::ca::WindowData::SetCurrentIteration ( const Iteration * ptr)
inline

Accesses current iteration.

Definition at line 147 of file CaWindowData.h.

References fpCurrentIteration.

Referenced by cbm::algo::ca::TrackFinderWindow::PrepareCAIteration().

◆ SuppressHit()

void cbm::algo::ca::WindowData::SuppressHit ( int iHit)
inline

Set hit suppression flag.

Definition at line 68 of file CaWindowData.h.

References fvbHitSuppressed.

Referenced by cbm::algo::ca::TripletConstructor::FindDoublets().

◆ TargB() [1/2]

kf::FieldValue< fvec > & cbm::algo::ca::WindowData::TargB ( )
inline

◆ TargB() [2/2]

const kf::FieldValue< fvec > & cbm::algo::ca::WindowData::TargB ( ) const
inline

Accesses magnetic field in starting point (target or first station)

Definition at line 156 of file CaWindowData.h.

References fTargB.

◆ TargetMeasurement() [1/2]

kf::MeasurementXy< fvec > & cbm::algo::ca::WindowData::TargetMeasurement ( )
inline

◆ TargetMeasurement() [2/2]

const kf::MeasurementXy< fvec > & cbm::algo::ca::WindowData::TargetMeasurement ( ) const
inline

Measurement of the target with the uncertainty.

Definition at line 162 of file CaWindowData.h.

References fTargetMeasurement.

◆ TsHitIndex()

HitIndex_t cbm::algo::ca::WindowData::TsHitIndex ( int iSt,
int iHit ) const
inline

Maps hit index from the time window to the time slice.

Parameters
iStIndex of tracking station
iHitIndex of hit in the window

Definition at line 136 of file CaWindowData.h.

References fvTsHitIndices.

Referenced by cbm::algo::ca::TrackFinderWindow::PrepareGrid(), and cbm::algo::ca::TrackFinderWindow::ReadWindowData().

◆ TsHitIndices() [1/2]

Vector< HitIndex_t > & cbm::algo::ca::WindowData::TsHitIndices ( int iSt)
inline

Accesses container of hit index map from the time window to the time slice.

Parameters
iStIndex of tracking station

Definition at line 140 of file CaWindowData.h.

References fvTsHitIndices.

Referenced by cbm::algo::ca::TrackFinderWindow::ConstructTriplets(), cbm::algo::ca::TrackFinderWindow::PrepareGrid(), and cbm::algo::ca::TrackFinderWindow::ReadWindowData().

◆ TsHitIndices() [2/2]

const Vector< HitIndex_t > & cbm::algo::ca::WindowData::TsHitIndices ( int iSt) const
inline

Accesses container of hit index map from the time window to the time slice.

Parameters
iStIndex of tracking station

Definition at line 144 of file CaWindowData.h.

References fvTsHitIndices.

Member Data Documentation

◆ fpCurrentIteration

const Iteration* cbm::algo::ca::WindowData::fpCurrentIteration = nullptr
private

Current track-finder iteration.

Definition at line 199 of file CaWindowData.h.

Referenced by CurrentIteration(), and SetCurrentIteration().

◆ fTargB

kf::FieldValue<fvec> cbm::algo::ca::WindowData::fTargB {}
private

field in the target point (modifiable, do not touch!!)

Definition at line 201 of file CaWindowData.h.

Referenced by TargB(), and TargB().

◆ fTargetMeasurement

kf::MeasurementXy<fvec> cbm::algo::ca::WindowData::fTargetMeasurement {}
private

target constraint

Definition at line 202 of file CaWindowData.h.

Referenced by TargetMeasurement(), and TargetMeasurement().

◆ fvbHitKeyFlags

Vector<unsigned char> cbm::algo::ca::WindowData::fvbHitKeyFlags {"WindowData::fvbHitKeyFlags"}
private

List of used hit keys.

Note
Global for all the time windows within one thread

Definition at line 178 of file CaWindowData.h.

Referenced by HitKeyFlags(), IsHitKeyUsed(), and IsHitKeyUsed().

◆ fvbHitSuppressed

Vector<unsigned char> cbm::algo::ca::WindowData::fvbHitSuppressed {"WindowData::fvbHitSuppressed"}
private

Flag, if the hit is suppressed for tracking.

Definition at line 181 of file CaWindowData.h.

Referenced by IsHitSuppressed(), ResetHitData(), ResetHitSuppressionFlags(), and SuppressHit().

◆ fvGrid

std::array<ca::Grid, kMaxNofStations> cbm::algo::ca::WindowData::fvGrid
private

Grid vs. station index.

Definition at line 168 of file CaWindowData.h.

Referenced by Grid(), and Grid().

◆ fvHits

Vector<ca::Hit> cbm::algo::ca::WindowData::fvHits {"WindowData::fHits"}
private

Hits of the current time window.

It is a portion of fInputData to process in the current time window hit.Id is replaced by the hit index in fInputData

Definition at line 174 of file CaWindowData.h.

Referenced by Hit(), Hit(), Hits(), Hits(), ResetHitData(), and ResetHitSuppressionFlags().

◆ fvHitStartIndexOnStation

std::array<HitIndex_t, kMaxNofStations + 1> cbm::algo::ca::WindowData::fvHitStartIndexOnStation = {0}
private

First hit index of the station.

Definition at line 184 of file CaWindowData.h.

Referenced by HitStartIndexOnStation(), and HitStartIndexOnStation().

◆ fvNofHitsOnStation

std::array<HitIndex_t, kMaxNofStations + 1> cbm::algo::ca::WindowData::fvNofHitsOnStation = {0}
private

Number of hits on the station.

Definition at line 187 of file CaWindowData.h.

Referenced by NofHitsOnStation(), and NofHitsOnStation().

◆ fvRecoHitIndices

Vector<HitIndex_t> cbm::algo::ca::WindowData::fvRecoHitIndices {"WindowData::fvRecoHitIndices"}
private

Sample of reconstructed hit indices.

Definition at line 193 of file CaWindowData.h.

Referenced by RecoHitIndex(), RecoHitIndex(), RecoHitIndices(), and RecoHitIndices().

◆ fvRecoTracks

Vector<Track> cbm::algo::ca::WindowData::fvRecoTracks {"WindowData::fvRecoTracks"}
private

Sample of reconstructed tracks.

Definition at line 190 of file CaWindowData.h.

Referenced by RecoTrack(), RecoTrack(), RecoTracks(), and RecoTracks().

◆ fvTsHitIndices

std::array<Vector<HitIndex_t>, kMaxNofStations> cbm::algo::ca::WindowData::fvTsHitIndices {"WindowData::fvFullDSHitIndex"}
private

Map of hit indices from the time window to the time slice.

Definition at line 196 of file CaWindowData.h.

Referenced by TsHitIndex(), TsHitIndices(), and TsHitIndices().

◆ kMaxNofStations

int cbm::algo::ca::WindowData::kMaxNofStations = constants::size::MaxNstations
staticconstexprprivate

Alias to max number of stations.

Definition at line 165 of file CaWindowData.h.


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