File indexing completed on 2025-04-19 09:10:09
0001 #ifndef PHASIC_Channels_ISR_Channels_H
0002 #define PHASIC_Channels_ISR_Channels_H
0003
0004 #include "PDF/Main/ISR_Handler.H"
0005 #include "PHASIC++/Channels/Multi_Channel.H"
0006 #include "YFS/Main/YFS_Handler.H"
0007
0008 namespace PHASIC {
0009 class Phase_Space_Handler;
0010 class ISR_Channels: public Multi_Channel {
0011 private:
0012 Phase_Space_Handler * p_psh;
0013 std::string m_keyid;
0014 PDF::ISR_Handler * p_isrhandler;
0015 YFS::YFS_Handler * p_yfshandler;
0016 PDF::isrmode::code m_isrmode;
0017 PDF::isrtype::code m_isrtype[2];
0018 channelinfos m_isrparams;
0019 std::set<double> m_yexponents, m_spexponents;
0020
0021 bool MakeChannels();
0022 void CheckForStructuresFromME();
0023 bool CreateChannels();
0024 void AddSimplePole(const size_t & chno,const size_t & mode);
0025 void AddResonance(const size_t & chno,const size_t & mode);
0026 void AddThreshold(const size_t & chno,const size_t & mode);
0027 void AddLeadingLog(const size_t & chno,const size_t & mode);
0028 public:
0029 ISR_Channels(Phase_Space_Handler *const psh,const std::string &name);
0030 inline ~ISR_Channels() {}
0031 inline bool Initialize() { return MakeChannels(); }
0032 inline channelinfos &Parameters() { return m_isrparams; }
0033 };
0034
0035 }
0036
0037 #endif