22void customize(std::vector<ConfigParamSpec>& workflowOptions)
26 std::vector<ConfigParamSpec> options{
27 {
"rangeIDC", VariantType::Int, 200, {
"Number of 1D-IDCs which will be used for the calculation of the fourier coefficients. TODO ALREADY SET IN ABERAGEGROUP"}},
28 {
"nFourierCoeff", VariantType::Int, 60, {
"Number of fourier coefficients (real+imag) which will be stored in the CCDB. The maximum can be 'rangeIDC + 2'."}},
29 {
"inputLanes", VariantType::Int, 2, {
"Number of expected input lanes."}},
30 {
"sendOutput", VariantType::Bool,
false, {
"send fourier coefficients"}},
31 {
"use-naive-fft", VariantType::Bool,
false, {
"using naive fourier transform (true) or FFTW (false)"}},
32 {
"process-SACs", VariantType::Bool,
false, {
"Process SACs instead if IDCs"}},
33 {
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings"}}};
35 std::swap(workflowOptions, options);
48 const auto sendOutput = config.
options().
get<
bool>(
"sendOutput");
49 const bool fft = config.
options().
get<
bool>(
"use-naive-fft");
50 const bool processSACs = config.
options().
get<
bool>(
"process-SACs");
51 const auto rangeIDC =
static_cast<unsigned int>(config.
options().
get<
int>(
"rangeIDC"));
52 const auto nFourierCoeff = std::clamp(
static_cast<unsigned int>(config.
options().
get<
int>(
"nFourierCoeff")),
static_cast<unsigned int>(0), rangeIDC + 2);
54 const auto inputLanes = config.
options().
get<
int>(
"inputLanes");
static void writeINI(std::string const &filename, std::string const &keyOnly="")
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
Defining ITS Vertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
Global TPC definitions and constants.
DataProcessorSpec getTPCFourierTransformAggregatorSpec(const unsigned int rangeIDC, const unsigned int nFourierCoefficientsStore, const bool senddebug, const bool processSACs, const int inputLanes)
std::string to_string(gsl::span< T, Size > span)