Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef PHASIC_Channels_BBar_Multi_Channel_H
0002 #define PHASIC_Channels_BBar_Multi_Channel_H
0003 
0004 #include "PHASIC++/Channels/Multi_Channel.H"
0005 #include "PHASIC++/Channels/BBar_Emission_Generator.H"
0006 
0007 namespace ATOOLS { class Cluster_Amplitude; }
0008 
0009 namespace PHASIC {
0010 
0011   class Process_Base;
0012   class Phase_Space_Handler;
0013 
0014   class BBar_Multi_Channel: public Multi_Channel {
0015   private:
0016 
0017     Process_Base *p_proc;
0018 
0019     Multi_Channel *p_fsmc;
0020     Cut_Data      *p_cuts;
0021 
0022     BBar_Emission_Generator m_eeg;
0023 
0024   public:
0025 
0026     BBar_Multi_Channel(Process_Base *const proc,
0027                Process_Base *const sproc,
0028                Phase_Space_Handler *const psh);
0029 
0030     ~BBar_Multi_Channel();
0031 
0032     Dipole_Params Active(Process_Base *const bviproc) const;
0033 
0034     void Reset();
0035 
0036     void Optimize(double);
0037     void EndOptimize(double);
0038     void MPISync();
0039 
0040     void AddPoint(double value);
0041 
0042     void GenerateWeight(ATOOLS::Vec4D *p,Cut_Data *cuts);
0043     void GeneratePoint(ATOOLS::Vec4D *p,Cut_Data *cuts);
0044     
0045     void GenerateEmissionPoint
0046     (const ATOOLS::Cluster_Amplitude &ampl);
0047 
0048     void WriteOut(std::string pId);
0049     bool ReadIn(std::string pId);
0050 
0051     size_t Number();
0052 
0053     std::string Name();     
0054     std::string ChID();
0055 
0056     bool OptimizationFinished();
0057 
0058     void ISRInfo(int i,int &t,double &m,double &w);
0059     void ISRInfo(std::vector<int> &ts,std::vector<double> &ms,
0060          std::vector<double> &ws) const;
0061 
0062     void Print();
0063 
0064   };// end of class BBar_Multi_Channel
0065 
0066 }// end of namespace PHASIC
0067 
0068 #endif