BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | List of all members
BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_ Class Reference

#include <BALL/NMR/empiricalHSShiftProcessor.h>

Public Types

typedef std::map< String,
std::map< String, float > > 
tabletype
 

Enums and Constants

enum  HYPERSURFACE__TYPE {
  REAL__REAL, REAL__DISCRETE, DISCRETE__REAL, DISCRETE__DISCRETE,
  CHI__REAL, REAL__CHI, CHI__DISCRETE, DISCRETE__CHI,
  CHI__CHI, SINGLE__REAL, SINGLE__DISCRETE, SINGLE__CHI
}
 
int type_
 
String first_property_
 
String second_property_
 
CubicSpline2D s2d_
 
std::map< String, CubicSpline1Ds1d_
 
std::map< String, std::map
< String, float > > 
table_
 
std::map< String, floatrow_averages_
 
std::map< String, floatcol_averages_
 
float row_spacing_
 
float col_spacing_
 
bool invalid_
 
float average_
 
int verbosity_
 
vector< Stringy_axis_values_
 
vector< vector< String > > x_axis_values_
 
vector< vector< float > > sample_values_
 
 ShiftHyperSurface_ (int verbosity=EmpiricalHSShiftProcessor::VERBOSITY_LEVEL_CRITICAL)
 
 ShiftHyperSurface_ (String filename, String atomtype, String firstproperty, String secondproperty, int verbosity=EmpiricalHSShiftProcessor::VERBOSITY_LEVEL_CRITICAL) throw (Exception::FileNotFound)
 
virtual ~ShiftHyperSurface_ ()
 
float operator() (PropertiesForShift_ &properties)
 
bool isvalid ()
 
float getTotalAverage ()
 
float getTableAverage_ ()
 
float getTableRowAverage_ (const std::map< String, float > &row)
 
float getTableColumnAverage_ (const String &name)
 
bool tableHasColumn_ (const String &name)
 
void parseDataFile_ (BALL::File &file, String filename)
 
void convertToReal_ (const vector< String > &input, vector< float > &output)
 
void setType_ (String firstproperty, String secondproperty)
 

Detailed Description

Definition at line 282 of file empiricalHSShiftProcessor.h.

Member Typedef Documentation

Definition at line 285 of file empiricalHSShiftProcessor.h.

Member Enumeration Documentation

Enumerator
REAL__REAL 
REAL__DISCRETE 
DISCRETE__REAL 
DISCRETE__DISCRETE 
CHI__REAL 
REAL__CHI 
CHI__DISCRETE 
DISCRETE__CHI 
CHI__CHI 
SINGLE__REAL 
SINGLE__DISCRETE 
SINGLE__CHI 

Definition at line 291 of file empiricalHSShiftProcessor.h.

Constructor & Destructor Documentation

BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::ShiftHyperSurface_ ( int  verbosity = EmpiricalHSShiftProcessor::VERBOSITY_LEVEL_CRITICAL)
BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::ShiftHyperSurface_ ( String  filename,
String  atomtype,
String  firstproperty,
String  secondproperty,
int  verbosity = EmpiricalHSShiftProcessor::VERBOSITY_LEVEL_CRITICAL 
) throw (Exception::FileNotFound)
virtual BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::~ShiftHyperSurface_ ( )
virtual

Destructor.

Member Function Documentation

void BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::convertToReal_ ( const vector< String > &  input,
vector< float > &  output 
)
private
float BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::getTableAverage_ ( )
private
float BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::getTableColumnAverage_ ( const String name)
private
float BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::getTableRowAverage_ ( const std::map< String, float > &  row)
private
float BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::getTotalAverage ( )
inline

Definition at line 360 of file empiricalHSShiftProcessor.h.

bool BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::isvalid ( )
inline

Method to check if the hypersurface is valid.

Returns
bool, false if hypersurface is invalid.

Definition at line 357 of file empiricalHSShiftProcessor.h.

float BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::operator() ( PropertiesForShift_ properties)

Method to evaluate the empirical hypersurface given the properties of an atom. In case of a SINGLE__?? property type, the property type string works as first accessor. If only one factor is out of bounds {/tt FLOAT_VALUE_NA} or {/tt STRING_VALUE_NA}, we return the all-values average. (We tried to simulate the SHIFTX behaviour)

If one of the property values is set to { /tt FLOAT_VALUE_IGNORE}, zero is returned.

void BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::parseDataFile_ ( BALL::File file,
String  filename 
)
private

Method to read the datafile of a shift hypersurface.

We assume the datafile to have the following structure:

atomtype factorx factory total_average (row_average_1;row_average_2;...;row_average_n|N/A) (col_averages_1;col_averages_2;...;col_averages_n|N/A) (row_spacing|N/A) (col_spacing|N/A) (y_axis_1;...;y_axis_n|N/A) x_axis_11;...;x_axis_1m value_11;...;value_1m ... x_axis_n1;...;x_axis_nm value_n1;...;value_nm

where ( | ) denotes alternatives and "N/A" an empty entry.

void BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::setType_ ( String  firstproperty,
String  secondproperty 
)
private

Method to set the type of the hypersurface according to two input property types (see { HYPERSURFACE__TYPE()} )

bool BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::tableHasColumn_ ( const String name)
private

Method to check if the hypersurface's look–up table has a column named "name".

Returns
bool, false if the look-up table has no column "name".

Member Data Documentation

float BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::average_
private

Definition at line 435 of file empiricalHSShiftProcessor.h.

std::map<String, float> BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::col_averages_
private

Definition at line 424 of file empiricalHSShiftProcessor.h.

float BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::col_spacing_
private

Definition at line 428 of file empiricalHSShiftProcessor.h.

String BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::first_property_
private

Definition at line 412 of file empiricalHSShiftProcessor.h.

bool BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::invalid_
private

Definition at line 431 of file empiricalHSShiftProcessor.h.

std::map<String, float> BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::row_averages_
private

Definition at line 423 of file empiricalHSShiftProcessor.h.

float BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::row_spacing_
private

Definition at line 427 of file empiricalHSShiftProcessor.h.

std::map<String, CubicSpline1D > BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::s1d_
private

Definition at line 417 of file empiricalHSShiftProcessor.h.

CubicSpline2D BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::s2d_
private

Definition at line 416 of file empiricalHSShiftProcessor.h.

vector<vector<float> > BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::sample_values_
private

Definition at line 443 of file empiricalHSShiftProcessor.h.

String BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::second_property_
private

Definition at line 413 of file empiricalHSShiftProcessor.h.

std::map<String, std::map<String, float> > BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::table_
private

Definition at line 419 of file empiricalHSShiftProcessor.h.

int BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::type_
private

Definition at line 409 of file empiricalHSShiftProcessor.h.

int BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::verbosity_
private

Definition at line 438 of file empiricalHSShiftProcessor.h.

vector<vector<String> > BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::x_axis_values_
private

Definition at line 442 of file empiricalHSShiftProcessor.h.

vector<String> BALL::EmpiricalHSShiftProcessor::ShiftHyperSurface_::y_axis_values_
private

Definition at line 441 of file empiricalHSShiftProcessor.h.