Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F19251271
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
22 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/Decay/WeakCurrents/OmegaPiPiCurrent.cc b/Decay/WeakCurrents/OmegaPiPiCurrent.cc
--- a/Decay/WeakCurrents/OmegaPiPiCurrent.cc
+++ b/Decay/WeakCurrents/OmegaPiPiCurrent.cc
@@ -1,328 +1,314 @@
// -*- C++ -*-
//
// This is the implementation of the non-inlined, non-templated member
// functions of the OmegaPiPiCurrent class.
//
#include "OmegaPiPiCurrent.h"
#include "ThePEG/Interface/ClassDocumentation.h"
#include "ThePEG/Interface/Parameter.h"
#include "ThePEG/EventRecord/Particle.h"
#include "ThePEG/Repository/UseRandom.h"
#include "ThePEG/Repository/EventGenerator.h"
#include "ThePEG/Utilities/DescribeClass.h"
#include "ThePEG/Persistency/PersistentOStream.h"
#include "ThePEG/Persistency/PersistentIStream.h"
using namespace Herwig;
-OmegaPiPiCurrent::OmegaPiPiCurrent() :mRes_(1.62*GeV) {
+OmegaPiPiCurrent::OmegaPiPiCurrent() {
+ mRes_ = 1.67*GeV;
wRes_ = 0.288*GeV;
- gRes_ = 2.83;
+ gRes_ = 0.469*GeV;
+
mSigma_ = 0.6*GeV;
wSigma_ = 1.0*GeV;
- gSigma_ = 1.0;
mf0_ = 0.98*GeV;
- gPiPi_ = 0.331;
- gKK_ = 0.144;
- gf0_ = 0.85;
+ gSigma_ = 1.0 *GeV2;
+ gf0_ = 0.85*GeV2;
+ gPiPi_ = 0.165*GeV2;
+ gKK_ = 0.695*GeV2;
addDecayMode(1,-1);
addDecayMode(1,-1);
setInitialModes(2);
}
IBPtr OmegaPiPiCurrent::clone() const {
return new_ptr(*this);
}
IBPtr OmegaPiPiCurrent::fullclone() const {
return new_ptr(*this);
}
void OmegaPiPiCurrent::persistentOutput(PersistentOStream & os) const {
- os << ounit(mRes_,GeV) << ounit(wRes_,GeV) << gRes_
+ os << ounit(mRes_,GeV) << ounit(wRes_,GeV) << ounit(gRes_,GeV)
<< ounit(mSigma_,GeV) << ounit(wSigma_,GeV) << ounit(mf0_,GeV)
- << gPiPi_ << gKK_ << gSigma_ << gf0_;
+ << ounit(gPiPi_,GeV2) << ounit(gKK_,GeV2) << ounit(gSigma_,GeV2) << ounit(gf0_,GeV2);
}
void OmegaPiPiCurrent::persistentInput(PersistentIStream & is, int) {
- is >> iunit(mRes_,GeV) >> iunit(wRes_,GeV) >> gRes_
+ is >> iunit(mRes_,GeV) >> iunit(wRes_,GeV) >> iunit(gRes_,GeV)
>> iunit(mSigma_,GeV) >> iunit(wSigma_,GeV) >> iunit(mf0_,GeV)
- >> gPiPi_ >> gKK_ >> gSigma_ >> gf0_;
+ >> iunit(gPiPi_,GeV2) >> iunit(gKK_,GeV2) >> iunit(gSigma_,GeV2) >> iunit(gf0_,GeV2);
}
void OmegaPiPiCurrent::doinit() {
WeakCurrent::doinit();
}
// The following static variable is needed for the type
// description system in ThePEG.
DescribeClass<OmegaPiPiCurrent,WeakCurrent>
describeHerwigOmegaPiPiCurrent("Herwig::OmegaPiPiCurrent", "HwWeakCurrents.so");
void OmegaPiPiCurrent::Init() {
static ClassDocumentation<OmegaPiPiCurrent> documentation
("The OmegaPiPiCurrent class provides the current for I=0 omega pi pi");
static Parameter<OmegaPiPiCurrent,Energy> interfacemRes
("mRes",
"The mass of the s-channel resonance",
&OmegaPiPiCurrent::mRes_, GeV, 1.62*GeV, 0.*GeV, 10.*GeV,
false, false, Interface::limited);
static Parameter<OmegaPiPiCurrent,Energy> interfacewRes
("wRes",
"The width of the s-channel resonance",
&OmegaPiPiCurrent::wRes_, GeV, 0.288*GeV, 0.0*GeV, 10.0*GeV,
false, false, Interface::limited);
- static Parameter<OmegaPiPiCurrent,double> interfacegRes
+ static Parameter<OmegaPiPiCurrent,Energy> interfacegRes
("gRes",
"The coupling of the s-channel resonance",
- &OmegaPiPiCurrent::gRes_, 2.83, 0.0, 10.0,
+ &OmegaPiPiCurrent::gRes_, GeV, 2.83*GeV, 0.0*GeV, 10.0*GeV,
false, false, Interface::limited);
static Parameter<OmegaPiPiCurrent,Energy> interfacemSigma
("mSigma",
"The mass of the Sigma",
&OmegaPiPiCurrent::mSigma_, GeV, 0.6*GeV, 0.0*GeV, 10.0*GeV,
false, false, Interface::limited);
static Parameter<OmegaPiPiCurrent,Energy> interfacewSigma
("wSigma",
"The width of the Sigma",
&OmegaPiPiCurrent::wSigma_, GeV, 1.0*GeV, 0.0*GeV, 10.0*GeV,
false, false, Interface::limited);
-
- static Parameter<OmegaPiPiCurrent,double> interfacegSigma
+
+ static Parameter<OmegaPiPiCurrent,Energy2> interfacegSigma
("gSigma",
"The coupling of the Sigma resonance",
- &OmegaPiPiCurrent::gSigma_, 1.0, 0.0, 10.0,
+ &OmegaPiPiCurrent::gSigma_, GeV2, 1.0*GeV2, 0.0*GeV2, 10.0*GeV2,
false, false, Interface::limited);
static Parameter<OmegaPiPiCurrent,Energy> interfacemf0
("mf0",
"The mass of the f_0(980)",
&OmegaPiPiCurrent::mf0_, GeV, 0.98*GeV, 0.0*GeV, 10.0*GeV,
false, false, Interface::limited);
-
- static Parameter<OmegaPiPiCurrent,double> interfacegf0
+
+ static Parameter<OmegaPiPiCurrent,Energy2> interfacegf0
("gf0",
- "The coupling of the f_0(980) meson",
- &OmegaPiPiCurrent::gf0_, 0.85, 0.0, 10.0,
+ "The coupling of the f0(980) resonance",
+ &OmegaPiPiCurrent::gf0_, GeV2, 1.0*GeV2, 0.0*GeV2, 10.0*GeV2,
false, false, Interface::limited);
- static Parameter<OmegaPiPiCurrent,double> interfacegPiPi
+ static Parameter<OmegaPiPiCurrent,Energy2> interfacegPiPi
("gPiPi",
"The coupling of the f_0(980) to pipi",
- &OmegaPiPiCurrent::gPiPi_, .331, 0.0, 10.0,
+ &OmegaPiPiCurrent::gPiPi_, GeV2, 0.165*GeV2, 0.0*GeV2, 10.0*GeV2,
false, false, Interface::limited);
- static Parameter<OmegaPiPiCurrent,double> interfacegKK
+ static Parameter<OmegaPiPiCurrent,Energy2> interfacegKK
("gKK",
"The coupling of the f_0(980) to KK",
- &OmegaPiPiCurrent::gKK_, .144, 0.0, 10.0,
+ &OmegaPiPiCurrent::gKK_, GeV2, 0.695*GeV2, 0.0*GeV2, 10.0*GeV2,
false, false, Interface::limited);
-
}
// complete the construction of the decay mode for integration
bool OmegaPiPiCurrent::createMode(int icharge, tcPDPtr resonance,
FlavourInfo flavour,
unsigned int, PhaseSpaceModePtr mode,
unsigned int iloc,int ires,
PhaseSpaceChannel phase, Energy upp ) {
// check the charge
if(icharge!=0) return false;
// check the total isospin
if(flavour.I!=IsoSpin::IUnknown && flavour.I!=IsoSpin::IZero) return false;
// check I_3
if(flavour.I3!=IsoSpin::I3Unknown && flavour.I3!=IsoSpin::I3Zero) return false;
// and other flavour
if(flavour.strange != Strangeness::Unknown and flavour.strange != Strangeness::Zero) return false;
if(flavour.charm != Charm::Unknown and flavour.charm != Charm::Zero ) return false;
if(flavour.bottom != Beauty::Unknown and flavour.bottom !=Beauty::Zero ) return false;
// check that the mode is are kinematical allowed
Energy min = getParticleData(ParticleID::omega)->massMin()+
2.*getParticleData(ParticleID::pi0)->mass();
if(min>upp) return false;
// resonances for the intermediate channels
tPDVector res = {getParticleData(30223)};
tPDVector res2 = {getParticleData(9000221),getParticleData(9010221)};
// set up the integration channels;
for(unsigned int ix=0;ix<res.size();++ix) {
if(resonance && resonance!=res[ix]) continue;
for(unsigned int iy=0;iy<res2.size();++iy) {
mode->addChannel((PhaseSpaceChannel(phase),ires,res[ix],
ires+1,iloc+1,ires+1,res2[iy],ires+2,iloc+2,ires+2,iloc+3));
}
}
return true;
}
// the particles produced by the current
tPDVector OmegaPiPiCurrent::particles(int icharge, unsigned int imode,int,int) {
assert(icharge==0 && imode<=1);
if(imode==0)
return {getParticleData(ParticleID::omega),
getParticleData(ParticleID::piplus),
getParticleData(ParticleID::piminus)};
else if(imode==1)
return {getParticleData(ParticleID::omega),
getParticleData(ParticleID::pi0),
getParticleData(ParticleID::pi0)};
else
assert(false);
}
void OmegaPiPiCurrent::constructSpinInfo(ParticleVector decay) const {
vector<LorentzPolarizationVector> temp(3);
for(unsigned int ix=0;ix<3;++ix) {
temp[ix] = HelicityFunctions::polarizationVector(-decay[0]->momentum(),
ix,Helicity::outgoing);
}
VectorWaveFunction::constructSpinInfo(temp,decay[0],
outgoing,true,true);
for(unsigned int ix=1;ix<3;++ix)
ScalarWaveFunction::constructSpinInfo(decay[ix],outgoing,true);
}
// the hadronic currents
vector<LorentzPolarizationVectorE>
OmegaPiPiCurrent::current(tcPDPtr resonance,
FlavourInfo flavour,
const int, const int ichan, Energy & scale,
const tPDVector & ,
const vector<Lorentz5Momentum> & momenta,
DecayIntegrator::MEOption) const {
// no isospin/flavour here
if(flavour.I!=IsoSpin::IUnknown && flavour.I!=IsoSpin::IZero) return vector<LorentzPolarizationVectorE>();
if(flavour.I3!=IsoSpin::I3Unknown && flavour.I3!=IsoSpin::I3Zero) return vector<LorentzPolarizationVectorE>();
if(flavour.strange != Strangeness::Unknown and flavour.strange != Strangeness::Zero) return vector<LorentzPolarizationVectorE>();
if(flavour.charm != Charm::Unknown and flavour.charm != Charm::Zero ) return vector<LorentzPolarizationVectorE>();
if(flavour.bottom != Beauty::Unknown and flavour.bottom !=Beauty::Zero ) return vector<LorentzPolarizationVectorE>();
if(resonance and resonance->id()!=30223) return vector<LorentzPolarizationVectorE>();
useMe();
// polarization vectors of the omega
vector<LorentzPolarizationVector> temp(3);
for(unsigned int ix=0;ix<3;++ix) {
temp[ix] = HelicityFunctions::polarizationVector(-momenta[0],ix,Helicity::outgoing);
}
// total momentum of the system
Lorentz5Momentum q(momenta[0]+momenta[1]+momenta[2]);
// overall hadronic mass
q.rescaleMass();
scale=q.mass();
+ Complex ii(0.,1.);
Energy2 q2(q.m2());
// resonance factor for s channel resonance
Energy2 mR2=sqr(mRes_);
- Complex pre= mR2*gRes_/(q2-mR2 + Complex(0.,1.)*scale*wRes_);
- // compute the form factor
- complex<Energy> formFactor(ZERO);
+ complex<Energy> pre= mR2*gRes_/(q2-mR2 - ii*scale*wRes_);
+
+ //cerr << "pre factor " << scale/GeV << " " << q2/GeV2 << " " << pre/GeV << "\n";
+ // for(auto p : momenta) cerr << p/GeV << " " << p.m()/GeV << "\n";
- //formFactor = pre*scale*gSigma_;
-
- // needs to be multiplied by thing inside || in 1.9
- //cm energy for intermediate f0 channel
+
+ // virtual mass energy for intermediate f0 channel
Energy2 s1 = (momenta[1]+momenta[2]).m2();
Energy sqrs1 = sqrt(s1);
//sigma meson
Energy2 mSigma2 = sqr(mSigma_);
- Complex Sigma_form = mSigma2/(s1-mSigma2 + Complex(0.,1.)*sqrs1*wSigma_);
+ Complex Sigma_form = gSigma_/(mSigma2 -s1 - ii*sqrs1*wSigma_);
+
+ // compute the form factor
+ Energy2 mf02 = sqr(mf0_);
+ Energy mPi = getParticleData(211)->mass();
+ Energy2 mPi2 = sqr(mPi);
+
+ complex<Energy2> mGamma = gPiPi_*sqrt(max(0.,1.-4.*mPi2/s1));
+ // cerr << "testing pi " << mGamma/GeV2 << " " << gPiPi_/GeV2 << " " << sqrt(max(0.,1.-4.*mPi2/s1))<< "\n";
+ Energy2 mKp2 = sqr(getParticleData(321)->mass());
+ double val = 1.-4.*mKp2/s1;
+ if(val>=0.) mGamma += 0.5*gKK_* sqrt( val);
+ else mGamma += 0.5*gKK_*ii*sqrt(-val);
+ Energy2 mK02 = sqr(getParticleData(311)->mass());
+ val = 1.-4.*mK02/s1;
+ if(val>=0.) mGamma += 0.5*gKK_* sqrt( val);
+ else mGamma += 0.5*gKK_*ii*sqrt(-val);
- //f0(980) following Phys. Lett. B 63, 224 (1976)
- Energy2 mf02 = sqr(mf0_);
- Energy mPi = getParticleData(211)->mass();
- Energy2 mPi2 = sqr(mPi);
- Energy pcm_pipi = 0.5*sqrt(s1-4*mPi2);
- Energy pcm_f0 = 0.5*sqrt(mf0_*mf0_-4*mPi2);
- Energy GPiPi = gPiPi_*pcm_pipi;
- Energy G0 = gPiPi_*pcm_f0;
- Energy m_kaon0 = getParticleData(311)->mass();
- Energy2 m_kaon02 = sqr(m_kaon0);
- Energy m_kaonP = getParticleData(321)->mass();
- Energy2 m_kaonP2 = sqr(m_kaonP);
- Energy GKK;
- Complex f0_form;
- if(0.25*s1>m_kaon02){
- GKK = 0.5*gKK_*(sqrt(0.25*s1-m_kaon02)+sqrt(0.25*s1-m_kaonP2));
- f0_form = gf0_*mf0_*sqrt(G0*GPiPi)/(s1-mf02+Complex(0.,1.)*mf0_*(GPiPi+GKK));
- }
- else{
- if(0.25*s1>m_kaonP2){
- f0_form = gf0_*mf0_*sqrt(G0*GPiPi)/(s1-mf02+Complex(0.,1.)*mf0_*(GPiPi+0.5*gKK_*(Complex(0.,1.)*sqrt(m_kaon02-0.25*s1)+sqrt(0.25*s1-m_kaonP2))));
- }
- else{
- GKK = 0.5*gKK_*(sqrt(m_kaon02-0.25*s1)+sqrt(m_kaonP2-0.25*s1));
- f0_form = gf0_*mf0_*sqrt(G0*GPiPi)/(s1-mf02+Complex(0.,1.)*mf0_*(GPiPi+Complex(0.,1.)*GKK));
- }
- }
+ Complex f0_form = gf0_/(mf02-s1-Complex(0.,1.)*mGamma);
+ // cerr << "f0 pieces " << mGamma/GeV2 << "\n";
+ // cerr << "testing form factor " << s1/GeV2 << " " << f0_form << " " << Sigma_form << "\n";
+ complex<Energy> formFactor(ZERO);
if(ichan<0)
- formFactor = (Sigma_form+f0_form)*pre*scale*gSigma_;
+ formFactor = (Sigma_form+f0_form)*pre;
else if(ichan==0)
- formFactor = Sigma_form*pre*scale*gSigma_;
+ formFactor = Sigma_form*pre;
else if(ichan==1)
- formFactor = f0_form*pre*scale*gSigma_;
-// // loop over the resonances
-// for(unsigned int ix=imin;ix<imax;++ix) {
-// Energy2 mR2(sqr(resMasses_[ix]));
-// // compute the width
-// Energy width = resWidths_[ix];
-// formFactor += couplings_[ix]*mR2/(mR2-q2-Complex(0.,1.)*q.mass()*width);
-// }
-
+ formFactor = f0_form*pre;
// calculate the current
vector<LorentzPolarizationVectorE> ret(3);
for(unsigned int ix=0;ix<3;++ix) {
ret[ix] = formFactor*temp[ix];
}
return ret;
}
bool OmegaPiPiCurrent::accept(vector<int> id) {
if(id.size()!=3) return false;
unsigned int nomega(0),npip(0),npim(0),npi0(0);
for(unsigned int ix=0;ix<id.size();++ix) {
if(abs(id[ix])==ParticleID::piminus) ++npim;
if(abs(id[ix])==ParticleID::pi0 ) ++npi0;
if(abs(id[ix])==ParticleID::piplus ) ++npip;
else if(id[ix]==ParticleID::omega) ++nomega;
}
return nomega == 1 && (npi0==2 || (npip==1&&npim==1));
}
unsigned int OmegaPiPiCurrent::decayMode(vector<int> id) {
unsigned int npi0(0);
for(unsigned int ix=0;ix<id.size();++ix) {
if(abs(id[ix])==ParticleID::pi0 ) ++npi0;
}
return npi0==2 ? 1 : 0;
}
// output the information for the database
void OmegaPiPiCurrent::dataBaseOutput(ofstream & output,bool header,
bool create) const {
if(header) output << "update decayers set parameters=\"";
if(create) output << "create Herwig::OmegaPiPiCurrent " << name()
<< " HwWeakCurrents.so\n";
output << "newdef " << name() << ":mRes " << " " << mRes_/GeV << "\n";
output << "newdef " << name() << ":wRes " << " " << wRes_/GeV << "\n";
output << "newdef " << name() << ":mSigma " << " " << mSigma_/GeV << "\n";
output << "newdef " << name() << ":wSigma " << " " << wSigma_/GeV << "\n";
output << "newdef " << name() << ":mf0 " << " " << mf0_/GeV << "\n";
- output << "newdef " << name() << ":gRes " << " " << gRes_ << "\n";
- output << "newdef " << name() << ":gSigma " << " " << gSigma_ << "\n";
- output << "newdef " << name() << ":gf0 " << " " << gf0_ << "\n";
- output << "newdef " << name() << ":gPiPi " << " " << gPiPi_ << "\n";
- output << "newdef " << name() << ":gKK " << " " << gKK_ << "\n";
+ output << "newdef " << name() << ":gRes " << " " << gRes_/GeV << "\n";
+ output << "newdef " << name() << ":gSigma " << " " << gSigma_/GeV2<< "\n";
+ output << "newdef " << name() << ":gf0 " << " " << gf0_/GeV2 << "\n";
+ output << "newdef " << name() << ":gPiPi " << " " << gPiPi_/GeV2 << "\n";
+ output << "newdef " << name() << ":gKK " << " " << gKK_/GeV2 << "\n";
WeakCurrent::dataBaseOutput(output,false,false);
if(header) output << "\n\" where BINARY ThePEGName=\""
<< fullName() << "\";" << endl;
}
diff --git a/Decay/WeakCurrents/OmegaPiPiCurrent.h b/Decay/WeakCurrents/OmegaPiPiCurrent.h
--- a/Decay/WeakCurrents/OmegaPiPiCurrent.h
+++ b/Decay/WeakCurrents/OmegaPiPiCurrent.h
@@ -1,249 +1,249 @@
// -*- C++ -*-
#ifndef Herwig_OmegaPiPiCurrent_H
#define Herwig_OmegaPiPiCurrent_H
//
// This is the declaration of the OmegaPiPiCurrent class.
//
#include "WeakCurrent.h"
namespace Herwig {
using namespace ThePEG;
/**
* Here is the documentation of the OmegaPiPiCurrent class.
*
* @see \ref OmegaPiPiCurrentInterfaces "The interfaces"
* defined for OmegaPiPiCurrent.
*/
class OmegaPiPiCurrent: public WeakCurrent {
public:
/** @name Standard constructors and destructors. */
//@{
/**
* The default constructor.
*/
OmegaPiPiCurrent();
//@}
public:
/** @name Methods for the construction of the phase space integrator. */
//@{
/**
* Complete the construction of the decay mode for integration.classes inheriting
* from this one.
* This method is purely virtual and must be implemented in the classes inheriting
* from WeakCurrent.
* @param icharge The total charge of the outgoing particles in the current.
* @param resonance If specified only include terms with this particle
* @param flavour Information on the required flavours of the quarks
* @param imode The mode in the current being asked for.
* @param mode The phase space mode for the integration
* @param iloc The location of the of the first particle from the current in
* the list of outgoing particles.
* @param ires The location of the first intermediate for the current.
* @param phase The prototype phase space channel for the integration.
* @param upp The maximum possible mass the particles in the current are
* allowed to have.
* @return Whether the current was sucessfully constructed.
*/
virtual bool createMode(int icharge, tcPDPtr resonance,
FlavourInfo flavour,
unsigned int imode,PhaseSpaceModePtr mode,
unsigned int iloc,int ires,
PhaseSpaceChannel phase, Energy upp );
/**
* The particles produced by the current. This just returns the pseudoscalar
* meson.
* @param icharge The total charge of the particles in the current.
* @param imode The mode for which the particles are being requested
* @param iq The PDG code for the quark
* @param ia The PDG code for the antiquark
* @return The external particles for the current.
*/
virtual tPDVector particles(int icharge, unsigned int imode, int iq, int ia);
//@}
/**
* Hadronic current. This method is purely virtual and must be implemented in
* all classes inheriting from this one.
* @param resonance If specified only include terms with this particle
* @param flavour Information on the required flavours of the quarks
* @param imode The mode
* @param ichan The phase-space channel the current is needed for.
* @param scale The invariant mass of the particles in the current.
* @param outgoing The particles produced in the decay
* @param momenta The momenta of the particles produced in the decay
* @param meopt Option for the calculation of the matrix element
* @return The current.
*/
virtual vector<LorentzPolarizationVectorE>
current(tcPDPtr resonance,
FlavourInfo flavour,
const int imode, const int ichan,Energy & scale,
const tPDVector & outgoing,
const vector<Lorentz5Momentum> & momenta,
DecayIntegrator::MEOption meopt) const;
/**
* Construct the SpinInfo for the decay products
*/
virtual void constructSpinInfo(ParticleVector decay) const;
/**
* Accept the decay. Checks the meson against the list
* @param id The id's of the particles in the current.
* @return Can this current have the external particles specified.
*/
virtual bool accept(vector<int> id);
/**
* Return the decay mode number for a given set of particles in the current.
* Checks the meson against the list
* @param id The id's of the particles in the current.
* @return The number of the mode
*/
virtual unsigned int decayMode(vector<int> id);
/**
* Output the setup information for the particle database
* @param os The stream to output the information to
* @param header Whether or not to output the information for MySQL
* @param create Whether or not to add a statement creating the object
*/
virtual void dataBaseOutput(ofstream & os,bool header,bool create) const;
public:
/** @name Functions used by the persistent I/O system. */
//@{
/**
* Function used to write out object persistently.
* @param os the persistent output stream written to.
*/
void persistentOutput(PersistentOStream & os) const;
/**
* Function used to read in object persistently.
* @param is the persistent input stream read from.
* @param version the version number of the object when written.
*/
void persistentInput(PersistentIStream & is, int version);
//@}
/**
* The standard Init function used to initialize the interfaces.
* Called exactly once for each class by the class description system
* before the main function starts or
* when this class is dynamically loaded.
*/
static void Init();
protected:
/** @name Clone Methods. */
//@{
/**
* Make a simple clone of this object.
* @return a pointer to the new object.
*/
virtual IBPtr clone() const;
/** Make a clone of this object, possibly modifying the cloned object
* to make it sane.
* @return a pointer to the new object.
*/
virtual IBPtr fullclone() const;
//@}
protected:
/** @name Standard Interfaced functions. */
//@{
/**
* Initialize this object after the setup phase before saving an
* EventGenerator to disk.
* @throws InitException if object could not be initialized properly.
*/
virtual void doinit();
//@}
private:
/**
* The assignment operator is private and must never be called.
* In fact, it should not even be implemented.
*/
OmegaPiPiCurrent & operator=(const OmegaPiPiCurrent &) = delete;
private:
/**
* Parameters for the \f$\omega(1650)\f$
*/
//@{
/**
* Mass of the resonance
*/
Energy mRes_;
/**
* Width of the resonance
*/
Energy wRes_;
/**
* Coupling of the resonance
*/
- double gRes_;
+ Energy gRes_;
//@}
/**
* Parameters for the \f$f_0\f$ resonances
*/
//@{
/**
* Mass of the \f$\sigma\f$
*/
Energy mSigma_;
/**
* Width of the \f$\sigma\f$
*/
Energy wSigma_;
/**
* Mass of the \f$f_0(980)\f$
*/
Energy mf0_;
/**
* \f$f_0\f$ coupling to \f$\pi\pi\f$
*/
- double gPiPi_;
+ Energy2 gPiPi_;
/**
* \f$f_0\f$ coupling to KK
*/
- double gKK_;
+ Energy2 gKK_;
/**
* Sigma coupling
*/
- double gSigma_;
+ Energy2 gSigma_;
/**
* f_0 coupling
*/
- double gf0_;
+ Energy2 gf0_;
//@}
};
}
#endif /* Herwig_OmegaPiPiCurrent_H */
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, Sep 30, 5:49 AM (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6566379
Default Alt Text
(22 KB)
Attached To
Mode
R563 testingHerwigHG
Attached
Detach File
Event Timeline
Log In to Comment