@@ -0,0 +1,1833 @@
+package etomica.cavity;%0A%0Aimport etomica.data.DataProcessorForked;%0Aimport etomica.data.IData;%0Aimport etomica.data.IDataInfo;%0Aimport etomica.data.types.DataDouble;%0Aimport etomica.data.types.DataGroup;%0Aimport etomica.units.dimensions.Null;%0A%0Aclass DataProcessorExtract0 extends DataProcessorForked %7B%0A    protected String label;%0A    protected final DataGroup data;%0A    protected final DataProcessorFit errSource;%0A%0A    public DataProcessorExtract0(String label, DataProcessorFit errSource) %7B%0A        this.label = label;%0A        DataDouble%5B%5D myData = new DataDouble%5BerrSource == null ? 1 : 3%5D;%0A        myData%5B0%5D = new DataDouble();%0A        DataDouble.DataInfoDouble%5B%5D myDataInfo = new DataDouble.DataInfoDouble%5BmyData.length%5D;%0A        myDataInfo%5B0%5D = new DataDouble.DataInfoDouble(%22avg%22, Null.DIMENSION);%0A        if (myData.length == 3) %7B%0A            myData%5B1%5D = new DataDouble();%0A            myDataInfo%5B1%5D = new DataDouble.DataInfoDouble(%22the real avg%22, Null.DIMENSION);%0A            myData%5B2%5D = new DataDouble();%0A            myDataInfo%5B2%5D = new DataDouble.DataInfoDouble(%22err%22, Null.DIMENSION);%0A        %7D%0A        data = new DataGroup(myData);%0A        dataInfo = new DataGroup.DataInfoGroup(label, Null.DIMENSION, myDataInfo);%0A        dataInfo.addTag(tag);%0A        this.errSource = errSource;%0A    %7D%0A%0A    @Override%0A    protected IData processData(IData inputData) %7B%0A        if (errSource != null) %7B%0A            ((DataDouble) data.getData(0)).x = Double.NaN;%0A            ((DataDouble) data.getData(1)).x = inputData.getValue(0);%0A            ((DataDouble) data.getData(2)).x = errSource.getLastErr()%5B0%5D;%0A        %7D else %7B%0A            ((DataDouble) data.getData(0)).x = inputData.getValue(0);%0A        %7D%0A        return data;%0A    %7D%0A%0A    @Override%0A    protected IDataInfo processDataInfo(IDataInfo inputDataInfo) %7B%0A        return dataInfo;%0A    %7D%0A%7D%0A

Add new data processors to extract one element of a function