Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:05

0001 #ifndef HADRONS_PS_Library_Three_Body_PSs_H
0002 #define HADRONS_PS_Library_Three_Body_PSs_H
0003 
0004 #include "PHASIC++/Channels/Single_Channel.H"
0005 #include "ATOOLS/Math/Vector.H"
0006 #include "HADRONS++/PS_Library/ResonanceFlavour.H"
0007 
0008 namespace HADRONS {
0009   class Dalitz : public PHASIC::Single_Channel {
0010 
0011     private:
0012       ATOOLS::Vec4D m_decvec, m_pvec;
0013       double        m_pmass, m_pwidth, m_sexp, m_smin, m_smax;
0014       int           m_p1, m_p2, m_dir, m_mode;
0015       std::string   m_propmass;             
0016       int           m_chnumber;         
0017     public :
0018       Dalitz(
0019           const ATOOLS::Flavour * fl,
0020           SimpleResonanceFlavour res,
0021           const int p1, 
0022           const int p2 );
0023       void GeneratePoint(ATOOLS::Vec4D * p,PHASIC::Cut_Data * =NULL,
0024              double * _ran=NULL);
0025       void GenerateWeight(ATOOLS::Vec4D * p,PHASIC::Cut_Data * =NULL);
0026       int  ChNumber()                 { return m_chnumber;       }
0027       void SetChNumber(int _chnumber) { m_chnumber = _chnumber;  }
0028       void MPISync() {};
0029   }; // end of class
0030 
0031   /*!
0032     \file Three_Body_PSs.H
0033     \brief Declares the class HADRONS::Dalitz
0034 
0035     This file can be found in the directory <tt>PS_Library</tt>.
0036   */    
0037   /*!
0038     \class Dalitz
0039     \brief Tool to handle 3-particle PS
0040 
0041     This class is a subclass of PHASIC::Single_Channel.
0042      
0043     It is the default integrator for decays of the form
0044     \f[ M \to k + res; \: res \to i+j. \f]
0045   */      
0046   /*!
0047     \fn Dalitz::Dalitz( const ATOOLS::Flavour * fl, 
0048     SimpleResonanceFlavour res, const int p1, const int p2 )
0049     \brief Constructor for the Dalitz 1 to 3 decay integration channel
0050     
0051     The required information is in which two of the three final particles the
0052     propagator decays \f$(i,j)\f$ and of what kind the propagator is. 
0053   */    
0054   /*!
0055     \var Dalitz::m_decvec
0056     This is the 4-momentum of the decaying particle. Initially, its value is 
0057     \f$(M,0,0,0)\f$.
0058   */  
0059   /*!
0060     \var Dalitz::m_pvec
0061     This is the 4-momentum of the propagator.
0062   */
0063   /*!
0064     \var Dalitz::m_pmass
0065     This is the mass of the propagator.
0066   */
0067   /*!
0068     \var Dalitz::m_pwidth
0069     This is the width of the propagator.
0070   */    
0071   /*!
0072     \var Dalitz::m_smin
0073     Minimum value \f$s_{min}=(m_i+m_j)^2\f$.
0074   */
0075   /*!
0076     \var Dalitz::m_smax
0077     Maximum value \f$s_{max}=(M-m_k)^2\f$ where \f$k \ne i, k \ne j\f$.
0078   */    
0079   /*!
0080     \var Dalitz::m_p1
0081     This corresponds to \f$i\f$.
0082   */    
0083   /*!
0084     \var Dalitz::m_p2
0085     This corresponds to \f$j\f$.
0086   */    
0087   /*!
0088     \var Dalitz::m_dir
0089     This corresponds to \f$k\f$.
0090   */    
0091   /*!
0092     \var Dalitz::m_mode
0093     Its value is 0 if the propagator mass is small enough, i.e.
0094     \f$m_p<\frac{1}{10}(m_i+m_j)\f$, which corresponds to a nearly
0095     massless propagator. Otherwise, it takes value 1.
0096   */
0097 
0098 } // end of namespace
0099 
0100 #endif