herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
BSMWidthGenerator.h
1 // -*- C++ -*-
2 //
3 // BSMWidthGenerator.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_BSMWidthGenerator_H
10 #define HERWIG_BSMWidthGenerator_H
11 //
12 // This is the declaration of the BSMWidthGenerator class.
13 //
14 
15 #include "Herwig/PDT/GenericWidthGenerator.h"
16 #include "Herwig/Decay/General/GeneralTwoBodyDecayer.fh"
17 #include "BSMWidthGenerator.fh"
18 
19 namespace Herwig {
20 using namespace ThePEG;
21 
31 
32 public:
33 
37  BSMWidthGenerator() : theModes(0) {}
38 
45  void persistentOutput(PersistentOStream & os) const;
46 
52  void persistentInput(PersistentIStream & is, int version);
54 
61  static void Init();
62 
63 protected:
64 
71  virtual void setupMode(tcDMPtr mode, tDecayIntegratorPtr decayer,
72  unsigned int imode);
73 
82  virtual Energy partial2BodyWidth(int iloc,Energy m0,Energy m1,Energy m2) const;
83 
84 protected:
85 
92  virtual IBPtr clone() const;
93 
98  virtual IBPtr fullclone() const;
100 
101 private:
102 
107  BSMWidthGenerator & operator=(const BSMWidthGenerator &) = delete;
108 
109 private:
110 
115  vector<pair<tcDMPtr, tcGeneralTwoBodyDecayerPtr> > theModes;
116 };
117 
121  class BSMWidthException : public Exception {};
122 
123 }
124 
125 #endif /* HERWIG_BSMWidthGenerator_H */
ThePEG::Ptr< DecayMode >::transient_const_pointer tcDMPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< pair< tcDMPtr, tcGeneralTwoBodyDecayerPtr > > theModes
A vector decay modes with their associated decayer cast to GeneralTwoBodyDecayer. ...
BSMWidthGenerator()
The default constructor.
The GenericWidthGenerator class is designed to automatically calculate the running width for a given ...
This class is designed to be able to calculate the running width for a BSM particle given the decay m...
An exception class to report an error.
-*- C++ -*-