Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F19244325
PScalarVectorVectorDecayer.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
PScalarVectorVectorDecayer.icc
View Options
// -*- C++ -*-
//
// This is the implementation of the inlined member functions of
// the PScalarVectorVectorDecayer class.
//
namespace Herwig {
using namespace ThePEG;
inline PScalarVectorVectorDecayer::PScalarVectorVectorDecayer(const PScalarVectorVectorDecayer & x)
: DecayIntegrator(x), _incoming(x._incoming), _outgoing1(x._outgoing1),
_outgoing2(x._outgoing2), _coupling(x._coupling), _maxweight(x._maxweight),
_initsize(x._initsize) {}
inline IBPtr PScalarVectorVectorDecayer::clone() const {
return new_ptr(*this);
}
inline IBPtr PScalarVectorVectorDecayer::fullclone() const {
return new_ptr(*this);
}
inline void PScalarVectorVectorDecayer::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 PScalarVectorVectorDecayer::doinit() throw(InitException) {
DecayIntegrator::doinit();
// check the parameters arew consistent
unsigned int isize(_coupling.size());
if(isize!=_incoming.size() || isize!=_outgoing1.size()||
isize!=_outgoing2.size() || isize!=_maxweight.size())
{throw InitException() << "Inconsistent parameters in PScalarVectorVectorDecayer"
<< 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(_outgoing1[ix]);
extpart[2] = getParticleData(_outgoing2[ix]);
mode = new_ptr(DecayPhaseSpaceMode(extpart,this));
addMode(mode,_maxweight[ix],wgt);
}
}
inline void PScalarVectorVectorDecayer::dofinish() {
DecayIntegrator::dofinish();
}
inline void PScalarVectorVectorDecayer::doinitrun() {
DecayIntegrator::doinitrun();
if(initialize())
{for(unsigned int ix=0;ix<_incoming.size();++ix)
{_maxweight[ix] = mode(ix)->maxWeight();}}
}
inline void PScalarVectorVectorDecayer::rebind(const TranslationMap & trans)
throw(RebindException) {
// dummy = trans.translate(dummy);
DecayIntegrator::rebind(trans);
}
inline IVector PScalarVectorVectorDecayer::getReferences() {
IVector ret = DecayIntegrator::getReferences();
// ret.push_back(dummy);
return ret;
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Sep 30, 4:41 AM (8 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6561766
Default Alt Text
PScalarVectorVectorDecayer.icc (2 KB)
Attached To
Mode
rHERWIGHG herwighg
Attached
Detach File
Event Timeline
Log In to Comment