Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef PHASIC_Channels_Simple_Pole_Channels_H
0002 #define PHASIC_Channels_Simple_Pole_Channels_H
0003 
0004 #include "PHASIC++/Channels/ISR_Channel_Base.H"
0005 
0006 namespace PHASIC {
0007   class Simple_Pole_RelicDensity: public ISR_Channel_Base {
0008   protected:
0009     double m_exponent;
0010     bool   m_zchannel;
0011     ATOOLS::Info_Key m_spkey, m_sgridkey;
0012   public:
0013     Simple_Pole_RelicDensity(const double exponent,const std::string cinfo,
0014             ATOOLS::Integration_Info *info);
0015     void GeneratePoint(const double *rans);
0016       void GenerateWeight(const int & mode=0);
0017   };
0018 
0019   class Simple_Pole_DM_Annihilation: public ISR_Channel_Base {
0020   protected:
0021     double m_exponent, m_mass[2];
0022     bool   m_zchannel;
0023     ATOOLS::Info_Key m_spkey, m_sgridkey, m_xkey, m_xgridkey, m_cosxikey, m_cosgridkey;
0024   public:
0025     Simple_Pole_DM_Annihilation(const double exponent, const double mass1,
0026                 const double mass2, const std::string cinfo,
0027                 ATOOLS::Integration_Info *info);
0028     void GeneratePoint(const double *rans);
0029     void GenerateWeight(const int & mode=0);
0030   };
0031 
0032   ////////////////////////////////////////////////////////////////////////
0033 
0034   class Simple_Pole_Uniform: public ISR_Channel_Base {
0035   protected:
0036     double m_exponent;
0037     bool   m_zchannel;
0038     size_t m_mode;
0039     ATOOLS::Info_Key m_spkey, m_xkey, m_ykey, m_sgridkey, m_ygridkey;
0040     ATOOLS::Info_Key m_kp1key, m_kp2key;
0041   public:
0042     Simple_Pole_Uniform(const double exponent,const std::string cinfo,
0043             ATOOLS::Integration_Info *info,const size_t mode=0);
0044     void GeneratePoint(const double *rans);
0045     void GenerateWeight(const int & mode=0);
0046   };
0047 
0048   ////////////////////////////////////////////////////////////////////////
0049 
0050   class Simple_Pole_Central: public ISR_Channel_Base {
0051   protected:
0052     double m_exponent;
0053     bool   m_zchannel;
0054     size_t m_mode;
0055     ATOOLS::Info_Key m_spkey, m_xkey, m_ykey, m_sgridkey, m_ygridkey;
0056     ATOOLS::Info_Key m_kp1key, m_kp2key;
0057   public:
0058     Simple_Pole_Central(const double exponent,const std::string cinfo,
0059             ATOOLS::Integration_Info *info,const size_t mode=0);
0060     void GeneratePoint(const double *rans);
0061     void GenerateWeight(const int & mode=0);
0062   };
0063 
0064   ////////////////////////////////////////////////////////////////////////
0065 
0066   class Simple_Pole_Forward: public ISR_Channel_Base {
0067   protected :
0068     double m_sexponent, m_yexponent;
0069     bool   m_zchannel;
0070     size_t m_mode;
0071     ATOOLS::Info_Key m_spkey, m_xkey, m_ykey, m_sgridkey, m_ygridkey;
0072     ATOOLS::Info_Key m_kp1key, m_kp2key;
0073   public :
0074     Simple_Pole_Forward(const double sexponent,const double yexponent,
0075             const std::string cinfo,ATOOLS::Integration_Info *info,
0076             const size_t mode=0);
0077     void GeneratePoint(const double *rans);
0078     void GenerateWeight(const int & mode=0);
0079   };
0080 
0081   ////////////////////////////////////////////////////////////////////////
0082 
0083   class Simple_Pole_Backward: public ISR_Channel_Base {
0084   protected :
0085     double m_sexponent, m_yexponent;
0086     bool   m_zchannel;
0087     size_t m_mode;
0088     ATOOLS::Info_Key m_spkey, m_xkey, m_ykey, m_sgridkey, m_ygridkey;
0089     ATOOLS::Info_Key m_kp1key, m_kp2key;
0090   public :
0091     Simple_Pole_Backward(const double sexponent,const double yexponent,
0092              const std::string cinfo,ATOOLS::Integration_Info *info,
0093              const size_t mode=0);
0094     void GeneratePoint(const double *rans);
0095     void GenerateWeight(const int & mode=0);
0096   };
0097 
0098   ////////////////////////////////////////////////////////////////////////
0099 
0100   class Simple_Pole_YFS: public ISR_Channel_Base {
0101   protected :
0102     double m_sexponent;
0103     bool m_zchannel;
0104     size_t m_mode;
0105     ATOOLS::Info_Key m_spkey, m_xkey, m_sgridkey;
0106   public :
0107     Simple_Pole_YFS(const double exponent, const std::string cinfo,
0108       ATOOLS::Integration_Info *info);
0109     void GeneratePoint(const double *rans);
0110     void GenerateWeight(const int & mode=0);
0111     };
0112 }
0113 #endif