herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
BSMModel.h
1// -*- C++ -*-
2#ifndef Herwig_BSMModel_H
3#define Herwig_BSMModel_H
4//
5// This is the declaration of the BSMModel class.
6//
7
8#include "Herwig/Models/StandardModel/StandardModel.h"
9#include "ThePEG/Utilities/CFileLineReader.h"
10
11namespace Herwig {
12
13using namespace ThePEG;
14
22
23public:
24
29
30public:
31
39
45 void persistentInput(PersistentIStream & is, int version);
47
54 static void Init();
55
56protected:
57
61 const string & decayFile() const {return decayFile_;}
62
66 void decayFile(string in) {decayFile_ = in;}
67
71 void decayRead();
72
78 void readDecay(CFileLineReader & ifs, string decay) const;
79
86 void createDecayMode(string tag, double brat) const;
87
94 vector<pair<double,string> > createWZDecayModes(string tag, double brat,
95 tcPDPtr boson,
96 Energy maxMass) const;
97
101 bool readDecays() const {return readDecays_;}
102
106 void readDecays(bool in) {readDecays_=in;}
107
111 map<long,long> & idMap() {return idMap_;}
112
117 map<long,long>::const_iterator it = idMap_.find(id);
118 if(it==idMap_.end())
119 return getParticleData(id);
120 else
121 return getParticleData(it->second);
122 }
123
124protected:
125
133 virtual void doinit();
135
139 virtual bool preInitialize() const {
140 return true;
141 }
142
143private:
144
149 BSMModel & operator=(const BSMModel &) = delete;
150
151private:
152
157
162
168
173
177 map<long,long> idMap_;
178
183
184};
185
186}
187
188#endif /* Herwig_BSMModel_H */
Here is the documentation of the BSMModel class.
Definition: BSMModel.h:21
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
void createDecayMode(string tag, double brat) const
Create a DecayMode object in the repository.
vector< pair< double, string > > createWZDecayModes(string tag, double brat, tcPDPtr boson, Energy maxMass) const
Create a DecayMode object in the repository.
map< long, long > idMap_
Map of ids from files to those used by Herwig.
Definition: BSMModel.h:177
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
void readDecays(bool in)
set the reading of the decays
Definition: BSMModel.h:106
bool readDecays() const
read the decays
Definition: BSMModel.h:101
BSMModel()
The default constructor.
PDPtr getBSMParticleData(PID id) const
Get ParticleData object with Id mapping.
Definition: BSMModel.h:116
map< long, long > & idMap()
Map of PDG ids from file to those used internally.
Definition: BSMModel.h:111
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
void decayFile(string in)
Set name of SLHA decay file.
Definition: BSMModel.h:66
double tolerance_
Tolerance for branching ratios.
Definition: BSMModel.h:172
virtual bool preInitialize() const
Overloaded function from Interfaced.
Definition: BSMModel.h:139
void readDecay(CFileLineReader &ifs, string decay) const
Read decaymodes from LHA file.
BSMModel & operator=(const BSMModel &)=delete
The assignment operator is private and must never be called.
bool topModesFromFile_
Whether or not to replace the top decay modes with those from the SLHA files.
Definition: BSMModel.h:167
void decayRead()
Read the decays.
const string & decayFile() const
Get name of SLHA decay file.
Definition: BSMModel.h:61
bool readDecays_
Read the decays from the file.
Definition: BSMModel.h:161
bool allowedToResetSMWidths_
Whether or not to allow the width of SM particles to be reset.
Definition: BSMModel.h:182
static void Init()
The standard Init function used to initialize the interfaces.
string decayFile_
Name of the decay file.
Definition: BSMModel.h:156
This is the Herwig StandardModel class which inherits from ThePEG Standard Model class and implements...
Definition: StandardModel.h:39
PDPtr getParticleData(PID) const
-*- C++ -*-
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr