Package madgraph :: Package core :: Module drawing :: Class FeynmanDiagramHorizontal
[hide private]
[frames] | no frames]

Class FeynmanDiagramHorizontal

source code

FeynmanDiagram --+
                 |
                FeynmanDiagramHorizontal

Object to compute the position of the different Vertex and Line associate to a diagram object. This routines is quite similar to FeynmanDiagram. The only differences concerns the rules for the y-coordinate of each vertex.

In case of vertex with one and only one S-channel going to the next level. Then force this line to be horizontal. This creates sub-interval where other vertex can be place following the same rule as before (equal distance between vertex) but this time sub-interval by sub-interval.

Nested Classes [hide private]

Inherited from FeynmanDiagram: FeynamDiagramError

Instance Methods [hide private]
 
find_vertex_position_at_level(self, vertexlist, level, auto=True)
Finds the vertex position for the particle at 'level' given the ordering at previous level given by the vertexlist.
source code

Inherited from FeynmanDiagram: __eq__, __init__, adjust_position, assign_pos, deal_last_line, def_next_level_from, define_level, define_vertex_at_border, find_initial_vertex_position, find_leg_id, find_leg_id2, find_leg_id3, find_next_t_channel_vertex, find_t_channel_vertex, find_vertex_at_level, find_vertex_position_tchannel, load_diagram, load_leg, load_vertex, main, remove_t_channel, solve_line_direction

Class Variables [hide private]

Inherited from FeynmanDiagram: fake_vertex

Method Details [hide private]

find_vertex_position_at_level(self, vertexlist, level, auto=True)

source code 
Finds the vertex position for the particle at 'level' given the 
ordering at previous level given by the vertexlist. 
if auto=True pass in autorecursive mode.

Compare to the function of FeynmanDiagram, this check the number of 
S-channel particles going out of each vertex. If the result is one:
1) Fix the associate vertex at the same y as the original vertex
    -> horizontal line
2) Assign non fix vertex below the fix one in the current interval. 
3) Continue to the next vertex.

Overrides: FeynmanDiagram.find_vertex_position_at_level