Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef PHASIC_Channels_Beam_Channels_H
0002 #define PHASIC_Channels_Beam_Channels_H
0003 
0004 #include "BEAM/Main/Beam_Spectra_Handler.H"
0005 #include "PHASIC++/Channels/Multi_Channel.H"
0006 
0007 namespace PHASIC {
0008   class Phase_Space_Handler;
0009 
0010   class Beam_Channels: public Multi_Channel {
0011   private:
0012     Phase_Space_Handler        * p_psh;
0013     std::string                  m_keyid;
0014     BEAM::Beam_Spectra_Handler * p_beamspectra;
0015     BEAM::beammode::code         m_beammode;
0016     BEAM::beamspectrum::code     m_beamtype[2];
0017     channelinfos                 m_beamparams;
0018     std::set<double>             m_yexponents;
0019 
0020 
0021     bool MakeChannels();
0022     bool DefineColliderChannels();
0023     void CheckForStructuresFromME();
0024     bool CreateChannels();
0025     void AddSimplePole(const size_t & chno,const size_t & mode);
0026     void AddResonance(const size_t & chno,const size_t & mode);
0027     void AddThreshold(const size_t & chno,const size_t & mode);
0028     void AddLaserBackscattering(const size_t & chno,const size_t & mode);
0029     void AddExponential(const size_t & chno,const size_t & mode); 
0030   public:
0031     Beam_Channels(Phase_Space_Handler *const psh,const std::string &name);
0032     ~Beam_Channels() {}
0033     bool Initialize();
0034     inline channelinfos &Parameters()  { return m_beamparams;  }
0035   };// end of class Beam_Channels
0036 
0037 }//end of namespace PHASIC
0038 
0039 #endif