Page MenuHomeHEPForge

ScalarMesonTensorScalarDecayer.icc
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

ScalarMesonTensorScalarDecayer.icc

// -*- C++ -*-
//
// This is the implementation of the inlined member functions of
// the ScalarMesonTensorScalarDecayer class.
//
namespace Herwig {
using namespace ThePEG;
inline ScalarMesonTensorScalarDecayer::ScalarMesonTensorScalarDecayer(const ScalarMesonTensorScalarDecayer & x)
: DecayIntegrator(x), _incoming(x._incoming), _outgoingT(x._outgoingT),
_outgoingS(x._outgoingS), _coupling(x._coupling), _maxweight(x._maxweight),
_initsize(x._initsize) {}
inline IBPtr ScalarMesonTensorScalarDecayer::clone() const {
return new_ptr(*this);
}
inline IBPtr ScalarMesonTensorScalarDecayer::fullclone() const {
return new_ptr(*this);
}
inline void ScalarMesonTensorScalarDecayer::doupdate() throw(UpdateException) {
DecayIntegrator::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 ScalarMesonTensorScalarDecayer::doinit() throw(InitException) {
DecayIntegrator::doinit();
// check the parameters arew consistent
unsigned int isize=_coupling.size();
if(isize!=_incoming.size() || isize!=_outgoingT.size()||
isize!=_outgoingS.size() || isize!=_maxweight.size())
{throw InitException() << "Inconsistent parameters in "
<< "ScalarMesonTensorScalarDecayer"
<< Exception::abortnow;}
// set up the integration channels
vector<double> wgt;
DecayPhaseSpaceModePtr mode;
PDVector extpart(3);
for(unsigned int ix=0;ix<_incoming.size();++ix)
{
extpart[0] = getParticleData(_incoming[ix]);
extpart[1] = getParticleData(_outgoingT[ix]);
extpart[2] = getParticleData(_outgoingS[ix]);
mode = new DecayPhaseSpaceMode(extpart,this);
addMode(mode,_maxweight[ix],wgt);
}
}
inline void ScalarMesonTensorScalarDecayer::dofinish() {
DecayIntegrator::dofinish();
}
inline void ScalarMesonTensorScalarDecayer::doinitrun() {
DecayIntegrator::doinitrun();
if(initialize())
{for(unsigned int ix=0;ix<_incoming.size();++ix)
{_maxweight[ix] = mode(ix)->maxWeight();}}
}
inline void ScalarMesonTensorScalarDecayer::rebind(const TranslationMap & trans)
throw(RebindException) {
// dummy = trans.translate(dummy);
DecayIntegrator::rebind(trans);
}
inline IVector ScalarMesonTensorScalarDecayer::getReferences() {
IVector ret = DecayIntegrator::getReferences();
// ret.push_back(dummy);
return ret;
}
}

File Metadata

Mime Type
text/plain
Expires
Tue, Sep 30, 4:42 AM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6564786
Default Alt Text
ScalarMesonTensorScalarDecayer.icc (2 KB)

Event Timeline