Package etomica.data.types

Defines classes that encapsulate various types of data and enable casting between them.

See:
          Description

Class Summary
CastGroupOfTablesToDataTable A DataProcessor that converts a homogeneous DataGroup into a multidimensional DataDoubleArray.
CastGroupToDoubleArray A DataProcessor that converts a homogeneous DataGroup into a multidimensional DataDoubleArray.
CastToDouble A DataProcessor that converts a Data instance into a DataDouble.
CastToDoubleArray A DataProcessor that converts a Data instance into a DataDoubleArray.
CastToGroup A DataProcessor that effectively wraps a Data instance into a DataGroup.
CastToTable A DataProcessor that converts a Data instance into a DataTable.
DataDouble Data object wrapping a single mutable value of type double.
DataDouble.DataInfoDouble  
DataDouble.DataInfoDoubleFactory  
DataDoubleArray Data object that wraps a mutable array of doubles.
DataDoubleArray.DataInfoDoubleArray  
DataDoubleArray.DataInfoDoubleArrayFactory  
DataFunction Collects two or more DataDoubleArray instances, and organizes them into "dependent" and "independent" subgroups.
DataFunction.DataInfoFunction  
DataFunction.DataInfoFunctionFactory  
DataGroup Gathers one or more Data instances into a single Data object.
DataGroup.DataInfoGroup  
DataGroup.DataInfoGroupFactory  
DataTable Data object that holds double[] arrays as if they are columns in a table.
DataTable.DataInfoTable  
DataTable.DataInfoTableFactory  
DataTensor Data object wrapping a single mutable value of type (Space) Tensor.
DataTensor.DataInfoTensor  
DataTensor.DataInfoTensorFactory  
DataVector Data object wrapping a single mutable value of type (Space) Vector.
DataVector.DataInfoVector  
DataVector.DataInfoVectorFactory  
 

Package etomica.data.types Description

Defines classes that encapsulate various types of data and enable casting between them. The encapsulating classes are subclasses of Data, which is the abstract type that is transmitted from a DataSource to a DataSink through a data processing stream, via the classes defined in the etomica.data package.

The data held by a Data instance can be changed, and in this sense a Data object is mutable. However, the structure of a Data object is immutable; it cannot be changed after construction. The structure refers to the type and number of data values held by the Data object. Simple Data objects, such as DataDouble and DataInteger, hold a single data value, and have a trivial structure. In contrast, a DataDouble array holds an array of double values; moreover this object can be configured to look like a multidimensional array. Its structure then refers to the shape of this array -- the number of double values it holds, and in what arrangement. It is this aspect of the DataDoubleArray that cannot be changed after construction.

In addition to the data values, a Data object also holds a DataInfo instance, which holds descriptive information about the encapsulated data. The DataInfo held by a Data instance is completely immutable -- the DataInfo instance cannot be changed, nor can the information it holds.

This package defines classes for casting between Data types. These classes normally are constructed by the getDataCaster method of a DataSink, which is invoked by a DataPipe (or similar class) when the DataSink is added to it. The caster is a DataProcessor that will copy the data (as completely as possible) to a new Data instance of the output Data type. This ensures that the DataSink receives a Data instance of the type it is expecting.