Package madgraph :: Package iolibs :: Module drawing_eps :: Class MultiEpsDiagramDrawer
[hide private]
[frames] | no frames]

Class MultiEpsDiagramDrawer

source code

                object --+        
                         |        
core.drawing.DiagramDrawer --+    
                             |    
              EpsDiagramDrawer --+
                                 |
                                MultiEpsDiagramDrawer

Class to write a EPS file containing the asked set of diagram This class follows the DrawDiagram Frameworks.

The main routine to draw a diagram is 'draw' which call 1) initialize: setup things for the diagram (usually open a file) 2) convert_diagram : Update the diagram in the correct format if needed 3) draw_diagram : Perform diagram dependent operation 4) conclude : finish the operation.

Nested Classes [hide private]

Inherited from core.drawing.DiagramDrawer: DrawDiagramError

Instance Methods [hide private]
 
__init__(self, diagramlist=None, filename='diagram.eps', model=None, amplitude=None, legend='')
Define basic variable and store some global information all argument are optional diagramlist : are the list of object to draw.
source code
 
rescale(self, x, y)
All coordinates belongs to [0,1].
source code
 
draw_diagram(self, diagram)
Creates the representation in EPS format associate to a specific diagram.
source code
 
draw(self, diagramlist='', opt=None)
Creates the representation in EPS format associate to a specific diagram.
source code
 
pass_to_next_page(self)
Insert text in order to pass to next EPS page.
source code

Inherited from EpsDiagramDrawer: associate_name, associate_number, conclude, draw_curly, draw_dashed, draw_double, draw_scurly, draw_straight, draw_swavy, draw_vertex, draw_wavy, initialize, line_format, put_diagram_number

Inherited from core.drawing.DiagramDrawer: convert_diagram, draw_line

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  x_min = 75
  x_size = 200
  y_min = 560
  y_size = 150
  x_gap = 75
  y_gap = 70
  font = 9
  nb_line = 3
  nb_col = 2
  blob_size = 1.5
  lower_scale = 5
  second_scale = {'blob_size': 0.9, 'font': 6, 'nb_col': 3, 'nb_...

Inherited from EpsDiagramDrawer: height, npage, width, x_max, y_max

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, diagramlist=None, filename='diagram.eps', model=None, amplitude=None, legend='')
(Constructor)

source code 
Define basic variable and store some global information
all argument are optional
diagramlist : are the list of object to draw. item should inherit 
        from either  base_objects.Diagram  or drawing_lib.FeynmanDiagram
filename: filename of the file to write
model: model associate to the diagram. In principle use only if diagram
    inherit from base_objects.Diagram
amplitude: amplitude associate to the diagram. NOT USE for the moment.
    In future you could pass the amplitude associate to the object in 
    order to adjust fermion flow in case of Majorana fermion.

Overrides: object.__init__

rescale(self, x, y)

source code 

All coordinates belongs to [0,1]. So that in order to have a visible graph we need to re-scale the graph. This method distort the square in a oblong. Deformation are linear.

Overrides: EpsDiagramDrawer.rescale

draw_diagram(self, diagram)

source code 

Creates the representation in EPS format associate to a specific diagram.

Overrides: core.drawing.DiagramDrawer.draw_diagram

draw(self, diagramlist='', opt=None)

source code 

Creates the representation in EPS format associate to a specific diagram. 'opt' keeps track of possible option of drawing. Those option are used if we need to convert diagram to Drawing Object. opt is an DrawOption object containing all the possible option on how draw a diagram.

Overrides: core.drawing.DiagramDrawer.draw

Class Variable Details [hide private]

second_scale

Value:
{'blob_size': 0.9,
 'font': 6,
 'nb_col': 3,
 'nb_line': 5,
 'x_gap': 42,
 'x_min': 40,
 'x_size': 150,
 'y_gap': 30,
...