CbmRoot
Loading...
Searching...
No Matches
cbm::algo::ca Namespace Reference

TODO: SZh 8.11.2022: add selection of parameterisation. More...

Namespaces

namespace  constants
 
namespace  utils
 

Classes

class  Branch
 
struct  CaHitTimeInfo
 
class  CloneMerger
 
class  ConfigReader
 A reader for the CA parameters from the YAML configuration files. More...
 
class  DataManager
 A manager for the input-output data of the CA tracking algorithm. More...
 
struct  DetIdTypeArr_t
 Array of types, indexed by EDetectorID. More...
 
class  EnumArray
 Class of arrays, which can be accessed by an enum class entry as an index. More...
 
class  Framework
 
class  Grid
 Class for storing 2d objects in a grid. More...
 
class  GridArea
 Class for accessing objects in the 2D area that are stored in ca::Grid. More...
 
struct  GridEntry
 A class to store hit information on the ca::Grid. More...
 
class  Hit
 ca::Hit class describes a generic hit for the CA tracker More...
 
class  InitManager
 A CA Parameters object initialization class. More...
 
class  InputData
 
class  Iteration
 A set of parameters for the CA Track finder iteration. More...
 
class  Monitor
 Monitor class for the CA tracking. More...
 
class  MonitorData
 Monitor data block. More...
 
class  ObjectInitController
 
class  Parameters
 A container for all external parameters of the CA tracking algorithm. More...
 
class  Qa
 
class  Random
 A class, providing ROOT-free access to randomly generated variables. More...
 
class  SearchWindow
 Class L1SearchWindow defines a parameterisation of hits search window for CA tracking algorithm TODO: SZh 8.11.2022: add description. More...
 
class  Station
 
class  StationInitializer
 A base class which provides interface to L1Algo station geometry. More...
 
class  Timer
 A timer class for the monitor. More...
 
class  TimesliceHeader
 Structure for keeping the current information on the timeslice. More...
 
class  Track
 Class representing an output track in the CA tracking algorithm. More...
 
class  TrackExtender
 
class  TrackFinder
 
class  TrackFinderWindow
 
class  TrackFitter
 
class  TrackingMonitor
 A monitor specialization for cbm::algo::ca::Framework class. More...
 
class  Triplet
 Triplet class represents a short 3-hits track segment called a "triplet". More...
 
class  TripletConstructor
 
class  Vector
 
class  Vector< bool >
 
class  WindowData
 Container for internal data, processed on a single time window. More...
 

Typedefs

using HitIndex_t = unsigned int
 Index of ca::Hit.
 
using HitKeyIndex_t = unsigned int
 Index of the hit key (e.g. front / back cluster id for STS)
 
using DetectorID_t = std::underlying_type_t<EDetectorID>
 Underlying integer type for the DetectorID.
 
using IterationsContainer_t = Vector<Iteration>
 Type definitions for used containers.
 
template<typename DataT >
using StationsContainer_t = std::array<ca::Station<DataT>, constants::size::MaxNstations>
 
using CaStationsArray_t = std::array<ca::Station<fvec>, constants::size::MaxNstations>
 
using Tindex = int
 
using fvec = kf::fvec
 
using fscal = kf::fscal
 
using fmask = kf::fmask
 
using TrackingMonitorData = MonitorData<ECounter, ETimer>
 
template<typename T >
using DetIdArray_t = EnumArray<EDetectorID, T>
 Alias to array, indexed by the EDetectorID enum.
 
using MvdHit = ::cbm::algo::mvd::Hit
 Hit vector types.
 
using StsHit = ::cbm::algo::sts::Hit
 
using MuchHit = ::cbm::algo::much::Hit
 
using TrdHit = ::cbm::algo::trd::Hit
 
using TofHit = ::cbm::algo::tof::Hit
 
using HitTypes_t = DetIdTypeArr_t<MvdHit, StsHit, MuchHit, TrdHit, TofHit>
 

Enumerations

enum  TrackingMode { kSts , kGlobal , kMcbm }
 
enum class  EDummy { END }
 Dummy enum, representing an array with zero elements. More...
 
enum class  ECounter {
  TrackingCall , SubTS , RecoTrack , RecoHit ,
  RecoHitUsed , Triplet , RecoMvdHit , RecoStsHit ,
  RecoMuchHit , RecoTrdHit , RecoTofHit , UndefinedMvdHit ,
  UndefinedStsHit , UndefinedMuchHit , UndefinedTrdHit , UndefinedTofHit ,
  END
}
 Counter keys for the CA algo monitor. More...
 
