herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
RunningMass.h
1 // -*- C++ -*-
2 //
3 // RunningMass.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2019 The Herwig Collaboration
5 //
6 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef HERWIG_RunningMass_H
10 #define HERWIG_RunningMass_H
11 //
12 // This is the declaration of the RunningMass class.
13 
14 #include "RunningMassBase.h"
15 #include "StandardModel.h"
16 
17 namespace Herwig {
18 using namespace ThePEG;
19 
27 
28 public:
29 
33  RunningMass() : _theQCDOrder(1), _theMaxFlav(6), _lightOption(1), _heavyOption(0) {}
34 
35 public:
36 
42  virtual Energy value(Energy2 q2,tcPDPtr part) const;
43 
47  virtual vector<Energy> mass() const;
48 
49 public:
50 
57  void persistentOutput(PersistentOStream & os) const;
58 
64  void persistentInput(PersistentIStream & is, int version);
66 
70  static void Init();
71 
72 protected:
73 
80  virtual IBPtr clone() const {return new_ptr(*this);}
81 
86  virtual IBPtr fullclone() const {return new_ptr(*this);}
88 
89 protected:
90 
98  virtual void doinit();
100 
101 private:
102 
106  RunningMass & operator=(const RunningMass &) = delete;
107 
108 private:
109 
113  unsigned int _theQCDOrder;
114 
118  unsigned int _theMaxFlav;
119 
123  vector<double> _thePower;
124 
128  vector<double> _theCoefficient;
129 
134 
138  unsigned int _lightOption;
139 
143  unsigned int _heavyOption;
144 
145 };
146 
147 }
148 
149 
150 #endif /* HERWIG_RunningMass_H */
Implementation of the 1 or 2 loop QCD running mass.
Definition: RunningMass.h:26
unsigned int _lightOption
Option to use pole masses for u,d,s.
Definition: RunningMass.h:138
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
RunningMass()
Default constructor.
Definition: RunningMass.h:33
unsigned int _theQCDOrder
Order in alphaS.
Definition: RunningMass.h:113
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: RunningMass.h:86
ThePEG::Ptr< StandardModelBase >::transient_const_pointer tcSMPtr
vector< double > _theCoefficient
The coefficients for the running mass calculation.
Definition: RunningMass.h:128
unsigned int _theMaxFlav
The maximum number of flavours.
Definition: RunningMass.h:118
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: RunningMass.h:80
tcSMPtr _theStandardModel
Pointer to the StandardModel object.
Definition: RunningMass.h:133
vector< double > _thePower
The power for the running mass calculation.
Definition: RunningMass.h:123
unsigned int _heavyOption
Option to use pole masses for c,b.
Definition: RunningMass.h:143
-*- C++ -*-
Base class for running mass calculations.