4 #include <torch/torch.h> 44 const vector<vector<size_t>>& idsmap,
45 const vector<NuGraphOutput>& infer_output)
override;
58 auto vertcol = std::make_unique<vector<recob::Vertex>>();
64 const vector<vector<size_t>>& idsmap,
65 const vector<NuGraphOutput>& infer_output)
68 auto vertcol = std::make_unique<vector<recob::Vertex>>();
70 const std::vector<float>* x_vertex_data =
nullptr;
71 for (
auto& io : infer_output) {
72 if (io.output_name ==
outputDictElem) x_vertex_data = &io.output_vec;
74 if (x_vertex_data->size() == 3) {
75 double vpos[3] = {(*x_vertex_data)[0], (*x_vertex_data)[1], (*x_vertex_data)[2]};
78 std::cout <<
"NuGraph vertex pos=" << vpos[0] <<
", " << vpos[1] <<
", " << vpos[2]
82 std::cout <<
"ERROR -- Wrong size returned by NuGraph vertex decoder" << std::endl;
void declareProducts(art::ProducesCollector &collector) override
declareProducts function
VertexDecoder(const fhicl::ParameterSet &pset)
Constructor.
void writeToEvent(art::Event &e, const vector< vector< size_t >> &idsmap, const vector< NuGraphOutput > &infer_output) override
Decoder function.
Definition of vertex object for LArSoft.
PutHandle< PROD > put(std::unique_ptr< PROD > &&edp, std::string const &instance={})
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
void produces(std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
T get(std::string const &key) const
void writeEmptyToEvent(art::Event &e, const vector< vector< size_t >> &idsmap) override
writeEmptyToEvent function
virtual ~VertexDecoder() noexcept=default
Virtual Destructor.