Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F10881220
VectorMeson2FermionDecayer.icc
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
VectorMeson2FermionDecayer.icc
View Options
// -*- C++ -*-
//
// This is the implementation of the inlined member functions of
// the VectorMeson2FermionDecayer class.
//
namespace Herwig {
using namespace ThePEG;
inline VectorMeson2FermionDecayer::VectorMeson2FermionDecayer
(const VectorMeson2FermionDecayer & x)
: VectorMesonDecayerBase(x), _coupling(x._coupling), _incoming(x._incoming),
_outgoingf(x._outgoingf),_outgoinga(x._outgoinga), _maxweight(x._maxweight),
_initsize(x._initsize) {}
inline IBPtr VectorMeson2FermionDecayer::clone() const {
return new_ptr(*this);
}
inline IBPtr VectorMeson2FermionDecayer::fullclone() const {
return new_ptr(*this);
}
inline void VectorMeson2FermionDecayer::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 VectorMeson2FermionDecayer::doinit() throw(InitException) {
VectorMesonDecayerBase::doinit();
// check the parameters arew consistent
unsigned int isize=_coupling.size();
if(isize!=_incoming.size() || isize!=_outgoingf.size()||
isize!=_outgoinga.size() || isize!=_maxweight.size())
{throw InitException() << "Inconsistent parameters in VectorMeson2"
<< "FermionDecayer::doiin() " << Exception::runerror;}
// set up the integration channels
vector<double> wgt(0);
DecayPhaseSpaceModePtr mode;
PDVector extpart(3);
for(unsigned int ix=0;ix<_incoming.size();++ix)
{
extpart[0]=getParticleData(_incoming[ix]);
extpart[1]=getParticleData(_outgoingf[ix]);
extpart[2]=getParticleData(_outgoinga[ix]);
mode = new DecayPhaseSpaceMode(extpart,this);
addMode(mode,_maxweight[ix],wgt);
}
}
inline void VectorMeson2FermionDecayer::dofinish() {
VectorMesonDecayerBase::dofinish();
}
inline void VectorMeson2FermionDecayer::doinitrun() {
VectorMesonDecayerBase::doinitrun();
for(unsigned int ix=0;ix<_incoming.size();++ix)
{if(_Initialize){_maxweight[ix] = mode(ix)->maxWeight();}}
}
inline void VectorMeson2FermionDecayer::rebind(const TranslationMap & trans)
throw(RebindException) {
// dummy = trans.translate(dummy);
VectorMesonDecayerBase::rebind(trans);
}
inline IVector VectorMeson2FermionDecayer::getReferences() {
IVector ret = VectorMesonDecayerBase::getReferences();
// ret.push_back(dummy);
return ret;
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, May 3, 6:01 AM (1 d, 3 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4982909
Default Alt Text
VectorMeson2FermionDecayer.icc (2 KB)
Attached To
rHERWIGHG herwighg
Event Timeline
Log In to Comment