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.