|
|
|||
File indexing completed on 2026-08-06 09:38:27
0001 // -*- C++ -*- 0002 // 0003 // ColourLines.h is a part of ThePEG - Toolkit for HEP Event Generation 0004 // Copyright (C) 1999-2019 Leif Lonnblad 0005 // 0006 // ThePEG is licenced under version 3 of the GPL, see COPYING for details. 0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 0008 // 0009 #ifndef ThePEG_ColourLines_H 0010 #define ThePEG_ColourLines_H 0011 // This is the declaration of the ColourLines class. 0012 0013 #include "ThePEG/Config/ThePEG.h" 0014 0015 namespace ThePEG { 0016 0017 /** 0018 * The ColourLines class defines the colour flow in a SubProcess. It 0019 * defines a number of colour lines and specifies which particles are 0020 * connected to them. 0021 * 0022 */ 0023 class ColourLines: public Base { 0024 0025 public: 0026 0027 /** A single colour line */ 0028 typedef vector<pair<int,int> > Line; 0029 /** A vector of colour lines. */ 0030 typedef vector<Line> LineVector; 0031 /** A vector of <code>ColourLine</code>. */ 0032 typedef vector<ColinePtr> Vertex; 0033 /** A vector of vertices. */ 0034 typedef vector<Vertex> VertexVector; 0035 0036 public: 0037 0038 /** @name Standard constructors and destructors. */ 0039 //@{ 0040 /** 0041 * Default constructor. 0042 */ 0043 ColourLines() {} 0044 0045 /** 0046 * The standard constructor. The string \a s should contain a 0047 * comma-separated sequence of integers. Each sequence of numbers 0048 * indicates a colour line and the integer represents a parton 0049 * connected to it. If the integer is negative, it means that the 0050 * line is the corresponding partons anti-colour. Note that the 0051 * partons are numbered from 1: The first spacelike particle is 1, the second 0052 * is 2 and the internal time-like and outgoing are numbered after all 0053 * the spacelike particles. 0054 */ 0055 ColourLines(string s); 0056 //@} 0057 0058 /** 0059 * Reset this ColourLines object. The string \a s should contain a 0060 * comma-separated sequence of integers. Each sequence of numbers 0061 * indicates a colour line and the integer represents a parton 0062 * connected to it. If the integer is negative, it means that the 0063 * line is the corresponding partons anti-colour. Note that the 0064 * partons are numbered from 1: The first incoming is 1, the second 0065 * is 2 and the internal and outgoing are numbered 3 and upwards. 0066 */ 0067 void reset(string s); 0068 0069 public: 0070 0071 /** 0072 * Create the corresponding <code>ColourLine</code>s and connect the 0073 * given \a partons. The partons are assumed to be in the same order 0074 * as the numbers specified in the constructor. 0075 */ 0076 void connect(const tPVector & partons) const; 0077 0078 private: 0079 0080 /** 0081 * The vector of colour lines. 0082 */ 0083 LineVector theLines; 0084 0085 }; 0086 0087 } 0088 0089 #endif /* ThePEG_ColourLines_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|