IFitData
hep.aida

Interface IFitData

  • All Known Subinterfaces:
    IDevFitData
    All Known Implementing Classes:
    FitData


    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
    • Method Detail

      • create1DConnection

        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.
      • create1DConnection

        void create1DConnection(double[] x,                      double[] y,                      double[] corrMatrix)                        throws IllegalArgumentException
        Create 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:
        IllegalArgumentException - If something is wrong (if the dimensions of the arrays are incompatible).
      • create2DConnection

        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

        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

        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

        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

        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

        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

        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

        void createConnection(IDataPointSet dp,                    int[] indices,                    int valIndex)                      throws 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:
        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

        String dataDescription()
      • range

        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.
        Parameters:
        The - index of the connection.
        Returns:
        The Range
        Throws:
        IllegalArgumentException - If the Range does not exist.

SCaVis 2.2 © jWork.ORG