|
|
|||
File indexing completed on 2026-08-06 09:24:16
0001 // -*- C++ -*- 0002 // 0003 // HardVertex.h is a part of Herwig - A multi-purpose Monte Carlo event generator 0004 // Copyright (C) 2002-2019 The Herwig Collaboration 0005 // 0006 // Herwig 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 HERWIG_HardVertex_H 0010 #define HERWIG_HardVertex_H 0011 // 0012 // This is the declaration of the HardVertex class. 0013 0014 #include "ThePEG/EventRecord/HelicityVertex.h" 0015 #include "ProductionMatrixElement.h" 0016 #include "HardVertex.fh" 0017 // #include "HardVertex.xh" 0018 0019 namespace Herwig { 0020 0021 using namespace ThePEG; 0022 0023 /** \ingroup Helicity 0024 * \author Peter Richardson 0025 * 0026 * The HardVertex class is designed to implement the vertex for a 0027 * hard interaction for the Herwig spin correlation algorithm. 0028 * It inherits from the HelicityVertex class of ThePEG and implements 0029 * the methods to calculate the \f$\rho\f$ and \f$D\f$ matrices. 0030 * 0031 * The ProductionMatrixElement class is used to store the matrix element 0032 * and this class performs the calculations of the matrices. 0033 * 0034 * @see HelicityVertex 0035 * @see ProductionMatrixElement 0036 */ 0037 0038 class HardVertex: public HelicityVertex { 0039 0040 public: 0041 0042 /** 0043 * Access to the matrix element 0044 */ 0045 //@{ 0046 /** 0047 * Get the matrix element 0048 */ 0049 const ProductionMatrixElement & ME() const { 0050 return _matrixelement; 0051 } 0052 0053 /** 0054 * Set the matrix element 0055 */ 0056 void ME(const ProductionMatrixElement & in) const { 0057 _matrixelement.reset(in); 0058 } 0059 //@} 0060 0061 public: 0062 0063 /** 0064 * Standard Init function used to initialize the interfaces. 0065 */ 0066 static void Init(); 0067 0068 public: 0069 0070 /** 0071 * Method to calculate the \f$\rho\f$ matrix for one of the outgoing particles 0072 * @param iout The outgoing particle we are calculating the \f$\rho\f$ matrix for. 0073 */ 0074 virtual RhoDMatrix getRhoMatrix(int iout,bool) const; 0075 0076 /** 0077 * Method to calculate the \f$D\f$ matrix for an incoming particle. 0078 * @param in The incoming particle we are calculating the \f$D\f$ matrix for. 0079 */ 0080 virtual RhoDMatrix getDMatrix(int in) const; 0081 0082 private: 0083 0084 /** 0085 * Private and non-existent assignment operator. 0086 */ 0087 HardVertex & operator=(const HardVertex &) = delete; 0088 0089 private: 0090 0091 /** 0092 * Storage of the matrix element. 0093 */ 0094 ProductionMatrixElement _matrixelement; 0095 0096 }; 0097 } 0098 0099 #endif /* HERWIG_HardVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|