FreeHEP API
Version 3.0

hep.aida
Interface IFitData


public interface IFitData

Abstract representation of the fit data. Serves for several purposes: - decouple fitter from the details of the particular data objects (Histograms etc) - provide range restriction capability ("cut of the tails...") - creates the image of the virtual data source Design notes: 1) we try to be explicit in the method names which should indicate the dimensionality of the fit data. this way we have more compile-time/run-time safety and clearer code. in C++ we can handle default arguments which otherwise would be ambigeous. 2) string names of the arguments are at the end of the methods' signatures and have default (empty) values. so if function argument name is missing, assume the ordering is taken from the histogram axis it connects to the name of the pipes then are generated automatically using the same default scheme as for functions x[1], x[2] etc. 3) There are two ends to pipes: one connected to the data source and one pouring data out. Both their orders has to be specified. For IHistogram, ICloud, IProfile the connections to the data source are ordered as the axis (x=0, y=1, z=2); the user has to provide the order with which the pipes are providing the data. So for example in the constructor create2DConnection(hist2D,xIndex,yIndex); xIndex specifies the exit order of the pipe connected to the x Axis (and similarly for yIndex). So the default method create2DConnection(hist2D); corresponds to create2DConnection(hist2D,0,1); In the methods for IHistograms, IClouds, and IProfiles one index could have been dropped as the second could be inferred by the dimensionality. We preferred being redundant just to avoid confusion in interpreting what create2DConnection(hist2D,1); really means. For ITuple and IDataPointSet the order in the connection to the data source is specified by the user by providing, respectively, the array of column names (or evaluators) and the array of coordinate indexes to which to connect the pipes. In this case we assume that the pipes are parallel, i.e. the exit order is the same as the one of the connection to the data source. In the createXDConnection methods to IDataPointSets we preferred not to provide defaults for the valIndex to avoid confusion in interpreting it. We can always add it later. PENDING: clarify the relation between data range and normalization range

Author:
The AIDA Team.

Method Summary
 void create1DConnection(ICloud1D c)
          Create a one dimensional connection to an ICloud1D.
 void create1DConnection(IDataPointSet dp, int xIndex, int valIndex)
          Create a one dimensional connection to an IDataPointSet.
 void create1DConnection(IHistogram1D h)
          Create a one dimensional connection to an IHistogram1D.
 void create1DConnection(IProfile1D p)
          Create a one dimensional connection to an IProfile1D.
 void create2DConnection(ICloud2D c)
          Create a two dimensional connection to an ICloud2D.
 void create2DConnection(ICloud2D c, int xIndex, int yIndex)
          Create a two dimensional connection to an ICloud2D.
 void create2DConnection(IDataPointSet dp, int xIndex, int yIndex, int valIndex)
          Create a two dimensional connection to an IDataPointSet.
 void create2DConnection(IHistogram2D h)
          Create a two dimensional connection to an IHistogram2D.
 void create2DConnection(IHistogram2D h, int xIndex, int yIndex)
          Create a two dimensional connection to an IHistogram2D.
 void create2DConnection(IProfile2D p)
          Create a two dimensional connection to an IProfile2D.
 void create2DConnection(IProfile2D p, int xIndex, int yIndex)
          Create a two dimensional connection to an IProfile2D.
 void create3DConnection(ICloud3D c)
          Create a three dimensional connection to an ICloud3D.
 void create3DConnection(ICloud3D c, int xIndex, int yIndex, int zIndex)
          Create a three dimensional connection to an ICloud3D.
 void create3DConnection(IDataPointSet dp, int xIndex, int yIndex, int zIndex, int valIndex)
          Create a three dimensional connection to an IDataPointSet.
 void create3DConnection(IHistogram3D h)
          Create a three dimensional connection to an IHistogram3D.
 void create3DConnection(IHistogram3D h, int xIndex, int yIndex, int zIndex)
          Create a three dimensional connection to an IHistogram3D.
 void createConnection(IDataPointSet dp, int[] indeces, int valIndex)
          Create a connection to an IDataPointSet.
 void createConnection(ITuple t, IEvaluator[] evals)
          Create a connection to an ITuple.
 void createConnection(ITuple t, String[] colNames)
          Create a connection to an ITuple.
 String dataDescription()
           
 int dimension()
          The dimension of this IFitData, i.e. the number of connections.
 IRangeSet range(int index)
          Get Range of the corresponding connection by index.
 void reset()
          Remove all Ranges and connections; after this is like newly create.
 

