Back to home page

EIC code displayed by LXR

 
 

    


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

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