1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: descriptor.C,v 1.12.20.3 2007/08/07 16:16:16 bertsch Exp $
//
#include <BALL/QSAR/descriptor.h>
using namespace std;
namespace BALL
{
Descriptor::Descriptor()
: UnaryProcessor<AtomContainer>(),
name_("generic descriptor"),
unit_("")
{
}
Descriptor::Descriptor(const String& name)
: UnaryProcessor<AtomContainer>(),
name_(name),
unit_("")
{
}
Descriptor::Descriptor(const String& name, const String& unit)
: UnaryProcessor<AtomContainer>(),
name_(name),
unit_(unit)
{
}
Descriptor::~Descriptor()
{
}
Descriptor::Descriptor(const Descriptor& descriptor)
: UnaryProcessor<AtomContainer>(descriptor),
name_(descriptor.name_),
unit_(descriptor.unit_)
{
}
Descriptor& Descriptor::operator = (const Descriptor& descriptor)
{
this->setUnit(descriptor.getUnit());
this->setName(descriptor.getName());
return *this;
}
const String& Descriptor::getName() const
{
return name_;
}
void Descriptor::setName(const String& name)
{
name_ = name;
}
Processor::Result Descriptor::operator () (AtomContainer& ac)
{
ac.setProperty(getName(), compute(ac));
return Processor::CONTINUE;
}
const String& Descriptor::getUnit() const
{
return unit_;
}
void Descriptor::setUnit(const String& unit)
{
unit_ = unit;
}
bool Descriptor::isValid_(AtomContainer& /* ac */)
{
return false;
}
void Descriptor::calculate_(AtomContainer& /* ac */)
{
}
double Descriptor::compute(AtomContainer& ac)
{
if (!isValid_(ac))
{
calculate_(ac);
}
return ac.getProperty(this->getName()).getDouble();
}
}
|