Method Detail

create1DConnection

public void create1DConnection(IHistogram1D h)
                        throws IllegalArgumentException
Create a one dimensional connection to an IHistogram1D.

Parameters:
h - The 1D histogram to which to connect to.
Throws:
IllegalArgumentException - If something is wrong.

create1DConnection

public void create1DConnection(ICloud1D c)
                        throws IllegalArgumentException
Create a one dimensional connection to an ICloud1D.

Parameters:
c - The 1D cloud to which to connect to.
Throws:
IllegalArgumentException - If something is wrong.

create1DConnection

public void create1DConnection(IProfile1D p)
                        throws IllegalArgumentException
Create a one dimensional connection to an IProfile1D.

Parameters:
p - The 1D profile to which to connect to.
Throws:
IllegalArgumentException - If something is wrong.

create1DConnection

public void create1DConnection(IDataPointSet dp,
                               int xIndex,
                               int valIndex)
                        throws IllegalArgumentException
Create a one dimensional connection to an IDataPointSet.

Parameters:
dp - The dataPointSet to which to connect to.
xIndex - The index of the coordinate to which the variable is connected.
valIndex - The index of the coordinate used as "height".
Throws:
IllegalArgumentException - If something is wrong.

create2DConnection

public void create2DConnection(IHistogram2D h)
                        throws IllegalArgumentException
Create a two dimensional connection to an IHistogram2D.

Parameters:
h - The 2D histogram to which to connect to.
Throws:
IllegalArgumentException - If something is wrong.

create2DConnection

public void create2DConnection(IHistogram2D h,
                               int xIndex,
                               int yIndex)
                        throws IllegalArgumentException
Create a two dimensional connection to an IHistogram2D.

Parameters:
h - The 2D histogram to which to connect to.
xIndex - The index of the axis to which the x variable is connected.
yIndex - The index of the axis to which the y variable is connected.
Throws:
IllegalArgumentException - If something is wrong.

create2DConnection

public void create2DConnection(ICloud2D c)
                        throws IllegalArgumentException
Create a two dimensional connection to an ICloud2D.

Parameters:
c - The 2D cloud to which to connect to.
Throws:
IllegalArgumentException - If something is wrong.

create2DConnection

public void create2DConnection(ICloud2D c,
                               int xIndex,
                               int yIndex)
                        throws IllegalArgumentException
Create a two dimensional connection to an ICloud2D.

Parameters:
c - The 2D cloud to which to connect to.
xIndex - The index of the axis to which the x variable is connected.
yIndex - The index of the axis to which the y variable is connected.
Throws:
IllegalArgumentException - If something is wrong.

create2DConnection

public void create2DConnection(IProfile2D p)
                        throws IllegalArgumentException
Create a two dimensional connection to an IProfile2D.

Parameters:
p - The 2D profile to which to connect to.
Throws:
IllegalArgumentException - If something is wrong.

create2DConnection

public void create2DConnection(IProfile2D p,
                               int xIndex,
                               int yIndex)
                        throws IllegalArgumentException
Create a two dimensional connection to an IProfile2D.

Parameters:
p - The 2D profile to which to connect to.
xIndex - The index of the axis to which the x variable is connected.
yIndex - The index of the axis to which the y variable is connected.
Throws:
IllegalArgumentException - If something is wrong.

create2DConnection

public void create2DConnection(IDataPointSet dp,
                               int xIndex,
                               int yIndex,
                               int valIndex)
                        throws IllegalArgumentException
Create a two dimensional connection to an IDataPointSet.

