Public Member Functions | Protected Member Functions | Protected Attributes

UnaryTransform Class Reference

A transform that transforms coordinates in one dimension from one coordinate system to another. More...

#include <UnaryTransform.h>

Inheritance diagram for UnaryTransform:
Inheritance graph
[legend]
Collaboration diagram for UnaryTransform:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual const RangeadjustValues (AxisModelBase &model, const Range &limit)=0
 Sets the range of given axis to be a new "nice" within the limits given.
virtual double aspectRatio () const
 Get the aspect ratio.
virtual UnaryTransformclone () const =0
 Function to make copy of object.
virtual void inverseTransform (double &x) const =0
 Inverse transforms the coordinate x.
virtual bool isLinear () const =0
virtual const Rangelimits () const
 Returns a Range whose values are the limits on the coordinate.
const std::string & name () const
 Returns the name of the Transform.
virtual const std::vector
< AxisTick > & 
setTicks (AxisModelBase &axis)=0
 Sets the vector of ticks along the axis to which this unary transform is applied.
virtual void transform (std::vector< double > &x) const =0
 Transforms each element of the vector x.
virtual void transform (double &x) const =0
 Transforms the coordinate x.
virtual void validate (Range &) const =0
 Validates the Range.
virtual ~UnaryTransform ()
 The virtual destructor.

Protected Member Functions

 UnaryTransform (double low, double high)
 Constructor for setting m_limits.

Protected Attributes

const Range m_limits
 The valid Range of the transform.
std::string m_name
 Name of the Transform.

Detailed Description

A transform that transforms coordinates in one dimension from one coordinate system to another.

Author:
Paul_Kunz@slac.stanford.edu

Definition at line 35 of file UnaryTransform.h.


Constructor & Destructor Documentation

UnaryTransform ( double  low,
double  high 
) [protected]

Constructor for setting m_limits.

Definition at line 18 of file UnaryTransform.cxx.

~UnaryTransform (  )  [virtual]

The virtual destructor.

Definition at line 23 of file UnaryTransform.cxx.


Member Function Documentation

virtual const Range& adjustValues ( AxisModelBase model,
const Range limit 
) [pure virtual]

Sets the range of given axis to be a new "nice" within the limits given.

Implemented in LinearTransform, and LogTransform.

double aspectRatio (  )  const [virtual, inherited]
virtual UnaryTransform* clone (  )  const [pure virtual]
virtual void inverseTransform ( double &  x  )  const [pure virtual]

Inverse transforms the coordinate x.

Implemented in LinearTransform, and LogTransform.

Referenced by XYTransform::inverseTransform(), and BinaryTransform::inverseTransformZ().

virtual bool isLinear (  )  const [pure virtual]
const Range & limits (  )  const [virtual]

Returns a Range whose values are the limits on the coordinate.

Definition at line 28 of file UnaryTransform.cxx.

References UnaryTransform::m_limits.

Referenced by XYZTransform::limitX(), XYTransform::limitX(), XYZTransform::limitY(), XYTransform::limitY(), XYZTransform::limitZ(), and BinaryTransform::limitZ().

const string & name (  )  const [inherited]
virtual const std::vector< AxisTick >& setTicks ( AxisModelBase axis  )  [pure virtual]

Sets the vector of ticks along the axis to which this unary transform is applied.

Implemented in LinearTransform, and LogTransform.

Referenced by XYTransform::setTicks().

virtual void transform ( std::vector< double > &  x  )  const [pure virtual]

Transforms each element of the vector x.

Implemented in LinearTransform, and LogTransform.

virtual void transform ( double &  x  )  const [pure virtual]

Transforms the coordinate x.

Todo:
implement concrete cases of single variable transformation.

Implemented in LinearTransform, and LogTransform.

Referenced by XYZTransform::transform(), XYTransform::transform(), and BinaryTransform::transformZ().

virtual void validate ( Range  )  const [pure virtual]

Validates the Range.

Adjusts the Range to be restricted to that which is valid for the transform.

Implemented in LinearTransform, and LogTransform.

Referenced by XYZTransform::validate(), and XYTransform::validate().


Member Data Documentation

const Range m_limits [protected]

The valid Range of the transform.

Definition at line 41 of file UnaryTransform.h.

Referenced by UnaryTransform::limits().

std::string m_name [protected, inherited]

The documentation for this class was generated from the following files:

Generated for HippoDraw Class Library by doxygen