![]() |
|
|||
File indexing completed on 2025-04-19 09:10:12
0001 #ifndef PHOTONS_Main_Define_Dipole_H 0002 #define PHOTONS_Main_Define_Dipole_H 0003 0004 #include "PHOTONS++/Main/Dipole_Type.H" 0005 0006 namespace ATOOLS { 0007 class Blob; 0008 } 0009 0010 namespace PHOTONS { 0011 class Define_Dipole { 0012 private: 0013 bool m_success; 0014 bool m_photonsadded; 0015 ATOOLS::Blob* p_blob; 0016 ATOOLS::Particle_Vector m_chargedinparticles; 0017 ATOOLS::Particle_Vector m_neutralinparticles; 0018 ATOOLS::Particle_Vector m_chargedoutparticles; 0019 ATOOLS::Particle_Vector m_neutraloutparticles; 0020 ATOOLS::Particle_Vector m_softphotons; 0021 Particle_Vector_Vector m_pvv; 0022 Dipole_Type::code m_dtype; 0023 0024 public: 0025 Define_Dipole(ATOOLS::Blob*); 0026 ~Define_Dipole(); 0027 0028 void AddRadiation(); 0029 bool CheckMasses(); 0030 0031 inline bool DoneSuccessfully() { return m_success; } 0032 inline bool AddedAnything() { return m_photonsadded; } 0033 }; 0034 0035 0036 0037 0038 /*! 0039 \file Define_Dipole.H 0040 \brief contains the class Define_Dipole 0041 */ 0042 0043 /*! 0044 \class Define_Dipole 0045 \brief classifies and coordinates the treatment of the multipoles given by Photons class 0046 */ 0047 /////////////////////////////////////////////////////////////////////////////////////// 0048 // Description of member variables for Define_Dipole 0049 /////////////////////////////////////////////////////////////////////////////////////// 0050 /*! 0051 \var bool Define_Dipole::m_success 0052 \brief value filled by Dipole_FF/Dipole_FI classes, specifies whether treatment was successful 0053 */ 0054 0055 /*! 0056 \var bool Define_Dipole::m_photonsadded 0057 \brief value filled by Dipole_FF/Dipole_FI classes, tells whether treatment added any photons 0058 */ 0059 0060 /*! 0061 \var Blob* Define_Dipole::p_blob 0062 \brief pointer to blob passed from Photons class 0063 */ 0064 0065 /*! 0066 \var Particle_Vector Define_Dipole::m_chargedinparticles 0067 \brief contains all charged initial state particles of p_blob 0068 */ 0069 0070 /*! 0071 \var Particle_Vector Define_Dipole::m_neutralinparticles 0072 \brief contains all neutral initial state particles of p_blob 0073 */ 0074 0075 /*! 0076 \var Particle_Vector Define_Dipole::m_chargedoutparticles 0077 \brief contains all charged final state particles of p_blob 0078 */ 0079 0080 /*! 0081 \var Particle_Vector Define_Dipole::m_neutraloutparticles 0082 \brief contains all neutral final state particles of p_blob 0083 */ 0084 0085 /*! 0086 \var Particle_Vector Define_Dipole::m_softphotons 0087 \brief contains all photons created by Dipole_FF/Dipole_FI classes 0088 */ 0089 0090 /*! 0091 \var Particle_Vector_Vector Define_Dipole::m_pvv 0092 \brief contains ensemble of all particles of p_blob in respective Particle_Vector's 0093 */ 0094 0095 /*! 0096 \var Dipole_Type::code Define_Dipole::m_dtype 0097 \brief contains the dipole type of p_blob 0098 */ 0099 //////////////////////////////////////////////////////////////////////////////////////////////////// 0100 // Description of member methods of Define_Dipole 0101 //////////////////////////////////////////////////////////////////////////////////////////////////// 0102 /*! 0103 \fn Define_Dipole::Define_Dipole(Blob*) 0104 \brief initialises the main parameters for the treatment of the blob 0105 0106 In particular: 0107 - classifies all particles of the blob into the respective Particle_Vector 0108 - determines the Dipole_Type of the blob 0109 - creates m_pvv to hand over to Dipole_FF/Dipole_FI classes 0110 . 0111 */ 0112 0113 /*! 0114 \fn void Define_Dipole::AddRadiation() 0115 \brief gives m_pvv to the correct treatment class, reconstructs the blob after treatment 0116 0117 In more detail: 0118 - hands m_pvv over to the Dipole_FF/Dipole_FI classes according to the 0119 Dipole_Type determined in constructor 0120 - if treatment was successful, i.e. momentum conservation is fulfilled, 0121 the p_blob will be reconstructed with the corrected particle momenta 0122 and all photons 0123 - values of m_success and m_addedphotons are assigned 0124 . 0125 */ 0126 0127 /*! 0128 \fn bool Define_Dipole::DoneSuccessfully() 0129 \brief returns m_success 0130 */ 0131 0132 /*! 0133 \fn bool Define_Dipole::AddedAnything() 0134 \brief returns m_photonsadded 0135 */ 0136 0137 0138 } 0139 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |