File indexing completed on 2025-04-19 09:10:05
0001 #ifndef MCATNLO_Showers_SF_Key_H
0002 #define MCATNLO_Showers_SF_Key_H
0003
0004 #include <string>
0005
0006 namespace ATOOLS {
0007 class Mass_Selector;
0008 }
0009
0010 namespace MODEL {
0011 class Model_Base;
0012 class Single_Vertex;
0013 }
0014
0015 namespace MCATNLO {
0016
0017 class SF_Coupling;
0018
0019 struct cstp {
0020 enum code {
0021 FF = 11,
0022 FI = 12,
0023 IF = 21,
0024 II = 22,
0025 none = 0
0026 };
0027 };
0028
0029 struct SF_Key {
0030 public:
0031 const ATOOLS::Mass_Selector *&p_ms;
0032 const MODEL::Single_Vertex *p_v;
0033 int m_mode, m_kfmode, m_ewmode, m_col;
0034 cstp::code m_type;
0035 SF_Coupling *p_cf;
0036 std::pair<double, double> m_pdfmin;
0037 public:
0038 inline SF_Key(const ATOOLS::Mass_Selector *&ms,
0039 const MODEL::Single_Vertex *v,
0040 const int mode,const cstp::code type,
0041 const int kfmode,const int ewmode,const int col,
0042 std::pair<double, double>& pdfmin):
0043 p_ms(ms), p_v(v), m_mode(mode), m_kfmode(kfmode),
0044 m_ewmode(ewmode), m_col(col), m_type(type),
0045 p_cf(NULL), m_pdfmin{ pdfmin } {}
0046 std::string ID(const int mode) const;
0047 };
0048
0049 std::ostream &operator<<(std::ostream &str,const SF_Key &k);
0050
0051 }
0052
0053 #endif