Project
Loading...
Searching...
No Matches
MergerInfrastructureBuilder.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef ALICEO2_INFRASTRUCTUREBUILDER_H
13#define ALICEO2_INFRASTRUCTUREBUILDER_H
14
19
21
23
24#include <string>
25
26namespace o2::mergers
27{
28
45{
46
47 public:
52
53 void setInfrastructureName(std::string name);
54 void setInputSpecs(const framework::Inputs& inputs);
55 void setOutputSpec(const framework::OutputSpec& outputSpec);
57 void setConfig(MergerConfig config);
58
60 void generateInfrastructure(framework::WorkflowSpec&); // todo indicate that it throws
61
62 private:
63 std::string validateConfig();
64 std::vector<size_t> computeNumberOfMergersPerLayer(const size_t inputs) const;
65
66 private:
67 std::string mInfrastructureName;
68 framework::Inputs mInputs;
69 framework::OutputSpec mOutputSpecIntegral;
70 framework::OutputSpec mOutputSpecMovingWindow;
71 MergerConfig mConfig;
72};
73
74} // namespace o2::mergers
75
76#endif //ALICEO2_INFRASTRUCTUREBUILDER_H
Definition of O2 MergerConfig, v0.1.
void setOutputSpec(const framework::OutputSpec &outputSpec)
void setOutputSpecMovingWindow(const framework::OutputSpec &outputSpec)
void setInputSpecs(const framework::Inputs &inputs)
~MergerInfrastructureBuilder()=default
Default destructor.
GLuint const GLchar * name
Definition glcorearb.h:781
std::vector< DataProcessorSpec > WorkflowSpec
std::vector< InputSpec > Inputs