hep.aida
Interface IFitData
-
- All Known Subinterfaces:
- IDevFitData
- All Known Implementing Classes:
- FitData
public interface IFitDataAbstract 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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description voidcreate1DConnection(double[] x, double[] y, double[] corrMatrix)Create a one dimensional connection to a set of measurements with corresponding correlation matrix.voidcreate1DConnection(ICloud1D c)Create a one dimensional connection to an ICloud1D.voidcreate1DConnection(IDataPointSet dp, int xIndex, int valIndex)Create a one dimensional connection to an IDataPointSet.voidcreate1DConnection(IHistogram1D h)Create a one dimensional connection to an IHistogram1D.voidcreate1DConnection(IProfile1D p)Create a one dimensional connection to an IProfile1D.voidcreate2DConnection(ICloud2D c)Create a two dimensional connection to an ICloud2D.voidcreate2DConnection(ICloud2D c, int xIndex, int yIndex)Create a two dimensional connection to an ICloud2D.voidcreate2DConnection(IDataPointSet dp, int xIndex, int yIndex, int valIndex)Create a two dimensional connection to an IDataPointSet.voidcreate2DConnection(IHistogram2D h)Create a two dimensional connection to an IHistogram2D.voidcreate2DConnection(IHistogram2D h, int xIndex, int yIndex)Create a two dimensional connection to an IHistogram2D.voidcreate2DConnection(IProfile2D p)Create a two dimensional connection to an IProfile2D.voidcreate2DConnection(IProfile2D p, int xIndex, int yIndex)Create a two dimensional connection to an IProfile2D.voidcreate3DConnection(ICloud3D c)Create a three dimensional connection to an ICloud3D.voidcreate3DConnection(ICloud3D c, int xIndex, int yIndex, int zIndex)Create a three dimensional connection to an ICloud3D.voidcreate3DConnection(IDataPointSet dp, int xIndex, int yIndex, int zIndex, int valIndex)Create a three dimensional connection to an IDataPointSet.voidcreate3DConnection(IHistogram3D h)Create a three dimensional connection to an IHistogram3D.voidcreate3DConnection(IHistogram3D h, int xIndex, int yIndex, int zIndex)Create a three dimensional connection to an IHistogram3D.voidcreateConnection(IDataPointSet dp, int[] indices, int valIndex)Create a connection to an IDataPointSet.voidcreateConnection(ITuple t, IEvaluator[] evals)Create a connection to an ITuple.voidcreateConnection(ITuple t, java.lang.String[] colNames)Create a connection to an ITuple.java.lang.StringdataDescription()intdimension()The dimension of this IFitData, i.e.IRangeSetrange(int index)Get Range of the corresponding connection by index.voidreset()Remove all Ranges and connections; after this is like newly create.
-
-
-
Method Detail
-
create1DConnection
void create1DConnection(IHistogram1D h) throws java.lang.IllegalArgumentException
Create a one dimensional connection to an IHistogram1D.- Parameters:
h- The 1D histogram to which to connect to.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
create1DConnection
void create1DConnection(ICloud1D c) throws java.lang.IllegalArgumentException
Create a one dimensional connection to an ICloud1D.- Parameters:
c- The 1D cloud to which to connect to.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
create1DConnection
void create1DConnection(IProfile1D p) throws java.lang.IllegalArgumentException
Create a one dimensional connection to an IProfile1D.- Parameters:
p- The 1D profile to which to connect to.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
create1DConnection
void create1DConnection(IDataPointSet dp, int xIndex, int valIndex) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
create1DConnection
void create1DConnection(double[] x, double[] y, double[] corrMatrix) throws java.lang.IllegalArgumentExceptionCreate a one dimensional connection to a set of measurements with corresponding correlation matrix.- Parameters:
x- The x coordinate of the measurement.y- The y coordinate of the measurement.corrMatrix- The correlation matrix provided as a simple array. Please refer to the specific implementation's documentation on how to convert a matrix to a one dimensional array.- Throws:
java.lang.IllegalArgumentException- If something is wrong (if the dimensions of the arrays are incompatible).
-
create2DConnection
void create2DConnection(IHistogram2D h) throws java.lang.IllegalArgumentException
Create a two dimensional connection to an IHistogram2D.- Parameters:
h- The 2D histogram to which to connect to.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
create2DConnection
void create2DConnection(IHistogram2D h, int xIndex, int yIndex) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
create2DConnection
void create2DConnection(ICloud2D c) throws java.lang.IllegalArgumentException
Create a two dimensional connection to an ICloud2D.- Parameters:
c- The 2D cloud to which to connect to.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
create2DConnection
void create2DConnection(ICloud2D c, int xIndex, int yIndex) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
create2DConnection
void create2DConnection(IProfile2D p) throws java.lang.IllegalArgumentException
Create a two dimensional connection to an IProfile2D.- Parameters:
p- The 2D profile to which to connect to.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
create2DConnection
void create2DConnection(IProfile2D p, int xIndex, int yIndex) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
create2DConnection
void create2DConnection(IDataPointSet dp, int xIndex, int yIndex, int valIndex) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
create3DConnection
void create3DConnection(IHistogram3D h) throws java.lang.IllegalArgumentException
Create a three dimensional connection to an IHistogram3D.- Parameters:
h- The 3D histogram to which to connect to.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
create3DConnection
void create3DConnection(IHistogram3D h, int xIndex, int yIndex, int zIndex) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
create3DConnection
void create3DConnection(ICloud3D c) throws java.lang.IllegalArgumentException
Create a three dimensional connection to an ICloud3D.- Parameters:
c- The 3D cloud to which to connect to.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
create3DConnection
void create3DConnection(ICloud3D c, int xIndex, int yIndex, int zIndex) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
create3DConnection
void create3DConnection(IDataPointSet dp, int xIndex, int yIndex, int zIndex, int valIndex) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
createConnection
void createConnection(ITuple t, java.lang.String[] colNames) throws java.lang.IllegalArgumentException
Create a connection to an ITuple.- Parameters:
t- The ITuple.colNames- The names of the columns to which to connect.- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
createConnection
void createConnection(ITuple t, IEvaluator[] evals) throws java.lang.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:
java.lang.IllegalArgumentException- If something is wrong.
-
createConnection
void createConnection(IDataPointSet dp, int[] indices, int valIndex) throws java.lang.IllegalArgumentException
Create a connection to an IDataPointSet.- Parameters:
dp- The dataPointSet to which to connect to.indices- The indeces of the coordinates to which the variables are connected.valIndex- The index of the coordinate used as "height".- Throws:
java.lang.IllegalArgumentException- If something is wrong.
-
reset
void reset()
Remove all Ranges and connections; after this is like newly create.
-
dimension
int dimension()
The dimension of this IFitData, i.e. the number of connections.- Returns:
- The dimension of the IFitData.
-
dataDescription
java.lang.String dataDescription()
-
range
IRangeSet range(int index) throws java.lang.IllegalArgumentException
Get Range of the corresponding connection by index. The index represent the order in which connections are coming out of the IFitData.- Parameters:
The- index of the connection.- Returns:
- The Range
- Throws:
java.lang.IllegalArgumentException- If the Range does not exist.
-
-
DMelt 3.0 © DataMelt by jWork.ORG