Page MenuHomeHEPForge

ThreeBodyAllOn1IntegralCalculator.icc
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

ThreeBodyAllOn1IntegralCalculator.icc

// -*- C++ -*-
//
// This is the implementation of the inlined member functions of
// the ThreeBodyAllOn1IntegralCalculator class.
//
namespace Herwig {
using namespace ThePEG;
template <class T>
inline ThreeBodyAllOn1IntegralCalculator<T>::
ThreeBodyAllOn1IntegralCalculator(int intype, Energy inmass, Energy inwidth, double inpow,
T indGamma,int mode,
Energy m1,Energy m2,Energy m3)
: _variabletype(intype),_intmass(inmass),_intwidth(inwidth),_intpower(inpow),_mode(mode),
_theDgamma(indGamma)
{
_m .resize(4);
_m2.resize(4);
_m[1]=m1;_m[2]=m2;_m[3]=m3;
for(int ix=1;ix<4;++ix)_m2[ix]=sqr(_m[ix]);
}
template <class T>
inline void ThreeBodyAllOn1IntegralCalculator<T>::resetMass(int id,Energy inmass) {
if(id<4) {
_m[id]=inmass;
_m2[id]=inmass*inmass;
}
else throw Exception() << "Tried to set invalid mass in "
<< "ThreeBodyAllOn1IntegralCalculator::resetMass()"
<< Exception::runerror;
}
template <class T>
inline Energy ThreeBodyAllOn1IntegralCalculator<T>::getMass(const int id) const {
if(id<4) return _m[id];
else throw Exception() << "Tried to get invalid mass in "
<< "ThreeBodyAllOn1IntegralCalculator::getMass()"
<< Exception::runerror;
}
template <class T>
inline Energy ThreeBodyAllOn1IntegralCalculator<T>::otherMass(const int id) const {
if(id==1) return _m[2]+_m[3];
else if(id==2) return _m[1]+_m[3];
else if(id==3) return _m[1]+_m[2];
else throw Exception() << "Tried to get invalid mass in "
<< "ThreeBodyAllOn1IntegralCalculator::otherMass()"
<< Exception::runerror;
}
}

File Metadata

Mime Type
text/x-c++
Expires
Tue, Sep 30, 4:41 AM (1 d, 3 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6498903
Default Alt Text
ThreeBodyAllOn1IntegralCalculator.icc (1 KB)

Event Timeline