enum class  ETimer {
  TrackingChain , PrepareInputData , Tracking , PrepareTimeslice ,
  TrackingThread , PrepareThread , PrepareWindow , TrackingWindow ,
  InitWindow , PrepareGrid , FindTracks , PrepareIteration ,
  ConstructTriplets , SearchNeighbours , CreateTracks , SuppressHitKeys ,
  FitTracks , MergeClones , StoreTracksWindow , StoreTracksFinal ,
  Qa , END
}
 Timer keys for the CA algo monitor. More...
 
enum class  EDetectorID {
  kMvd = 0 , kSts , kMuch , kTrd ,
  kTof , END
}
 Enumeration for the tracking detector subsystems in CBM-CA. More...
 

Functions

void swap (StationInitializer &a, StationInitializer &b) noexcept
 swap function for two StationInitializer objects, expected to be used instead of std::swap
 
template<fles::Subsystem subsys>
constexpr EDetectorID FromFlesSubsystem ()
 
template<EDetectorID detID>
constexpr fles::Subsystem ToFlesSubsystem ()
 
ECbmModuleId ToCbmModuleId (EDetectorID detID)
 Conversion map from EDetectorID to ECbmModuleId.
 
EDetectorID ToCaDetectorID (ECbmModuleId modId)
 Conversion map from EDetectorID to ECbmModuleId.
 

Variables

class cbm::algo::ca::WindowData _fvecalignment
 
constexpr DetIdArray_t< const char * > kDetName = {{"MVD", "STS", "MUCH", "TRD", "TOF"}}
 Detector subsystem names.
 

Detailed Description

TODO: SZh 8.11.2022: add selection of parameterisation.

CBM-specific definitions for CA-tracking.

Typedef Documentation

◆ CaStationsArray_t

◆ DetectorID_t

using cbm::algo::ca::DetectorID_t = std::underlying_type_t<EDetectorID>

Underlying integer type for the DetectorID.

Definition at line 47 of file CaInitManager.h.

◆ DetIdArray_t

template<typename T >
using cbm::algo::ca::DetIdArray_t = EnumArray<EDetectorID, T>

Alias to array, indexed by the EDetectorID enum.

Note
To be used only in CBM-specific code

Definition at line 92 of file TrackingDefs.h.

◆ fmask

Definition at line 15 of file CaSimd.h.

◆ fscal

Definition at line 14 of file CaSimd.h.

◆ fvec

Definition at line 13 of file CaSimd.h.

◆ HitIndex_t

using cbm::algo::ca::HitIndex_t = unsigned int

Index of ca::Hit.

Definition at line 27 of file CaHit.h.

◆ HitKeyIndex_t

using cbm::algo::ca::HitKeyIndex_t = unsigned int

Index of the hit key (e.g. front / back cluster id for STS)

Definition at line 28 of file CaHit.h.

◆ HitTypes_t

◆ IterationsContainer_t

Type definitions for used containers.

Definition at line 36 of file CaParameters.h.

◆ MuchHit

using cbm::algo::ca::MuchHit = ::cbm::algo::much::Hit

Definition at line 106 of file TrackingDefs.h.

◆ MvdHit

using cbm::algo::ca::MvdHit = ::cbm::algo::mvd::Hit

Hit vector types.

Definition at line 104 of file TrackingDefs.h.

◆ StationsContainer_t

template<typename DataT >
using cbm::algo::ca::StationsContainer_t = std::array<ca::Station<DataT>, constants::size::MaxNstations>

Definition at line 38 of file CaParameters.h.

◆ StsHit

Definition at line 105 of file TrackingDefs.h.

◆ Tindex

using cbm::algo::ca::Tindex = int

Definition at line 50 of file CaFramework.h.

◆ TofHit

Definition at line 108 of file TrackingDefs.h.

◆ TrackingMonitorData

◆ TrdHit

Definition at line 107 of file TrackingDefs.h.

Enumeration Type Documentation

◆ ECounter

enum class cbm::algo::ca::ECounter
strong

Counter keys for the CA algo monitor.

Enumerator
TrackingCall 

number of the routine calls

SubTS 

number of sub time-slices

RecoTrack 

number of reconstructed tracks

RecoHit 

number of reconstructed hits

