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 &l);
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 };
0065
0066 }
0067
0068 #endif