Parameters:
dp - The dataPointSet to which to connect to.
xIndex - The index of the coordinate to which the x variable is connected.
yIndex - The index of the coordinate to which the y variable is connected.
valIndex - The index of the coordinate used as "height".
Throws:
IllegalArgumentException - If something is wrong.

create3DConnection

public void create3DConnection(IHistogram3D h)
                        throws IllegalArgumentException
Create a three dimensional connection to an IHistogram3D.

Parameters:
h - The 3D histogram to which to connect to.
Throws:
IllegalArgumentException - If something is wrong.

create3DConnection

public void create3DConnection(IHistogram3D h,
                               int xIndex,
                               int yIndex,
                               int zIndex)
                        throws IllegalArgumentException
Create a three dimensional connection to an IHistogram3D.

Parameters:
h - The 3D histogram to which to connect to.
xIndex - The index of the axis to which the x variable is connected.
yIndex - The index of the axis to which the y variable is connected.
zIndex - The index of the axis to which the z variable is connected.
Throws:
IllegalArgumentException - If something is wrong.

create3DConnection

public void create3DConnection(ICloud3D c)
                        throws IllegalArgumentException
Create a three dimensional connection to an ICloud3D.

Parameters:
c - The 3D cloud to which to connect to.
Throws:
IllegalArgumentException - If something is wrong.

create3DConnection

public void create3DConnection(ICloud3D c,
                               int xIndex,
                               int yIndex,
                               int zIndex)
                        throws IllegalArgumentException
Create a three dimensional connection to an ICloud3D.

Parameters:
c - The 3D cloud to which to connect to.
xIndex - The index of the axis to which the x variable is connected.
yIndex - The index of the axis to which the y variable is connected.
zIndex - The index of the axis to which the z variable is connected.
Throws:
IllegalArgumentException - If something is wrong.

create3DConnection

public void create3DConnection(IDataPointSet dp,
                               int xIndex,
                               int yIndex,
                               int zIndex,
                               int valIndex)
                        throws IllegalArgumentException
Create a three dimensional connection to an IDataPointSet.

Parameters:
dp - The dataPointSet to which to connect to.
xIndex - The index of the coordinate to which the x variable is connected.
yIndex - The index of the coordinate to which the y variable is connected.
zIndex - The index of the coordinate to which the z variable is connected.
valIndex - The index of the coordinate used as "height".
Throws:
IllegalArgumentException - If something is wrong.

createConnection

public void createConnection(ITuple t,
                             String[] colNames)
                      throws IllegalArgumentException
Create a connection to an ITuple.

Parameters:
t - The ITuple.
colNames - The names of the columns to which to connect.
Throws:
IllegalArgumentException - If something is wrong.

createConnection

public void createConnection(ITuple t,
                             IEvaluator[] evals)
                      throws IllegalArgumentException
Create a connection to an ITuple.

Parameters:
t - The ITuple.
evals - The list of the IEvaluator used to calculate the variable's value.
Throws:
IllegalArgumentException - If something is wrong.

createConnection

public void createConnection(IDataPointSet dp,
                             int[] indeces,
                             int valIndex)
                      throws IllegalArgumentException
Create a connection to an IDataPointSet.

Parameters:
dp - The dataPointSet to which to connect to.
indeces - The indeces of the coordinates to which the variables are connected.
valIndex - The index of the coordinate used as "height".
Throws:
IllegalArgumentException - If something is wrong.

reset

public void reset()
Remove all Ranges and connections; after this is like newly create.


dimension

public int dimension()
The dimension of this IFitData, i.e. the number of connections.

Returns:
The dimension of the IFitData.

dataDescription

public String dataDescription()

range

public IRangeSet range(int index)
                throws IllegalArgumentException
Get Range of the corresponding connection by index. The index represent the order in which connections are coming out of the IFitData.

Returns:
The Range
Throws:
IllegalArgumentException - If the Range does not exist.

FreeHEP API
Version 3.0

Copyright © 2000-2002 AIDA Team, All Rights Reserved.