herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
RunningMassBase.h
1 // -*- C++ -*-
2 //
3 // RunningMassBase.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_RunningMassBase_H
10 #define HERWIG_RunningMassBase_H
11 //
12 // This is the declaration of the RunningMassBase class.
13 
14 #include "ThePEG/Interface/Interfaced.h"
15 #include "ThePEG/StandardModel/StandardModelBase.h"
16 
17 namespace Herwig {
18 using namespace ThePEG;
19 
24 class RunningMassBase: public Interfaced {
25 
26 public:
27 
33  virtual Energy value(Energy2 q2,tcPDPtr part) const = 0;
34 
38  virtual vector<Energy> mass() const = 0;
39 
44  Energy massElement(unsigned int i) const {return _theMass[i];}
45 
46 public:
47 
54  void persistentOutput(PersistentOStream & os) const;
55 
61  void persistentInput(PersistentIStream & is, int version);
63 
67  static void Init();
68 
69 protected:
70 
78  virtual void doinit();
80 
81 private:
82 
86  RunningMassBase & operator=(const RunningMassBase &) = delete;
87 
88 private:
89 
93  vector<Energy> _theMass;
94 
95 };
96 
97 }
98 
99 #endif /* HERWIG_RunningMassBase_H */
Energy massElement(unsigned int i) const
Return the th element of the mass array.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
-*- C++ -*-
Base class for running mass calculations.
vector< Energy > _theMass
Flavour thresholds and the masses, set at initialization.