Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef COMIX_Main_Single_Dipole_Term_H
0002 #define COMIX_Main_Single_Dipole_Term_H
0003 
0004 #include "COMIX/Main/Single_Process.H"
0005 
0006 namespace COMIX {
0007 
0008   class Single_Dipole_Term: public PHASIC::Single_Process {
0009   protected:
0010 
0011     Single_Process *p_proc;
0012 
0013     Amplitude *p_bg;
0014 
0015     ATOOLS::NLO_subevt *p_sub, *p_msub;
0016 
0017     PHASIC::Process_Integrator *p_rsint;
0018 
0019     double m_w;
0020 
0021     Combination_Set m_ccombs;
0022     CFlavVector_Map m_cflavs;
0023 
0024     SizeT_Map m_brs;
0025 
0026   public:
0027 
0028     // constructors
0029     Single_Dipole_Term(COMIX::Single_Process *const rs,
0030                ATOOLS::NLO_subevt *const sub,
0031                ATOOLS::NLO_subevt *const msub);
0032 
0033     // destructor
0034     ~Single_Dipole_Term();
0035 
0036     // member functions
0037     double Partonic(const ATOOLS::Vec4D_Vector&,
0038                     ATOOLS::Variations_Mode varmode,
0039                     int mode);
0040     ATOOLS::Weights_Map Differential(const ATOOLS::Cluster_Amplitude& ampl,
0041                                      ATOOLS::Variations_Mode type=ATOOLS::Variations_Mode::nominal_only,
0042                                      int mode=0);
0043 
0044     bool Trigger(const ATOOLS::Vec4D_Vector &p);
0045 
0046     bool GeneratePoint();
0047 
0048     bool Combinable(const size_t &idi,const size_t &idj);
0049 
0050     const ATOOLS::Flavour_Vector &CombinedFlavour(const size_t &idij);
0051 
0052     ATOOLS::NLO_subevtlist *GetRSSubevtList();
0053 
0054     inline void SetScaleSetter(PHASIC::Scale_Setter_Base *const scale)
0055     { p_scale=scale; }
0056 
0057     inline Amplitude *GetAmplitude() const { return p_bg; }
0058 
0059     inline Single_Process *Process() const { return p_proc; }
0060 
0061     inline NLO_subevt *Sub() const { return p_sub; }
0062 
0063     inline const SizeT_Map &BRSMap() const { return m_brs; }
0064 
0065   };// end of class Single_Dipole_Term
0066 
0067 }// end of namespace COMIX
0068 
0069 #endif
0070 
0071 
0072