Page MenuHomeHEPForge

SU3BaryonOctetOctetPhotonDecayer.icc
No OneTemporary

SU3BaryonOctetOctetPhotonDecayer.icc

// -*- C++ -*-
//
// This is the implementation of the inlined member functions of
// the SU3OctetOctetPhotonDecayer class.
//
namespace Herwig {
using namespace ThePEG;
inline SU3BaryonOctetOctetPhotonDecayer::SU3BaryonOctetOctetPhotonDecayer()
{
// default values of the parameters
// these are the values for first excited multiplet
// the couplings of the anticommutator and communtator terms
_lf=-0.009/GeV;
_ld=-0.024/GeV;
// the relative parities of the two baryon multiplets
_parity=true;
// PDG codes for the various ground state baryons
_proton = 2212;
_neutron = 2112;
_sigma0 = 3212;
_sigmap = 3222;
_sigmam = 3112;
_lambda = 3122;
_xi0 = 3322;
_xim = 3312;
// PDG codes for the various excited baryons
_eproton = 12212;
_eneutron = 12112;
_esigma0 = 13212;
_esigmap = 13222;
_esigmam = 13112;
_elambda = 23122;
_exi0 = 13322;
_exim = 13312;
// intermediates
generateIntermediates(false);
}
inline SU3BaryonOctetOctetPhotonDecayer::SU3BaryonOctetOctetPhotonDecayer(const SU3BaryonOctetOctetPhotonDecayer & x)
: Baryon1MesonDecayerBase(x), _lf(x._lf),_ld(x._ld), _parity(x._parity),
_proton(x._proton),_neutron(x._neutron),_sigma0(x._sigma0),_sigmap(x._sigmap),
_sigmam(x._sigmam),_lambda(x._lambda),_xi0(x._xi0),_xim(x._xim),
_eproton(x._eproton),_eneutron(x._eneutron),_esigma0(x._esigma0),
_esigmap(x._esigmap), _esigmam(x._esigmam),_elambda(x._elambda),_exi0(x._exi0),
_exim(x._exim), _incomingB(x._incomingB),_outgoingB(x._outgoingB),
_maxweight(x._maxweight), _prefactor(x._prefactor) {}
inline IBPtr SU3BaryonOctetOctetPhotonDecayer::clone() const {
return new_ptr(*this);
}
inline IBPtr SU3BaryonOctetOctetPhotonDecayer::fullclone() const {
return new_ptr(*this);
}
inline void SU3BaryonOctetOctetPhotonDecayer::doupdate() throw(UpdateException) {
Baryon1MesonDecayerBase::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 SU3BaryonOctetOctetPhotonDecayer::doinit() throw(InitException) {
Baryon1MesonDecayerBase::doinit();
// set up the decay modes
setupModes(1);
// set up the phase space and the couplings
PDVector extpart(3);
DecayPhaseSpaceModePtr mode;
double wgtmax;
vector<double> wgt(0);
for(unsigned int ix=0;ix<_incomingB.size();++ix)
{
extpart[0]=getParticleData(_incomingB[ix]);
extpart[1]=getParticleData(_outgoingB[ix]);
extpart[2]=getParticleData(ParticleID::gamma);
mode=new_ptr(DecayPhaseSpaceMode(extpart,this));
if(_maxweight.size()>numberModes()){wgtmax=_maxweight[numberModes()];}
else{wgtmax=1.;}
addMode(mode,wgtmax,wgt);
}
}
inline void SU3BaryonOctetOctetPhotonDecayer::dofinish() {
Baryon1MesonDecayerBase::dofinish();
}
inline void SU3BaryonOctetOctetPhotonDecayer::doinitrun() {
Baryon1MesonDecayerBase::doinitrun();
if(initialize())
{
_maxweight.resize(0);
for(unsigned int ix=0;ix<numberModes();++ix)
{_maxweight.push_back(mode(ix)->maxWeight());}
}
}
inline void SU3BaryonOctetOctetPhotonDecayer::rebind(const TranslationMap & trans)
throw(RebindException) {
// dummy = trans.translate(dummy);
Baryon1MesonDecayerBase::rebind(trans);
}
inline IVector SU3BaryonOctetOctetPhotonDecayer::getReferences() {
IVector ret = Baryon1MesonDecayerBase::getReferences();
// ret.push_back(dummy);
return ret;
}
}

File Metadata

Mime Type
text/plain
Expires
Sat, May 3, 6:51 AM (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4983158
Default Alt Text
SU3BaryonOctetOctetPhotonDecayer.icc (3 KB)

Event Timeline