Package madgraph :: Package iolibs :: Module helas_call_writers :: Class CPPUFOHelasCallWriter
[hide private]
[frames] | no frames]

Class CPPUFOHelasCallWriter

source code

                 object --+                
                          |                
                       dict --+            
                              |            
core.base_objects.PhysicsObject --+        
                                  |        
                    HelasCallWriter --+    
                                      |    
                     UFOHelasCallWriter --+
                                          |
                                         CPPUFOHelasCallWriter

The class for writing Helas calls in C++, starting from HelasWavefunctions and HelasAmplitudes.

Includes the function generate_helas_call, which automatically generates the C++ Helas call based on the Lorentz structure of the interaction.

Nested Classes [hide private]

Inherited from core.base_objects.PhysicsObject: PhysicsObjectError

Instance Methods [hide private]
 
generate_helas_call(self, argument)
Routine for automatic generation of C++ Helas calls according to just the spin structure of the interaction.
source code

Inherited from UFOHelasCallWriter: get_amplitude_call, get_wavefunction_call

Inherited from HelasCallWriter: __init__, add_amplitude, add_wavefunction, default_setup, filter, get_amplitude_calls, get_matrix_element_calls, get_model_name, get_sorted_keys, get_wavefunction_calls

Inherited from core.base_objects.PhysicsObject: __getitem__, __repr__, __str__, get, is_valid_prop, set

Inherited from dict: __cmp__, __contains__, __delitem__, __eq__, __ge__, __getattribute__, __gt__, __iter__, __le__, __len__, __lt__, __ne__, __new__, __setitem__, __sizeof__, clear, copy, fromkeys, has_key, items, iteritems, iterkeys, itervalues, keys, pop, popitem, setdefault, update, values

Inherited from object: __delattr__, __format__, __reduce__, __reduce_ex__, __setattr__, __subclasshook__

Static Methods [hide private]
 
format_coupling(couplings)
Format the coupling so any minus signs are put in front
source code
Class Variables [hide private]

Inherited from HelasCallWriter: mother_dict

Inherited from dict: __hash__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

generate_helas_call(self, argument)

source code 

Routine for automatic generation of C++ Helas calls according to just the spin structure of the interaction.

First the call string is generated, using a dictionary to go from the spin state of the calling wavefunction and its mothers, or the mothers of the amplitude, to difenrentiate wich call is done.

Then the call function is generated, as a lambda which fills the call string with the information of the calling wavefunction or amplitude. The call has different structure, depending on the spin of the wavefunction and the number of mothers (multiplicity of the vertex). The mother wavefunctions, when entering the call, must be sorted in the correct way - this is done by the sorted_mothers routine.

Finally the call function is stored in the relevant dictionary, in order to be able to reuse the function the next time a wavefunction with the same Lorentz structure is needed.