38 {
39
40 std::ifstream myfile;
41 myfile.open( "InputExecutionPlan.graphml", std::ios::in );
42
44
45 using boost::get;
46 using precedence::AlgoTraceProps;
47
48 boost::dynamic_properties dp;
49 dp.property(
"name",
get( &AlgoTraceProps::m_name, execPlan ) );
50 dp.property(
"index",
get( &AlgoTraceProps::m_index, execPlan ) );
51 dp.property(
"dataRank",
get( &AlgoTraceProps::m_rank, execPlan ) );
52 dp.property(
"runtime",
get( &AlgoTraceProps::m_runtime, execPlan ) );
53
54 boost::read_graphml( myfile, execPlan, dp );
55
56 typedef boost::graph_traits<precedence::PrecTrace>::vertex_iterator itV;
57 std::pair<itV, itV> vp;
58
59 for ( vp = boost::vertices( execPlan ); vp.first != vp.second; ++vp.first ) {
61 auto index =
get( &AlgoTraceProps::m_name, execPlan );
62 if ( index[v] == node.name() ) {
65 node.setRank( rank );
67
68 }
69 }
70
71 return true;
72 }
size_t index(const Gaudi::ParticleProperty *property, const Gaudi::Interfaces::IParticlePropertySvc *service)
helper utility for mapping of Gaudi::ParticleProperty object into non-negative integral sequential id...
get
decorate the vector of properties
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, AlgoTraceProps > PrecTrace
boost::graph_traits< PrecTrace >::vertex_descriptor AlgoTraceVertex