25 const std::vector<const Trk::SpacePoint*>& spacepoints,
26 std::vector<std::vector<uint32_t> >& tracks)
const {
27 int64_t numSpacepoints = (int64_t)spacepoints.size();
28 std::vector<float> inputValues;
29 std::vector<uint32_t> spacepointIDs;
33 for (
const auto&
sp : spacepoints) {
37 for (
int i = 0; i < spacepointFeatures; i++){
40 inputValues.push_back((
float)sp_idx);
49 inputData[
"FEATURES"] = std::make_pair(
50 std::vector<int64_t>{numSpacepoints, spacepointFeatures}, std::move(inputValues));
53 outputData[
"LABELS"] = std::make_pair(std::vector<int64_t>{numSpacepoints, 1}, std::vector<int64_t>{});
57 auto& trackLabels = std::get<std::vector<int64_t>>(outputData[
"LABELS"].second);
58 if (trackLabels.size() == 0){
60 return StatusCode::SUCCESS;
64 std::vector<uint32_t> this_track;
65 for (
auto label : trackLabels) {
67 if (this_track.size() > 0) {
68 tracks.push_back(this_track);
72 this_track.push_back(
label);
76 return StatusCode::SUCCESS;