This is InspectPFunc.h in view mode; [Download] [Up]
/* InspectPFunc.h by Paul Kunz November 1992 * HippoDraw inspector for Minuit fitting * * Copyright (C) 1992 The Board of Trustees of * The Leland Stanford Junior University. All Rights Reserved. */ #define INSPECTPFUN_H_ID "$Id: InspectPFunc.h,v 1.29.2.1 1994/01/05 02:22:28 rensing Exp $" #import <appkit/appkit.h> #import "InspectBase.h" #import "minuitFCN.h" #import "hippo.h" @class PFunction; @interface InspectPFunc:InspectBase { /* GUI stuff, first panel... */ id funcBrowser; /* The list of functions */ id funcRadio; /* Radio buttons to selected functions */ id addButton; id parmForm; /* Form containing a parameter's values */ id parmSlider; /* Slider to change the value */ id parmSliderU; /* Button to nudge slider up */ id parmSliderD; /* Button to nudge slider down */ id parmRadio; /* Radio buttons for parmeter type */ id chiSqForm; /* holds the chi squared */ id fixMatrix; /* Switch boxes to fix value or limits */ id emptyBinButton; /* Button to hold popUpList */ id fitTypeButton; /* Button to hold popUpList */ id doFitButton; /* Button to initiate a fit */ id plotFuncButton; /* Button to hold popUpList */ id plotFSumButton; /* Button to hold popUpList */ /* resources... */ Matrix *emptyBinMatrix; /* matrix in popUpList */ Matrix *fitTypeMatrix; /* matrix in popUpList */ Matrix *plotFuncMatrix; /* matrix in popUpList */ Matrix *plotFSumMatrix; /* matrix in popUpList */ List *availFuncList; /* List of available functions */ List *dynamFuncList; /* List of functions dynamically loaded */ id fitter; /* The fitting package */ /* current selections cached for optimization... */ PFunction *plotFunction; /* selected plot function */ int pfIndex; /* index into selected parameter */ FCNParms fcnParms; /* structure to ship data to Minuit FCN */ ntuple fitNtuple; /* ntuple to hold the data to fit */ } - initInspFor:aDraw; /* * Initializes inspector for global control object aDraw * Adds itself to Inspector Panel when done. */ - setFitter:anObject; /* * Set the object to be used as a fitter. */ /* Action methods */ - add:sender; /* * Adds a function to a Plot's function list */ - remove:sender; /* * Removes a function from a Plot's function list. */ - changeFix:sender; /* * Responds to requested change to fixed / free parameters */ - funcRadioChanged:sender; /* * Responds to change on which functions to display. */ - parmRadioChanged:sender; /* * Responds to change in parameter type radio buttons */ - browserClicked:sender; /* * Responds to click in function browser. */ - sliderDragged:sender; /* * Responds to parameter slider being dragged by updating the * values and plot. */ - sliderNudged:sender; /* * Responds to buttons at the end of the parameter slider by updating the * values and plot. */ - checkFitValid; /* * The fit no longer matches the plot. We copy the previously fitted * parameters to the scratch area, select the Scratch button * and disable the Fitted button. */ - textDidEnd:sender endChar:(unsigned short)whyEnd; /* * Responds to change in the parameter form by running an algorithm * to change the value and others. */ - parmFormChanged:sender; /* * Ressponds to change in parameter Form when <CR> is hit */ - fitTypeChanged:sender; /* * Responds to request to change fit type */ - ebTypeChanged:sender; /* * Responds to request to change empty-bin action */ - plotFuncLineStyleChanged:sender; /* * Responds to request to change plot function linestyle */ - plotFSumLineStyleChanged:sender; /* * Responds to request to change plot function sum linestyle */ - doFit:sender; /* * Updates Minuit then does a fit. */ - addToAvailFuncs:sender; /* * Brings front an OpenPanel for the user to selected (multiple) * Plot function bundle(s) which are then loaded and made available. */ - startArchivingTo:(const char *)directory; /* * Searchs all Plots of the graphic view to find dynamically loaded * functions. If any are found, their bundle is written to * directory. */ /* Internal methods */ - fetchMinuit; /* * Fetchs the results from Minuit and updates displays. */ - loadParams:(double *)param; /* * Load the parameters from an array. Used by Chi^2 calculation * to set the parameters in the display's parameter blocks. */ - (List *) functionList; /* * Returns the currently selected function list, i.e either all * functions or ones on selected plot. */ - setParmType:(int)type; /* * Sets the parmRadio matrix to value type */ /* Updating methods */ - updatePlot; /* * Redraws the selected plot. */ - fullUpdate; /* * update everything including chi^2 */ - updateView; /* * Updates the Inspector's content View. */ - updatePlotMatrix; /* * Updates the plot function linestyle popups. */ - updateEmptySelection; /* * Updates the Inspector's content View when there is no selection. */ - updateBrowser; /* * Updates the function NXBrowser view, making sure that both * columns become visible. */ - updateChiSq; /* * Calculates and updateds the chi-Square display using BWG. */ - updateParmForm; /* * Updates the parameter value Form with values from selected * function, parameter and parameter type. */ - updateParmType; /* * Updates the parameter type matrix to that of the selected Plot. */ - updateDispType:(Plot *)plot; /* * Updates the data type matrix for given plot. */ /* Delegate Methods for NXBrowsers */ - (int) browser: sender fillMatrix: matrix inColumn: (int) column; - (int) fillColumnZeroMatrix:matrix; /* * Fills the column 0 matrix, i.e. the list of functions. */ - (int) fillColumnOneMatrix:matrix; /* * Fills the column 1 matrix, i.e. the list of parameters. */ @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.