herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
ShowerVertex.h
1 // -*- C++ -*-
2 //
3 // ShowerVertex.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_ShowerVertex_H
10 #define HERWIG_ShowerVertex_H
11 //
12 // This is the declaration of the ShowerVertex class.
13 //
14 
15 #include "ThePEG/EventRecord/HelicityVertex.h"
16 #include "Herwig/Decay/DecayMatrixElement.h"
17 #include "ShowerVertex.fh"
18 
19 namespace Herwig {
20 
21 using namespace ThePEG;
22 
41 
42 public:
43 
47  ShowerVertex() : convertIn_(false), convertOut_(2,false), outMatrix_(2,RhoDMatrix())
48  {}
49 
50 public:
51 
59  inline const DecayMEPtr ME() const {
60  return matrixElement_;
61  }
62 
66  inline void ME(DecayMEPtr in) const {
67  matrixElement_ = in;
68  }
70 
74  inline void incomingBasisTransform(RhoDMatrix conv) {
75  convertIn_ = true;
76  inMatrix_ = conv;
77  }
78 
79 public:
80 
85  virtual RhoDMatrix getRhoMatrix(int iprod, bool ) const;
86 
91  virtual RhoDMatrix getDMatrix(int) const;
92 
96  RhoDMatrix mapIncoming(RhoDMatrix rho) const;
97 
98 public:
99 
106  static void Init();
107 
108 private:
109 
114  ShowerVertex & operator=(const ShowerVertex &) = delete;
115 
116 private:
117 
121  mutable DecayMEPtr matrixElement_;
122 
127 
131  vector<bool> convertOut_;
132 
137 
138 
142  vector<RhoDMatrix> outMatrix_;
143 
144 };
145 }
146 
147 #endif /* HERWIG_ShowerVertex_H */
const DecayMEPtr ME() const
Access to the matrix element.
Definition: ShowerVertex.h:59
void incomingBasisTransform(RhoDMatrix conv)
Set the change of basis for the incoming particle.
Definition: ShowerVertex.h:74
ShowerVertex()
Default constructor.
Definition: ShowerVertex.h:47
bool convertIn_
Whether or not the incoming spin density matrices need to be converted.
Definition: ShowerVertex.h:126
DecayMEPtr matrixElement_
Storage of the decay matrix element.
Definition: ShowerVertex.h:121
vector< bool > convertOut_
Whether or not the outgoing spin density matrices need to be converted.
Definition: ShowerVertex.h:131
vector< RhoDMatrix > outMatrix_
Storage of conversion for outgoing particles.
Definition: ShowerVertex.h:142
RhoDMatrix inMatrix_
Storage of conversion for incoming particle.
Definition: ShowerVertex.h:136
void ME(DecayMEPtr in) const
Set the matrix element.
Definition: ShowerVertex.h:66
-*- C++ -*-