RecoHitUsed 

number of used reconstructed hits

Triplet 

number of triplets

RecoMvdHit 

number of MVD hits in tracks

RecoStsHit 

number of STS hits in tracks

RecoMuchHit 

number of MUCH hits in tracks

RecoTrdHit 

number of TRD hits in tracks

RecoTofHit 

number of TOF hits in tracks

UndefinedMvdHit 

number of undefined MVD hits

UndefinedStsHit 

number of undefined STS hits

UndefinedMuchHit 

number of undefined MuCh hits

UndefinedTrdHit 

number of undefined TRD hits

UndefinedTofHit 

number of undefined TOF hits

END 

Definition at line 25 of file CaTrackingMonitor.h.

◆ EDetectorID

enum class cbm::algo::ca::EDetectorID
strong

Enumeration for the tracking detector subsystems in CBM-CA.

Enumerator
kMvd 
kSts 
kMuch 
kTrd 
kTof 
END 

Definition at line 175 of file CbmDefs.h.

◆ EDummy

enum class cbm::algo::ca::EDummy
strong

Dummy enum, representing an array with zero elements.

This enumeration is to be used as the default template parameter

Enumerator
END 

Definition at line 23 of file CaEnumArray.h.

◆ ETimer

enum class cbm::algo::ca::ETimer
strong

Timer keys for the CA algo monitor.

Enumerator
TrackingChain 
PrepareInputData 
Tracking 
PrepareTimeslice 
TrackingThread 
PrepareThread 
PrepareWindow 
TrackingWindow 
InitWindow 
PrepareGrid 
FindTracks 
PrepareIteration 

(iterations loop)

ConstructTriplets 
SearchNeighbours 
CreateTracks 
SuppressHitKeys 
FitTracks 
MergeClones 
StoreTracksWindow 
StoreTracksFinal 
Qa 
END 

Definition at line 51 of file CaTrackingMonitor.h.

◆ TrackingMode

Enumerator
kSts 
kGlobal 
kMcbm 

Definition at line 40 of file CaParameters.h.

Function Documentation

◆ FromFlesSubsystem()

template<fles::Subsystem subsys>
EDetectorID cbm::algo::ca::FromFlesSubsystem ( )
constexpr

Definition at line 44 of file TrackingDefs.h.

References END, kMuch, kMvd, kSts, kTof, and kTrd.

◆ swap()

void cbm::algo::ca::swap ( StationInitializer & a,
StationInitializer & b )
inlinenoexcept

swap function for two StationInitializer objects, expected to be used instead of std::swap

Definition at line 180 of file CaStationInitializer.h.

◆ ToCaDetectorID()

EDetectorID cbm::algo::ca::ToCaDetectorID ( ECbmModuleId modId)

Conversion map from EDetectorID to ECbmModuleId.

Definition at line 120 of file CbmDefs.cxx.

References END, kMuch, kMuch, kMvd, kMvd, kSts, kSts, kTof, kTof, kTrd, and kTrd.

Referenced by cbm::kf::GetTrackingInterface().

◆ ToCbmModuleId()

ECbmModuleId cbm::algo::ca::ToCbmModuleId ( EDetectorID detID)

Conversion map from EDetectorID to ECbmModuleId.

Definition at line 108 of file CbmDefs.cxx.

References kMuch, kMuch, kMvd, kMvd, kNotExist, kSts, kSts, kTof, kTof, kTrd, and kTrd.

Referenced by cbm::kf::TrackingSetupBuilder::CheckDetectorPresence(), and CbmKfTrackFitter::CreateGlobalTrack().

◆ ToFlesSubsystem()

template<EDetectorID detID>
fles::Subsystem cbm::algo::ca::ToFlesSubsystem ( )
constexpr

Definition at line 67 of file TrackingDefs.h.

References END, kMuch, kMvd, kSts, kTof, and kTrd.

Referenced by cbm::algo::TrackingChain::ReadHits().

Variable Documentation

◆ _fvecalignment

◆ kDetName

DetIdArray_t<const char*> cbm::algo::ca::kDetName = {{"MVD", "STS", "MUCH", "TRD", "TOF"}}
constexpr

Detector subsystem names.

Definition at line 112 of file TrackingDefs.h.

Referenced by cbm::algo::ca::Qa::Init(), cbm::algo::TrackingChain::Init(), and cbm::algo::TrackingChain::ReadHits().