![]() |
|
|||
File indexing completed on 2025-04-19 09:10:12
0001 #ifndef PHOTONS_Tools_Weight_Dipole_H 0002 #define PHOTONS_Tools_Weight_Dipole_H 0003 0004 #include "ATOOLS/Math/Vector.H" 0005 #include "PHOTONS++/Tools/Weight_Base.H" 0006 0007 namespace PHOTONS { 0008 class Weight_Dipole: public Weight_Base { 0009 private: 0010 ATOOLS::Particle_Vector m_olddipole; 0011 ATOOLS::Particle_Vector m_newdipole; 0012 ATOOLS::Particle_Vector m_softphotons; 0013 0014 virtual void CalculateWeight(); 0015 virtual void CalculateMax(); 0016 double SMod(const ATOOLS::Vec4D&, const ATOOLS::Vec4D&, 0017 const ATOOLS::Vec4D&); 0018 0019 public: 0020 Weight_Dipole(const ATOOLS::Particle_Vector&, 0021 const ATOOLS::Particle_Vector&, 0022 const ATOOLS::Particle_Vector&, 0023 Dipole_Type::code); 0024 virtual ~Weight_Dipole(); 0025 }; 0026 0027 0028 0029 0030 /*! 0031 \file Weight_Dipole.H 0032 \brief contains the class Weight_Dipole 0033 */ 0034 0035 /*! 0036 \class Weight_Dipole 0037 \brief calculates \f$ W_{dipole} \f$ of the event given 0038 */ 0039 //////////////////////////////////////////////////////////////////////////////////////////////////// 0040 // Description of the variables for Weight_Dipole 0041 //////////////////////////////////////////////////////////////////////////////////////////////////// 0042 /*! 0043 \var Particle_Vector Weight_Dipole::m_olddipole 0044 \brief contains all charged particles before the treatment (\f$ K=0 \f$ event) 0045 */ 0046 0047 /*! 0048 \var Particle_Vector Weight_Dipole::m_newdipole 0049 \brief contains all charged particles after the treatment 0050 */ 0051 0052 /*! 0053 \var Particle_Vector Weight_Dipole::m_softphotons 0054 \brief contains all bremsstrahlung photons generated in the event 0055 */ 0056 //////////////////////////////////////////////////////////////////////////////////////////////////// 0057 // Description of the member methods for Weight_Dipole 0058 //////////////////////////////////////////////////////////////////////////////////////////////////// 0059 /*! 0060 \fn Weight_Dipole::Weight_Dipole(const Particle_Vector, const Particle_Vector, const Particle_Vector, Dipole_Type::code) 0061 \brief initialises all variales and calculates the weights 0062 0063 The values to be passed are the multipole before the treatment, after the treatment, the generated photons and the Dipole_Type. 0064 0065 Calls <tt>Weight_Dipole::CalculateWeight()</tt> and <tt>Weight_Dipole::CalculateMax()</tt> to calculate the weight and its maximum. The latter value is the contribution to the maximum total weight as well as the maximum of \f$ W_{dipole} \f$ by itself. 0066 */ 0067 0068 /*! 0069 \fn void Weight_Dipole::CalculateWeight() 0070 \brief calculates the weight of the event 0071 0072 The weight is \f$ W_{dipole} = \prod_{i=1}^{n_\gamma}\frac{\tilde{S}(p,P,k_i)}{\tilde{S}(p,Q,k_i)} \f$ 0073 0074 with \f$ \tilde{S}(k) = \sum\limits_{i<j}\tilde{S}_{ij}(k) = \sum\limits_{i<j}Z_iZ_j\theta_i\theta_j\left(\frac{p_1}{(p_1\cdot k_i)}-\frac{p_2}{(p_2\cdot k_i)}\right)^2 \f$ 0075 0076 Calls <tt>Weight_Dipole::SMod(const Vec4D, const Vec4D, const Vec4D)</tt> to calculate \f$ \tilde{S} \f$. 0077 */ 0078 0079 /*! 0080 \fn void Weight_Dipole::CalculateMax() 0081 \brief calculates the maximum weight of the configuration 0082 0083 The maximum weight is \f$ W_{dipole,max} = 1 \f$. 0084 */ 0085 0086 /*! 0087 \fn double Weight_Dipole::SMod(const Vec4D, const Vec4D, const Vec4D) 0088 \brief calculates the eikonal factor in \f$ \tilde{S}_{ij} \f$ 0089 0090 The arguments are \f$ p_1 \f$, \f$ p_2 \f$ and \f$ k_i \f$. 0091 The value returned is \f$ \left(\frac{p_1}{(p_1\cdot k_i)}-\frac{p_2}{(p_2\cdot k_i)}\right)^2 \f$. 0092 */ 0093 0094 } 0095 0096 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |