herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
11 namespace Herwig {
12 
13 using namespace ThePEG;
14 
22 
23 public:
24 
28  BSMModel();
29 
30 public:
31 
38  void persistentOutput(PersistentOStream & os) const;
39 
45  void persistentInput(PersistentIStream & is, int version);
47 
54  static void Init();
55 
56 protected:
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 
124 protected:
125 
133  virtual void doinit();
135 
139  virtual bool preInitialize() const {
140  return true;
141  }
142 
143 private:
144 
149  BSMModel & operator=(const BSMModel &) = delete;
150 
151 private:
152 
156  string decayFile_;
157 
162 
168 
172  double tolerance_;
173 
177  map<long,long> idMap_;
178 
183 
184 };
185 
186 }
187 
188 #endif /* Herwig_BSMModel_H */
void decayFile(string in)
Set name of SLHA decay file.
Definition: BSMModel.h:66
map< long, long > & idMap()
Map of PDG ids from file to those used internally.
Definition: BSMModel.h:111
bool allowedToResetSMWidths_
Whether or not to allow the width of SM particles to be reset.
Definition: BSMModel.h:182
map< long, long > idMap_
Map of ids from files to those used by Herwig.
Definition: BSMModel.h:177
virtual bool preInitialize() const
Overloaded function from Interfaced.
Definition: BSMModel.h:139
void readDecays(bool in)
set the reading of the decays
Definition: BSMModel.h:106
This is the Herwig StandardModel class which inherits from ThePEG Standard Model class and implements...
Definition: StandardModel.h:39
PDPtr getBSMParticleData(PID id) const
Get ParticleData object with Id mapping.
Definition: BSMModel.h:116
const string & decayFile() const
Get name of SLHA decay file.
Definition: BSMModel.h:61
bool readDecays() const
read the decays
Definition: BSMModel.h:101
Here is the documentation of the BSMModel class.
Definition: BSMModel.h:21
double tolerance_
Tolerance for branching ratios.
Definition: BSMModel.h:172
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
-*- C++ -*-
string decayFile_
Name of the decay file.
Definition: BSMModel.h:156
bool readDecays_
Read the decays from the file.
Definition: BSMModel.h:161
bool topModesFromFile_
Whether or not to replace the top decay modes with those from the SLHA files.
Definition: BSMModel.h:167