9 #ifndef ThePEG_HelicityVertex_H
10 #define ThePEG_HelicityVertex_H
13 #include "HelicityVertex.fh"
14 #include "ThePEG/EventRecord/EventConfig.h"
15 #include "ThePEG/Utilities/ClassDescription.h"
16 #include "RhoDMatrix.h"
17 #include "ThePEG/Utilities/Rebinder.h"
18 #include "ThePEG/Helicity/HelicityDefinitions.h"
108 assert( loc <
int(
_incoming.size()) && loc >= 0 );
116 assert( loc <
int(
_outgoing.size()) && loc >= 0 );
166 os <<
"the incoming particles at the vertex are" << endl;
167 for(
unsigned int ix=0;ix<vert.
_incoming.size();++ix) {
168 os <<
"the " << ix <<
" th incoming particle " << vert.
_incoming[ix] <<
"\n";
170 os <<
"the outgoing particles at the vertex are" << endl;
171 for(
unsigned int ix=0;ix<vert.
_outgoing.size();++ix) {
172 os <<
"the " << ix <<
" th outgoing particle " << vert.
_outgoing[ix] <<
"\n";
189 struct BaseClassTrait<
ThePEG::HelicityVertex,1>
190 :
public ClassTraitsType {
200 struct ClassTraits<
ThePEG::HelicityVertex>
201 :
public ClassTraitsBase<ThePEG::HelicityVertex> {
205 static string className() {
return "ThePEG::HelicityVertex"; }
SpinVector _outgoing
Pointers to the outgoing particle spins at the vertex.
void resetOutgoing(tcSpinPtr spin, int loc)
Reset the spin of the outgoing particle at position loc.
static AbstractNoPIOClassDescription< HelicityVertex > initHelicityVertex
Describe an abstract base class without persistent data.
void addOutgoing(tcSpinPtr spin, int &loc)
Add the spin of an outgoing particle.
EventInfoBase is a base class for information objects.
HelicityVertex & operator=(const HelicityVertex &)
Private and non-existent assignment operator.
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
virtual RhoDMatrix getDMatrix(int loc) const =0
Get the D matrix for the incoming particle at position loc.
Rebinder is a class associating pairs of pointers to objects.
This is the main namespace within which all identifiers in ThePEG are declared.
virtual RhoDMatrix getRhoMatrix(int loc, bool recursive) const =0
Get the rho matrix for the outgoing particle at position loc.
SpinVector _incoming
Pointers to the incoming particle spins at the vertex.
vector< tcSpinPtr > SpinVector
A vector of SpinInfo objects.
A concreate implementation of ClassDescriptionBase describing an abstract class without persistent da...
virtual void rebind(const EventTranslationMap &trans)
Rebind to cloned objects.
The HelicityVertex class is designed to store the helicity amplitude expression for the matrix elemen...
void addIncoming(tcSpinPtr spin, int &loc)
Add the spin of an incoming particle.
const SpinVector & incoming() const
Access the spin of the incoming particles.
vector< T > & operator<<(vector< T > &tv, const U &u)
Overload the left shift operator for vector to push_back objects to a vector.
static string className()
Return the name of class T.
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
static void Init()
Standard Init function.
The RhoDMatrix class is designed to implement the storage of the rho and D matrices which are require...
void resetIncoming(tcSpinPtr spin, int loc)
Reset the spin of the incoming particle at position loc.
const SpinVector & outgoing() const
Access the spin of the outgoing particles.
friend ostream & operator<<(ostream &os, const HelicityVertex &vert)
Output the spin density matrix for debugging purposes.