File indexing completed on 2025-04-19 09:10:09
0001 #ifndef PHASIC_Channels_LBS_Compton_Peak_Channels_H
0002 #define PHASIC_Channels_LBS_Compton_Peak_Channels_H
0003
0004 #include "PHASIC++/Channels/ISR_Channel_Base.H"
0005
0006
0007 namespace PHASIC {
0008 class LBS_Compton_Peak_Uniform: public ISR_Channel_Base {
0009 protected:
0010 double m_exponent, m_pole;
0011 bool m_zchannel;
0012 size_t m_mode;
0013 ATOOLS::Info_Key m_spkey, m_xkey, m_ykey, m_sgridkey, m_ygridkey;
0014 ATOOLS::Info_Key m_kp1key, m_kp2key;
0015 public:
0016 LBS_Compton_Peak_Uniform(const double exponent,const double pole,
0017 const std::string cinfo,ATOOLS::Integration_Info *info,
0018 const size_t mode=0);
0019 void GeneratePoint(const double *rans);
0020 void GenerateWeight(const int & mode=0);
0021 };
0022
0023 class LBS_Compton_Peak_Forward: public ISR_Channel_Base {
0024 protected :
0025 double m_exponent, m_pole, m_yexponent;
0026 bool m_zchannel;
0027 size_t m_mode;
0028 ATOOLS::Info_Key m_spkey, m_xkey, m_ykey, m_sgridkey, m_ygridkey;
0029 ATOOLS::Info_Key m_kp1key, m_kp2key;
0030 public :
0031 LBS_Compton_Peak_Forward(const double exponent,const double pole,const double yexponent,
0032 const std::string cinfo,ATOOLS::Integration_Info *info,
0033 const size_t mode=0);
0034 void GeneratePoint(const double *rans);
0035 void GenerateWeight(const int & mode=0);
0036 };
0037
0038 class LBS_Compton_Peak_Backward: public ISR_Channel_Base {
0039 protected :
0040 double m_exponent, m_pole, m_yexponent;
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 LBS_Compton_Peak_Backward(const double exponent,const double pole,const double yexponent,
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 class LBS_Compton_Peak_Central: public ISR_Channel_Base {
0054 protected:
0055 double m_exponent, m_pole;
0056 bool m_zchannel;
0057 size_t m_mode;
0058 ATOOLS::Info_Key m_spkey, m_xkey, m_ykey, m_sgridkey, m_ygridkey;
0059 ATOOLS::Info_Key m_kp1key, m_kp2key;
0060 public:
0061 LBS_Compton_Peak_Central(const double exponent,const double pole,
0062 const std::string cinfo,ATOOLS::Integration_Info *info,
0063 const size_t mode=0);
0064 void GeneratePoint(const double *rans);
0065 void GenerateWeight(const int & mode=0);
0066 };
0067 }
0068 #endif