Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F10881813
ScalarFormFactor.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
ScalarFormFactor.icc
View Options
// -*- C++ -*-
//
// This is the implementation of the inlined member functions of
// the ScalarFormFactor class.
//
namespace Herwig {
using namespace ThePEG;
inline ScalarFormFactor::ScalarFormFactor() : _numbermodes(0)
{}
inline IBPtr ScalarFormFactor::clone() const {
return new_ptr(*this);
}
inline IBPtr ScalarFormFactor::fullclone() const {
return new_ptr(*this);
}
inline void ScalarFormFactor::doinit() throw(InitException) {
Interfaced::doinit();
// check the consistency of the parameters
unsigned int isize=_incomingid.size();
if(isize!=_outgoingid.size() || isize!=_outgoingJ.size()||
isize!=_spectator.size() || isize!=_inquark.size()||
isize!=_outquark.size())
throw InitException() << "Inconsistent parameters in ScalarFormFactor::doinit() "
<< Exception::abortnow;
}
// get the location of the form-factor in the list
inline int ScalarFormFactor::formFactorNumber(int in, int out, bool & cc) const {
if(_incomingid.size()==0) return -1;
int output(-1);unsigned int ix(0);
do {
if(_incomingid[ix]== in && _outgoingid[ix]== out) {
cc=false;
output=ix;
}
else if (_incomingid[ix]==-in && _outgoingid[ix]==-out) {
cc=true;
output=ix;
}
else if(_incomingid[ix]==-in && _outgoingid[ix]==out &&
(abs(_outgoingid[ix])/100)%10==(abs(_outgoingid[ix])/10)%10) {
cc=true;
output=ix;
}
++ix;
}
while(ix<_incomingid.size()&&output<0);
return output;
}
// add a form-factor to the list
inline void ScalarFormFactor::addFormFactor(int in,int out,
int spin, int spect, int inquark,
int outquark) {
_incomingid.push_back(in);
_outgoingid.push_back(out);
_outgoingJ.push_back(spin);
_spectator.push_back(spect);
_inquark.push_back(inquark);
_outquark.push_back(outquark);
}
// number of form factors
inline unsigned int ScalarFormFactor::numberOfFactors() const {
return _incomingid.size();
}
// information on the form factors by location in the list
inline void ScalarFormFactor::formFactorInfo(unsigned int & iloc,int & ispin,int & spect,
int & inquark, int & outquark) const {
ispin = _outgoingJ[iloc];
spect = _spectator[iloc];
inquark = _inquark[iloc];
outquark = _outquark[iloc];
}
// information on the form-factor by ids of the particles
inline void ScalarFormFactor::formFactorInfo(int in,int out,int & ispin,
int & spect,int & inquark,
int & outquark) const {
bool dummy;
unsigned int ix(formFactorNumber(in,out,dummy));
formFactorInfo(ix,ispin,spect,inquark,outquark);
}
// get the particle ids for an entry
inline void ScalarFormFactor::particleID(unsigned int iloc,int & id0,int & id1) const {
id0=_incomingid[iloc];
id1=_outgoingid[iloc];
}
inline void ScalarFormFactor::initialModes(unsigned int nmodes) {
_numbermodes=nmodes;
}
inline unsigned int ScalarFormFactor::initialModes() const {
return _numbermodes;
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, May 3, 6:51 AM (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4983162
Default Alt Text
ScalarFormFactor.icc (2 KB)
Attached To
rHERWIGHG herwighg
Event Timeline
Log In to Comment