herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
Herwig::VectorMesonPVectorPScalarDecayer Class Reference

This class is designed for the decay of a vector meson to a pseudovector meson and a pseudoscalar meson. More...

#include <VectorMesonPVectorPScalarDecayer.h>

Inheritance diagram for Herwig::VectorMesonPVectorPScalarDecayer:

List of all members.

Public Member Functions

 VectorMesonPVectorPScalarDecayer ()
 Default constructor.
virtual int modeNumber (bool &cc, tcPDPtr parent, const tPDVector &children) const
 Which of the possible decays is required.
double me2 (const int ichan, const Particle &part, const ParticleVector &decay, MEOption meopt) const
 Return the matrix element squared for a given mode and phase-space channel.
virtual void dataBaseOutput (ofstream &os, bool header) const
 Output the setup information for the particle database.
bool twoBodyMEcode (const DecayMode &dm, int &mecode, double &coupling) const
 Specify the $1\to2$ matrix element to be used in the running width calculation.
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently.
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently.

Static Public Member Functions

static void Init ()
 Standard Init function used to initialize the interfaces.

Protected Member Functions

Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object.
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane.
Standard Interfaced functions.
virtual void doinit ()
 Initialize this object after the setup phase before saving and EventGenerator to disk.
virtual void doinitrun ()
 Initialize this object to the begining of the run phase.

Private Member Functions

VectorMesonPVectorPScalarDecayeroperator= (const VectorMesonPVectorPScalarDecayer &)
 Private and non-existent assignment operator.

Private Attributes

vector< InvEnergy > _coupling
 coupling for a decay
vector< int > _incoming
 PDG codes for the incoming particles.
vector< int > _outgoingA
 PDG codes for the outgoing pseudo-vector.
vector< int > _outgoingP
 PDG codes for the outgoing pseudoscalar mesons.
vector< double > _maxweight
 maximum weight for a decay
unsigned int _initsize
 Initial size of the vectors.
RhoDMatrix _rho
 Spin density matrix.
vector
< Helicity::LorentzPolarizationVector
_vectors [2]
 Polarization vectors for the incoming and outgoing ferimons.

Static Private Attributes

static ClassDescription
< VectorMesonPVectorPScalarDecayer
initVectorMesonPVectorPScalarDecayer
 Describe a concrete class with persistent data.

Detailed Description

This class is designed for the decay of a vector meson to a pseudovector meson and a pseudoscalar meson.

The current for the decay is

\[\mathcal{M}= g\left[ p_V \cdot p_0 \epsilon_V\cdot \epsilon_0 -p_V\cdot \epsilon_0 \epsilon_V \cdot p_0\right]\]

See also:
DecayIntegrator
The interfaces defined for VectorMesonPVectorPScalarDecayer.
Author:
Peter Richardson

Definition at line 35 of file VectorMesonPVectorPScalarDecayer.h.


Member Function Documentation

virtual IBPtr Herwig::VectorMesonPVectorPScalarDecayer::clone ( ) const [inline, protected, virtual]

Make a simple clone of this object.

Returns:
a pointer to the new object.

Implements ThePEG::InterfacedBase.

Definition at line 112 of file VectorMesonPVectorPScalarDecayer.h.

virtual void Herwig::VectorMesonPVectorPScalarDecayer::dataBaseOutput ( ofstream &  os,
bool  header 
) const [virtual]

Output the setup information for the particle database.

Parameters:
osThe stream to output the information to
headerWhether or not to output the information for MySQL

Reimplemented from Herwig::DecayIntegrator.

virtual void Herwig::VectorMesonPVectorPScalarDecayer::doinit ( ) [protected, virtual]

Initialize this object after the setup phase before saving and EventGenerator to disk.

Exceptions:
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::InterfacedBase.

virtual IBPtr Herwig::VectorMesonPVectorPScalarDecayer::fullclone ( ) const [inline, protected, virtual]

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns:
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

Definition at line 118 of file VectorMesonPVectorPScalarDecayer.h.

double Herwig::VectorMesonPVectorPScalarDecayer::me2 ( const int  ichan,
const Particle part,
const ParticleVector decay,
MEOption  meopt 
) const [virtual]

Return the matrix element squared for a given mode and phase-space channel.

Parameters:
ichanThe channel we are calculating the matrix element for.
partThe decaying Particle.
decayThe particles produced in the decay.
meoptOption for the calculation of the matrix element
Returns:
The matrix element squared for the phase-space configuration.

Implements Herwig::DecayIntegrator.

virtual int Herwig::VectorMesonPVectorPScalarDecayer::modeNumber ( bool &  cc,
tcPDPtr  parent,
const tPDVector children 
) const [virtual]

Which of the possible decays is required.

Parameters:
ccIs this mode the charge conjugate
parentThe decaying particle
childrenThe decay products

Implements Herwig::DecayIntegrator.

Function used to read in object persistently.

Parameters:
isthe persistent input stream read from.
versionthe version number of the object when written.

Reimplemented from Herwig::DecayIntegrator.

Function used to write out object persistently.

Parameters:
osthe persistent output stream written to.

Reimplemented from Herwig::DecayIntegrator.

bool Herwig::VectorMesonPVectorPScalarDecayer::twoBodyMEcode ( const DecayMode dm,
int &  mecode,
double &  coupling 
) const [virtual]

Specify the $1\to2$ matrix element to be used in the running width calculation.

Parameters:
dmThe DecayMode
mecodeThe code for the matrix element as described in the GenericWidthGenerator class, in this case 4.
couplingThe coupling for the matrix element.
Returns:
True or False if this mode can be handled.

Reimplemented from Herwig::DecayIntegrator.


The documentation for this class was generated from the following file: