Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef MCATNLO_Showers_Splitting_Function_Group_H
0002 #define MCATNLO_Showers_Splitting_Function_Group_H
0003 
0004 #include "MCATNLO/Showers/Splitting_Function_Base.H"
0005 #include <list>
0006 
0007 namespace MCATNLO {
0008   class Splitting_Function_Group : public Splitting_Function_Base {
0009   protected:
0010     std::vector<Splitting_Function_Base *>           m_splittings;
0011     std::vector<Splitting_Function_Base *>::iterator m_splitter;
0012     Splitting_Function_Base *            p_selected;
0013     std::vector<double> m_partint;
0014   public:
0015     Splitting_Function_Group(): p_selected(NULL) {}
0016 
0017     virtual ~Splitting_Function_Group();
0018     virtual void Add(Splitting_Function_Base *);
0019     virtual void SelectOne();
0020 
0021     virtual double operator() (const double,const double,const double,
0022                    const double,const double,const Color_Info &ci,
0023                    ATOOLS::Cluster_Amplitude*const);
0024     virtual double OverIntegrated(const double,const double,const double,const double);
0025     virtual double Overestimated(const double,const double);
0026     virtual double RejectionWeight(const double,const double,
0027                    const double eta,const double scale,const double Q2);
0028     virtual double Z();
0029     virtual void ResetLastInt();
0030     virtual void ClearSpecs();
0031 
0032     virtual const ATOOLS::Flavour & GetFlavourA() const    { return p_selected->GetFlavourA(); }
0033     virtual const ATOOLS::Flavour & GetFlavourB() const    { return p_selected->GetFlavourB(); }
0034     virtual const ATOOLS::Flavour & GetFlavourC() const    { return p_selected->GetFlavourC(); }
0035     virtual const ATOOLS::Flavour & GetFlavourSpec() const { return p_selected->GetFlavourSpec(); }
0036 
0037     virtual int GetCol() const { return p_selected->GetCol(); }
0038 
0039     inline Splitting_Function_Base *Selected() const { return p_selected; }
0040 
0041     friend std::ostream& operator<<(std::ostream &,Splitting_Function_Group &);
0042   };
0043   std::ostream& operator<<(std::ostream &,Splitting_Function_Group &);
0044 }
0045 
0046 #endif