本文整理汇总了C++中Peak1D::setWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ Peak1D::setWidth方法的具体用法?C++ Peak1D::setWidth怎么用?C++ Peak1D::setWidth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Peak1D
的用法示例。
在下文中一共展示了Peak1D::setWidth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sm
bool ShiftModel1D::finish()
{
if (!isValid())
{
return false;
}
if (!system_)
{
Log.info() << "No valid system found!" << std::endl;
return false;
}
// compute the shift model if necessary
if (compute_shifts_)
{
BALL::ShiftModel sm(parameters_.getFilename());
system_->apply(sm);
}
String element = "";
// Peter Bayer proposed as peak width
// for H 15Hz
// for N 10hz
// for C 5Hz
// peakwidth is meassured in ppm, since
// experiments were done in Hz, we convert the values
// according to the formular
//
// offset [Hz] = offset[ppm] * basic frequency
//
// for our prediction we assume a basic frequency of 700 MHz
float peakwidth = 0.0;
switch(type_)
{
case H:
case H_ON_BACKBONE:
element = "H";
//peakwidth = 0.02142; // Peter Bayers estimation
peakwidth = 0.0032; // this is the former BALL estimation
break;
case N:
case N_BACKBONE:
element = "N";
peakwidth = 0.01428;
break;
case C:
case C_BACKBONE:
element = "C";
peakwidth = 0.00714;
break;
}
int counter = 0;
if (element == "" )
return true;
for (BALL::ResidueIterator r_it = system_->beginResidue(); +r_it; ++r_it)
{
Atom* atom = NULL;
for (BALL::AtomIterator at_it = r_it->beginAtom(); +at_it; ++at_it)
{
if (hasType_(&(*at_it), type_))
{
counter++;
atom = &(*at_it);
// we have, get the shift
float shift = atom->getProperty(BALL::ShiftModule::PROPERTY__SHIFT).getFloat();
Peak1D peak;
float pos = shift;
peak.setPosition(pos);
peak.setWidth(peakwidth);
peak.setIntensity(peak.getIntensity()+1);
//setAtom();
peaks_.push_back(peak);
}
}
}
std::cout << "Number of considered atoms: "<< counter << std::endl;
return true;
}