1#ifndef TMVA_SOFIE_RMODEL_GNN 
    2#define TMVA_SOFIE_RMODEL_GNN 
   11namespace Experimental {
 
   14class RFunction_Update;
 
   15class RFunction_Aggregate;
 
   34   std::vector<std::pair<int, int>> 
edges;
 
   59         throw std::runtime_error(
"TMVA SOFIE: Invalid Update function supplied for creating GNN function block.");
 
 
   81         throw std::runtime_error(
"TMVA SOFIE: Invalid Aggregate function supplied for creating GNN function block.");
 
 
 
std::size_t num_edge_features
 
std::unique_ptr< RFunction_Aggregate > node_global_agg_block
 
std::unique_ptr< RFunction_Update > globals_update_block
 
std::unique_ptr< RFunction_Update > edges_update_block
 
std::unique_ptr< RFunction_Aggregate > edge_global_agg_block
 
std::unique_ptr< RFunction_Aggregate > edge_node_agg_block
 
RModel_GNN(GNN_Init &graph_input_struct)
 
std::size_t num_global_features
 
std::size_t num_node_features
 
std::unique_ptr< RFunction_Update > nodes_update_block
 
create variable transformations
 
std::vector< std::pair< int, int > > edges
 
std::unique_ptr< RFunction_Aggregate > node_global_agg_block
 
std::unique_ptr< RFunction_Update > globals_update_block
 
std::unique_ptr< RFunction_Update > nodes_update_block
 
std::unique_ptr< RFunction_Aggregate > edge_node_agg_block
 
std::unique_ptr< RFunction_Aggregate > edge_global_agg_block
 
std::size_t num_node_features
 
void createAggregateFunction(T &aggFunction, FunctionRelation relation)
 
std::unique_ptr< RFunction_Update > edges_update_block
 
std::size_t num_global_features
 
void createUpdateFunction(T &updateFunction)
 
std::size_t num_edge_features