Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F19251487
PScalarPScalarVectorDecayer.icc
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
PScalarPScalarVectorDecayer.icc
View Options
// -*- C++ -*-
//
// This is the implementation of the inlined member functions of
// the PScalarPScalarVectorDecayer class.
//
namespace Herwig {
using namespace ThePEG;
inline PScalarPScalarVectorDecayer::PScalarPScalarVectorDecayer(const PScalarPScalarVectorDecayer & x)
: DecayIntegrator(x), _incoming(x._incoming), _outgoingP(x._outgoingP),
_outgoingV(x._outgoingV), _coupling(x._coupling), _maxweight(x._maxweight),
_initsize(x._initsize) {}
inline IBPtr PScalarPScalarVectorDecayer::clone() const {
return new_ptr(*this);
}
inline IBPtr PScalarPScalarVectorDecayer::fullclone() const {
return new_ptr(*this);
}
inline void PScalarPScalarVectorDecayer::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 PScalarPScalarVectorDecayer::doinit() throw(InitException) {
DecayIntegrator::doinit();
// check the parameters arew consistent
unsigned int isize=_coupling.size();
if(isize!=_incoming.size() || isize!=_outgoingP.size()||
isize!=_outgoingV.size() || isize!=_maxweight.size())
{throw InitException() << "Inconsistent parameters in PScalarPScalarVectorDecayer"
<< 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(_outgoingP[ix]);
extpart[2] = getParticleData(_outgoingV[ix]);
mode = new DecayPhaseSpaceMode(extpart,this);
addMode(mode,_maxweight[ix],wgt);
}
}
inline void PScalarPScalarVectorDecayer::dofinish() {
DecayIntegrator::dofinish();
}
inline void PScalarPScalarVectorDecayer::doinitrun() {
DecayIntegrator::doinitrun();
if(initialize())
{for(unsigned int ix=0;ix<_incoming.size();++ix)
{_maxweight[ix] = mode(ix)->maxWeight();}}
}
inline void PScalarPScalarVectorDecayer::rebind(const TranslationMap & trans)
throw(RebindException) {
// dummy = trans.translate(dummy);
DecayIntegrator::rebind(trans);
}
inline IVector PScalarPScalarVectorDecayer::getReferences() {
IVector ret = DecayIntegrator::getReferences();
// ret.push_back(dummy);
return ret;
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Sep 30, 5:56 AM (1 d, 15 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6564044
Default Alt Text
PScalarPScalarVectorDecayer.icc (2 KB)
Attached To
Mode
rHERWIGHG herwighg
Attached
Detach File
Event Timeline
Log In to Comment