![]() |
|
|||
File indexing completed on 2025-04-19 09:10:12
0001 #ifndef PHOTONS_PhaseSpace_Avarage_Photon_Number_H 0002 #define PHOTONS_PhaseSpace_Avarage_Photon_Number_H 0003 0004 #include "ATOOLS/Math/Vector.H" 0005 #include "PHOTONS++/Main/Dipole_Type.H" 0006 0007 namespace PHOTONS { 0008 struct IdPairNbar; 0009 typedef std::vector<IdPairNbar> IdPairNbarVector; 0010 0011 class Avarage_Photon_Number { 0012 private: 0013 double m_omegaMax; 0014 double m_omegaMin; 0015 ATOOLS::Particle_Vector m_dipole; 0016 0017 double m_nbar; 0018 IdPairNbarVector m_nbars; 0019 0020 void CalculateAvaragePhotonNumber(); 0021 double CalculateBeta(const ATOOLS::Vec4D&); 0022 double InterferenceTerm(const double&, const double&, 0023 const double&, const double&); 0024 double TiTj(const size_t&, const size_t&); 0025 0026 public: 0027 Avarage_Photon_Number(const ATOOLS::Particle_Vector&, 0028 const double&, const double&); 0029 ~Avarage_Photon_Number(); 0030 0031 const double GetNBar() const { return m_nbar; } 0032 const IdPairNbarVector& GetNBars() const { return m_nbars; } 0033 0034 }; 0035 0036 0037 0038 0039 /*! 0040 \file Avarage_Photon_Number.H 0041 \brief contains the class Avarage_Photon_Number 0042 */ 0043 0044 /*! 0045 \class Avarage_Photon_Number 0046 \brief calculates \f$\bar{n}\f$ of the multipole 0047 */ 0048 //////////////////////////////////////////////////////////////////////////////////////////////////// 0049 // Description of the member variables for Avarage_Photon_Number 0050 //////////////////////////////////////////////////////////////////////////////////////////////////// 0051 /*! 0052 \var double Avarage_Photon_Number::m_omegaMax 0053 \brief maximum photon energy allowed kinematically 0054 */ 0055 0056 /*! 0057 \var double Avarage_Photon_Number::m_omegaMin 0058 \brief minimum photon energy (infrared cut-off) 0059 */ 0060 0061 /*! 0062 \var Particle_Vector Avarage_Photon_Number::m_dipole 0063 \brief contains all charged particles of the blob forming the multipole 0064 */ 0065 0066 /*! 0067 \var double Avarage_Photon_Number::m_nbar 0068 \brief the avarage photon number of the multipole 0069 */ 0070 0071 /*! 0072 \var std::vector<double> Avarage_Photon_Number::m_nbars 0073 \brief the avarage photon numbers of all individual constituent dipoles 0074 */ 0075 //////////////////////////////////////////////////////////////////////////////////////////////////// 0076 // Description of the member methods for Avarage_Photon_Number 0077 //////////////////////////////////////////////////////////////////////////////////////////////////// 0078 /*! 0079 \fn Avarage_Photon_Number::Avarage_Photon_Number(Particle_Vector, double, double) 0080 \brief initialises and executes the calculations 0081 0082 The constructor <tt>Avarage_Photon_Number::Avarage_Photon_Number(Particle_Vector dip, double wmax, double wmin)</tt> has to receive a Particle_Vector 0083 containing all charged particles and the upper and lower 0084 limit of the photon energy. 0085 Finally, <tt>Avarage_Photon_Number::CalculateAvaragePhotonNumber()</tt> 0086 is called to calculate \f$\bar{n}\f$. 0087 */ 0088 0089 /*! 0090 \fn void Avarage_Photon_Number::CalculateAvaragePhotonNumber() 0091 \brief stears and combines the calculation of the different terms for \f$\bar{n}\f$ 0092 0093 \f$\bar{n}\f$ is calculated via 0094 \f[ 0095 \bar{n} = \int\frac{d^3k}{k}\Theta(\Omega)\tilde{S}(k) 0096 \f] 0097 with 0098 \f[ 0099 \tilde{S}(k) 0100 = \sum_{i<j}\tilde{S}_{ij}(k) -\frac{\alpha}{4\pi^2} 0101 \sum_{i<j}Z_iZ_j\theta_i\theta_j 0102 \left(\frac{p_i}{(p_i\cdot k)}-\frac{p_j}{(p_j\cdot k)}\right)^2 0103 \f] 0104 */ 0105 0106 /*! 0107 \fn double Avarage_Photon_Number::CalculateBeta(Vec4D) 0108 \brief calculates \f$\beta\f$ of 4-vector 0109 */ 0110 0111 /*! 0112 \fn double Avarage_Photon_Number::GetNBar() 0113 \brief returns m_nbar 0114 */ 0115 0116 /*! 0117 \fn std::vector<double> Avarage_Photon_Number::GetNBars() 0118 \brief returns m_nbars 0119 */ 0120 0121 } 0122 0123 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |