Public Member Functions | Protected Attributes

AsymptScaler Class Reference

Asymptotic or 'Squeeze' scaling, with a linear (main) part. More...

Inheritance diagram for AsymptScaler:
Scaler

List of all members.

Public Member Functions

 AsymptScaler (double c=0, double w=1, double l=0.95)
const char * type () const
virtual cloneTp * clone () const
double scale (double) const
double unScale (double) const
const char * toString () const
void fromString (const char *)
bool operator== (const AsymptScaler &b) const
void set (double, double, double)
double center () const
double width () const
double linedge () const

Protected Attributes

double center_
double width_
double linedge_
double factor

Detailed Description

Asymptotic or 'Squeeze' scaling, with a linear (main) part.

This scaler scales between -1 and 1. Between center()-width() and center()+width() this will happen linearly. The value at width() will be linedge(). Therefore, linedge should be set to a value near 1, like the default 0.95. Outside the width() boundaries, a 1 / (1 + x^2) function will make sure the output will be between -1 and 1. Thus, this scaler acts as a reversible squeeze function, with a non-deforming (linear), fast central part.


Constructor & Destructor Documentation

AsymptScaler::AsymptScaler ( double  c = 0,
double  w = 1,
double  l = 0.95 
) [inline]

Member Function Documentation

double AsymptScaler::center (  )  const [inline]
virtual cloneTp* AsymptScaler::clone (  )  const [inline, virtual]

Implements Scaler.

void AsymptScaler::fromString ( const char *   )  [virtual]

Implements Scaler.

double AsymptScaler::linedge (  )  const [inline]
bool AsymptScaler::operator== ( const AsymptScaler b  )  const [inline]
double AsymptScaler::scale ( double   )  const [virtual]

Implements Scaler.

void AsymptScaler::set ( double  ,
double  ,
double   
)
const char* AsymptScaler::toString (  )  const [virtual]

Implements Scaler.

const char* AsymptScaler::type (  )  const [inline, virtual]

Implements Scaler.

double AsymptScaler::unScale ( double   )  const [virtual]

Reimplemented from Scaler.

double AsymptScaler::width (  )  const [inline]

Member Data Documentation

double AsymptScaler::center_ [protected]
double AsymptScaler::factor [protected]
double AsymptScaler::linedge_ [protected]
double AsymptScaler::width_ [protected]