9 m_buffer_size( 256*1024 )
12 HEPMC3_ERROR(
"WriterDOT: could not open output file: "<<filename )
22 m_buffer_size( 256*1024 )
27 std::ofstream* ofs = dynamic_cast<std::ofstream*>(
m_stream);
28 if (ofs && !ofs->is_open())
return;
30 if (ofs) ofs->close();
37 if (pd==81||pd==82||pd<25) parton=
true;
39 (pd/1000==1||pd/1000==2||pd/1000==3||pd/1000==4||pd/1000==5)
40 &&(pd%1000/100==1||pd%1000/100==2||pd%1000/100==3||pd%1000/100==4)
41 &&(pd%100==1||pd%100==3)
58 if (v->status()==2)
m_cursor += sprintf(
m_cursor,
"node [color=\"green\"];\n");
66 for(
auto p: evt.
beams() ) {
67 if (!p->end_vertex())
continue;
69 m_cursor += sprintf(
m_cursor,
"v0 -> v%d [label=\"%d(%d)\"];\n", -p->end_vertex()->id(),p->id(),p->pid());
73 for(
auto p: v->particles_out() ) {
86 m_cursor += sprintf(
m_cursor,
"v%d -> o%d [label=\"%d(%d)\"];\n", -v->id(),p->id(),p->id(),p->pid());
91 m_cursor += sprintf(
m_cursor,
"v%d -> v%d [label=\"%d(%d)\"];\n", -v->id(),-p->end_vertex()->id(),p->id(),p->pid());
105 }
catch (
const std::bad_alloc& e) {
113 HEPMC3_ERROR(
"WriterDOT::allocate_buffer: could not allocate buffer!" )