herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
TTbAModelSU2XVertex.h
1 // -*- C++ -*-
2 //
3 // TTbAModelSU2XVertex.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2017 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_TTbAModelSU2XVertex_H
10 #define HERWIG_TTbAModelSU2XVertex_H
11 //
12 // This is the declaration of the TTbAModelSU2XVertex class.
13 
14 #include "ThePEG/Helicity/Vertex/Vector/FFVVertex.h"
15 #include "Herwig/Models/TTbAsymm/TTbAModel.h"
16 #include "ThePEG/PDT/EnumParticles.h"
17 
18 namespace Herwig {
19 using namespace ThePEG;
20 
30 
31 public:
32 
37 
45  virtual void setCoupling(Energy2 q2,tcPDPtr part1,tcPDPtr part2,tcPDPtr part3);
46 
47 public:
48 
55  void persistentOutput(PersistentOStream & os) const;
56 
62  void persistentInput(PersistentIStream & is, int version);
64 
68  static void Init();
69 
70 protected:
71 
78  virtual IBPtr clone() const;
79 
84  virtual IBPtr fullclone() const;
86 
87 protected:
88 
94  virtual void doinit();
95 
96 private:
97 
102 
106  TTbAModelSU2XVertex & operator=(const TTbAModelSU2XVertex &) = delete;
107 
112 
113 
114 private:
115 
120 
124  double _alphaX;
125 
126 
130  double _costhetaX;
131 
135  double _gX;
136 
137 
141  int _models;
142 
143 
145 };
146 
147 }
148 
149 namespace ThePEG {
150 
157 template <>
158 struct BaseClassTrait<Herwig::TTbAModelSU2XVertex,1> {
160  typedef ThePEG::Helicity::FFVVertex NthBase;
161 };
162 
167  template <>
168 
169 struct ClassTraits<Herwig::TTbAModelSU2XVertex>
170  : public ClassTraitsBase<Herwig::TTbAModelSU2XVertex> {
171 
175  static string className() { return "Herwig::TTbAModelSU2XVertex"; }
176 
177 };
178 
181 }
182 
183 
184 #endif /* HERWIG_TTbAModelSU2XVertex_H */
double _alphaX
Storage of the couplings.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
double _costhetaX
Misalignment angle cosine.
ThePEG::Ptr< StandardModelBase >::transient_const_pointer tcSMPtr
double _gX
coupling strength for the SU(2)_X gauge
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
This is the implementation of the vertex coupling the Standard Model Higgs to the Standard Model ferm...
static ClassDescription< TTbAModelSU2XVertex > initTTbAModelSU2XVertex
Describe a concrete class with persistent data.
-*- C++ -*-
tcSMPtr _theModel
Pointer to the model object.