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

A builder class for ca::Parameters. More...

#include <CaParametersBuilder.h>

Public Types

using DetNamesArray_t = std::array<std::string, constants::size::MaxNdetectors>
 
using GeoFactoryPtr_t = std::unique_ptr<const kf::ISetupFactory>
 

Public Member Functions

template<typename Float>
Parameters< Float > Build (kf::FloatTag< Float > floatTag, kf::EFieldMode fldMode)
 Builds the parameters object.
 
void DisableStation (EDetectorID detId, int locId)
 Disables tracking station.
 
void SetGeoSetupFactoryConstructor (std::function< GeoFactoryPtr_t()> lazyConstructor)
 Sets a constructor callable for the geo-setup factory.
 
void SetMainConfig (const std::string &mainConfig)
 Sets main config path.
 
void SetUserConfig (const std::string &userConfig)
 Sets user config path.
 
void SetDetNames (const DetNamesArray_t &detNames)
 Sets tracking detector names.
 

Private Member Functions

void Init ()
 Initializes the instance.
 

Private Attributes

std::string fsMainConfig {}
 Path to main config.
 
std::string fsUserConfig {}
 Path to user config (optional)
 
std::vector< std::pair< EDetectorID, int > > fvInactiveIds
 Indices of inactive stations.
 
GeoFactoryPtr_t fpGeoSetupFactory
 Shared geo-setup factory.
 
DetNamesArray_t fDetNames
 Detector subsystem names.
 
std::function< GeoFactoryPtr_t()> fpGeoSetupFactoryConstructor
 

Detailed Description

A builder class for ca::Parameters.

Definition at line 31 of file CaParametersBuilder.h.

Member Typedef Documentation

◆ DetNamesArray_t

◆ GeoFactoryPtr_t

Definition at line 35 of file CaParametersBuilder.h.

Member Function Documentation

◆ Build()

template<typename Float>
Parameters< Float > cbm::algo::ca::ParametersBuilder::Build ( kf::FloatTag< Float > floatTag,
kf::EFieldMode fldMode )

Builds the parameters object.

Parameters
floatTagFloating point tag
fldModeMagnetic field representation mode

Definition at line 90 of file CaParametersBuilder.h.

References cbm::algo::ca::SearchWindowMapContainerFactory::Create(), fDetNames, fpGeoSetupFactory, fsMainConfig, fsUserConfig, fvInactiveIds, Init(), and cbm::algo::ca::ConfigReader::SetDetectorNames().

◆ DisableStation()

void cbm::algo::ca::ParametersBuilder::DisableStation ( EDetectorID detId,
int locId )
inline

Disables tracking station.

Parameters
detIdTracking detector identifier
locIdLocal index of tracking station
Note
locId == -1 will disable all stations for the detId

Definition at line 47 of file CaParametersBuilder.h.

References fvInactiveIds.

◆ Init()

void ParametersBuilder::Init ( )
private

Initializes the instance.

Definition at line 16 of file CaParametersBuilder.cxx.

References fpGeoSetupFactory, and fpGeoSetupFactoryConstructor.

Referenced by Build().

◆ SetDetNames()

void cbm::algo::ca::ParametersBuilder::SetDetNames ( const DetNamesArray_t & detNames)
inline

Sets tracking detector names.

Definition at line 68 of file CaParametersBuilder.h.

References fDetNames.

◆ SetGeoSetupFactoryConstructor()

void cbm::algo::ca::ParametersBuilder::SetGeoSetupFactoryConstructor ( std::function< GeoFactoryPtr_t()> lazyConstructor)
inline

Sets a constructor callable for the geo-setup factory.

Parameters
lazyConstructorThe factory construction callable

The lazyConstructor callable will be executed in the initialization of the instance. One can capture properties of the steering class, where the callable was created, but only if the lifetime of the steering class fully covers the lifetime of the cbm::algo::ca::Builder instance.

Definition at line 56 of file CaParametersBuilder.h.

References fpGeoSetupFactoryConstructor.

◆ SetMainConfig()

void cbm::algo::ca::ParametersBuilder::SetMainConfig ( const std::string & mainConfig)
inline

Sets main config path.

Definition at line 62 of file CaParametersBuilder.h.

References fsMainConfig.

◆ SetUserConfig()

void cbm::algo::ca::ParametersBuilder::SetUserConfig ( const std::string & userConfig)
inline

Sets user config path.

Definition at line 65 of file CaParametersBuilder.h.

References fsUserConfig.

Member Data Documentation

◆ fDetNames

DetNamesArray_t cbm::algo::ca::ParametersBuilder::fDetNames
private

Detector subsystem names.

Definition at line 79 of file CaParametersBuilder.h.

Referenced by Build(), and SetDetNames().

◆ fpGeoSetupFactory

GeoFactoryPtr_t cbm::algo::ca::ParametersBuilder::fpGeoSetupFactory
private

Shared geo-setup factory.

Definition at line 78 of file CaParametersBuilder.h.

Referenced by Build(), and Init().

◆ fpGeoSetupFactoryConstructor

std::function<GeoFactoryPtr_t()> cbm::algo::ca::ParametersBuilder::fpGeoSetupFactoryConstructor
private

A helper to perform a lazy creation of geo-setup factory

Definition at line 81 of file CaParametersBuilder.h.

Referenced by Init(), and SetGeoSetupFactoryConstructor().

◆ fsMainConfig

std::string cbm::algo::ca::ParametersBuilder::fsMainConfig {}
private

Path to main config.

Definition at line 75 of file CaParametersBuilder.h.

Referenced by Build(), and SetMainConfig().

◆ fsUserConfig

std::string cbm::algo::ca::ParametersBuilder::fsUserConfig {}
private

Path to user config (optional)

Definition at line 76 of file CaParametersBuilder.h.

Referenced by Build(), and SetUserConfig().

◆ fvInactiveIds

std::vector<std::pair<EDetectorID, int> > cbm::algo::ca::ParametersBuilder::fvInactiveIds
private

Indices of inactive stations.

Definition at line 77 of file CaParametersBuilder.h.

Referenced by Build(), and DisableStation().


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