Page MenuHomeHEPForge

VectorMesonVectorVectorDecayer.icc
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

VectorMesonVectorVectorDecayer.icc

// -*- C++ -*-
//
// This is the implementation of the inlined member functions of
// the VectorMesonVectorVectorDecayer class.
//
namespace Herwig {
using namespace ThePEG;
inline VectorMesonVectorVectorDecayer::
VectorMesonVectorVectorDecayer(const VectorMesonVectorVectorDecayer & x)
: VectorMesonDecayerBase(x), _coupling(x._coupling), _incoming(x._incoming),
_outgoing1(x._outgoing1), _outgoing2(x._outgoing2), _maxweight(x._maxweight),
_initsize(x._initsize)
{}
inline IBPtr VectorMesonVectorVectorDecayer::clone() const {
return new_ptr(*this);
}
inline IBPtr VectorMesonVectorVectorDecayer::fullclone() const {
return new_ptr(*this);
}
inline void VectorMesonVectorVectorDecayer::doupdate() throw(UpdateException) {
VectorMesonDecayerBase::doupdate();
// First update base class.
bool redo = touched();
// redo if touched.
// UpdateChecker::check(aDependentMember, redo);
// Update referenced objects on which this depends redo is set to true
// if the dependent object is touched.
// for_each(ContainerOfDependencies, UpdateChecker(redo));
// Update a container of references.
// for_each(MapOfDependencies, UpdateMapChecker(redo));
// Update a map of references.
if ( !redo ) return;
// return if nothing has been touched. Otherwise do the actual update.
// touch()
// Touch if anything has changed.
}
inline void VectorMesonVectorVectorDecayer::doinit() throw(InitException) {
VectorMesonDecayerBase::doinit();
unsigned int isize(_incoming.size());
if(isize!=_outgoing1.size()||isize!=_outgoing2.size()||
isize!=_maxweight.size()||isize!=_coupling.size())
{throw InitException() << "Inconsistent parameters in "
<< "VectorMesonVectorVectorDecayer" << Exception::runerror;}
// set up the integration channels
vector<double> wgt(1,1.);
PDVector extpart(3);
DecayPhaseSpaceModePtr mode;
for(unsigned int ix=0;ix<_incoming.size();++ix)
{
extpart[0]=getParticleData(_incoming[ix]);
extpart[1]=getParticleData(_outgoing1[ix]);
extpart[2]=getParticleData(_outgoing2[ix]);
mode = new_ptr(DecayPhaseSpaceMode(extpart,this));
addMode(mode,_maxweight[ix],wgt);
}
}
inline void VectorMesonVectorVectorDecayer::dofinish() {
VectorMesonDecayerBase::dofinish();
}
inline void VectorMesonVectorVectorDecayer::doinitrun() {
VectorMesonDecayerBase::doinitrun();
if(_Initialize)
{for(unsigned int ix=0;ix<_incoming.size();++ix)
{_maxweight[ix]=2.*mode(ix)->maxWeight();}}
}
inline void VectorMesonVectorVectorDecayer::rebind(const TranslationMap & trans)
throw(RebindException) {
// dummy = trans.translate(dummy);
VectorMesonDecayerBase::rebind(trans);
}
inline IVector VectorMesonVectorVectorDecayer::getReferences() {
IVector ret = VectorMesonDecayerBase::getReferences();
// ret.push_back(dummy);
return ret;
}
}

File Metadata

Mime Type
text/plain
Expires
Tue, Sep 30, 4:35 AM (1 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6564693
Default Alt Text
VectorMesonVectorVectorDecayer.icc (2 KB)

Event Timeline