Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef DIRE__Shower__Gauge_H
0002 #define DIRE__Shower__Gauge_H
0003 
0004 #include "ATOOLS/Org/Getter_Function.H"
0005 #include "DIRE/Tools/Kernel_Key.H"
0006 #include "DIRE/Tools/Splitting.H"
0007 
0008 namespace DIRE {
0009 
0010   class Kernel;
0011   class Vertex;
0012 
0013   class Gauge {
0014   protected:
0015 
0016     Kernel *p_sk;
0017 
0018     int m_type;
0019 
0020   public:
0021 
0022     Gauge(const Kernel_Key &k);
0023 
0024     virtual ~Gauge();
0025 
0026     double Value(const Splitting &s) const;
0027     double Estimate(const Splitting &s) const;
0028 
0029     virtual double K(const Splitting &s) const;
0030     virtual double KMax(const Splitting &s) const;
0031 
0032     virtual double Nf(const Splitting &s) const;
0033     virtual double Scale(const Splitting &s) const = 0;
0034     virtual double TrueScale(const Splitting &s) const;
0035 
0036     virtual double Weight(const Splitting &s) const = 0;
0037     virtual double Charge(const Splitting &s) const = 0;
0038 
0039     virtual double Coupling(const Splitting &s) const = 0;
0040     virtual double RenCT(const Splitting &s) const = 0;
0041     virtual double CplMax(const Splitting &s) const = 0;
0042 
0043     virtual bool GeneratePoint(Splitting &s) const = 0;
0044     virtual int Construct(Splitting &s) const = 0;
0045     
0046     virtual bool Allowed(const Splitting &s) const = 0;
0047 
0048     virtual void SetLimits() = 0;
0049 
0050     virtual double Solve(const double &cpl) const = 0;
0051 
0052   };// end of class Gauge
0053 
0054   typedef ATOOLS::Getter_Function
0055   <Gauge,Kernel_Key,std::less<std::string> > Gauge_Getter;
0056 
0057 }// end of namepsace DIRE
0058 
0059 #endif