|
|
|||
File indexing completed on 2026-08-06 09:24:05
0001 // -*- C++ -*- 0002 // 0003 // DecayVertex.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_DecayVertex_H 0010 #define HERWIG_DecayVertex_H 0011 // 0012 // This is the declaration of the DecayVertex class. 0013 // 0014 #include <ThePEG/EventRecord/HelicityVertex.h> 0015 #include "DecayMatrixElement.h" 0016 #include "DecayVertex.fh" 0017 0018 namespace Herwig { 0019 0020 /** \ingroup Helicity 0021 * \author Peter Richardson 0022 * 0023 * The DecayVertex class is designed to implement the vertex 0024 * for a decay for use with the spin correlation algorithm. 0025 * It inherits from HelicityVertex class of ThePEG and implements 0026 * the methods to calculate the \f$\rho\f$ and \f$D\f$ matrices. 0027 * 0028 * It uses the DecayMatrixElement class to store the matrix element and 0029 * it is this class which performs the calculations of the matrices. 0030 * 0031 * @see HelicityVertex 0032 * @see DecayMatrixElement 0033 */ 0034 0035 class DecayVertex: public HelicityVertex { 0036 0037 public: 0038 0039 /** 0040 * Access to the matrix element 0041 */ 0042 //@{ 0043 /** 0044 * Get the matrix element 0045 */ 0046 const DecayMEPtr ME() const { 0047 return matrixElement_; 0048 } 0049 0050 /** 0051 * Set the matrix element 0052 */ 0053 void ME(DecayMEPtr in) const { 0054 matrixElement_ = in; 0055 } 0056 //@} 0057 0058 public: 0059 0060 /** 0061 * Standard Init function used to initialize the interfaces. 0062 */ 0063 static void Init(); 0064 0065 public: 0066 0067 /** 0068 * Method to calculate the \f$\rho\f$ matrix for one of the decay products 0069 * @param iprod The product we are calculating the \f$\rho\f$ matrix for. 0070 * @param recursive Whether or not to recursive calculate the matrix 0071 */ 0072 virtual RhoDMatrix getRhoMatrix(int iprod,bool recursive) const; 0073 0074 /** 0075 * Method to calculate the \f$D\f$ matrix for the decaying particle. It this 0076 * case the argument is a dummy. 0077 */ 0078 virtual RhoDMatrix getDMatrix(int) const; 0079 0080 /** 0081 * Private and non-existent assignment operator. 0082 */ 0083 DecayVertex & operator=(const DecayVertex &) = delete; 0084 0085 private: 0086 0087 /** 0088 * Storage of the decay matrix element. 0089 */ 0090 mutable DecayMEPtr matrixElement_; 0091 0092 }; 0093 0094 } 0095 0096 #endif /* HERWIG_DecayVertex_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|