Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef HADRONS_PS_Library_Two_Body_PSs_H
0002 #define HADRONS_PS_Library_Two_Body_PSs_H
0003 
0004 #include "PHASIC++/Channels/Single_Channel.H"
0005 #include "ATOOLS/Math/Vector.H"
0006 
0007 namespace HADRONS {
0008   class Iso2Channel : public PHASIC::Single_Channel {
0009     ATOOLS::Vec4D m_decvec;
0010     int           m_chnumber;
0011   public :
0012     Iso2Channel(const ATOOLS::Flavour *);
0013     void GeneratePoint(ATOOLS::Vec4D * p,PHASIC::Cut_Data * =NULL,double * _ran=NULL);
0014     void GenerateWeight(ATOOLS::Vec4D * p,PHASIC::Cut_Data * =NULL);
0015     int  ChNumber()                 { return m_chnumber;       }
0016     void SetChNumber(int _chnumber) { m_chnumber = _chnumber;  }
0017     std::string ChID()              { return std::string("Iso2");}
0018     void MPISync() {};
0019   }; // end of class
0020 
0021   class Iso1Channel : public PHASIC::Single_Channel {
0022     ATOOLS::Vec4D m_decvec;
0023     int           m_chnumber;
0024   public :
0025     Iso1Channel(const ATOOLS::Flavour *);
0026     void GeneratePoint(ATOOLS::Vec4D * p,PHASIC::Cut_Data * =NULL,double * _ran=NULL);
0027     void GenerateWeight(ATOOLS::Vec4D * p,PHASIC::Cut_Data * =NULL);
0028     int  ChNumber()                 { return m_chnumber;       }
0029     void SetChNumber(int _chnumber) { m_chnumber = _chnumber;  }
0030     std::string ChID()              { return std::string("Iso1");}
0031     void MPISync() {};
0032   }; // end of class
0033 
0034 
0035   /*!
0036     \file Two_Body_PSs.H
0037     \brief Declares the class HADRONS::Iso2Channel
0038     
0039     This file can be found in the directory \c PS_Library.
0040   */
0041 
0042   /*!
0043     \class Iso2Channel
0044     \brief Tool to handle isotropic 2-particle decay PS
0045 
0046 
0047       This channel is meant to be the default 2-body integrator.
0048       There is no specific angular dependence, i.e. cos(theta) in the rest 
0049       frame is distributed uniformly. 
0050       
0051       This class is a subclass of PHASIC::Single_Channel
0052 
0053       However, its member methods call PHASIC::Channel_Elements methods in order to deliver a point in
0054       PS or the PS element (weight factor)
0055   */    
0056   /*!
0057     \fn Iso2Channel::Iso2Channel( const ATOOLS::Flavour * fl )
0058     \brief Constructor for isotropic 1 to 2 decay integration channel
0059   */
0060   /*!
0061     \var Iso2Channel::m_decvec
0062     This is the 4-momentum of the decaying particle. Initially, its value is \f$(M,0,0,0)\f$.
0063   */  
0064   /*! 
0065     \fn Iso2Channel::ChID()
0066     Returns value <tt>"Iso2"</tt>.
0067   */    
0068     
0069   
0070 
0071 } // end of namespace
0072 
0073 #endif