herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
19namespace Herwig {
20using namespace ThePEG;
21
31
32public:
33
38
46
52 void persistentInput(PersistentIStream & is, int version);
54
61 static void Init();
62
63protected:
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
84protected:
85
92 virtual IBPtr clone() const;
93
98 virtual IBPtr fullclone() const;
100
101private:
102
108
109private:
110
115 vector<pair<tcDMPtr, tcGeneralTwoBodyDecayerPtr> > theModes;
116};
117
121 class BSMWidthException : public Exception {};
122
123}
124
125#endif /* HERWIG_BSMWidthGenerator_H */
An exception class to report an error.
This class is designed to be able to calculate the running width for a BSM particle given the decay m...
virtual IBPtr clone() const
Make a simple clone of this object.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual void setupMode(tcDMPtr mode, tDecayIntegratorPtr decayer, unsigned int imode)
Perform the set up for a mode in classes inheriting from this one.
virtual Energy partial2BodyWidth(int iloc, Energy m0, Energy m1, Energy m2) const
The width for outgoing particles which can be off-shell.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
BSMWidthGenerator & operator=(const BSMWidthGenerator &)=delete
The assignment operator is private and must never be called.
static void Init()
The standard Init function used to initialize the interfaces.
BSMWidthGenerator()
The default constructor.
vector< pair< tcDMPtr, tcGeneralTwoBodyDecayerPtr > > theModes
A vector decay modes with their associated decayer cast to GeneralTwoBodyDecayer.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
The GenericWidthGenerator class is designed to automatically calculate the running width for a given ...
-*- C++ -*-
ThePEG::Ptr< DecayMode >::transient_const_pointer tcDMPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr