This page was created by the IDL library routine
mk_html_help. For more information on
this routine, refer to the IDL Online Help Navigator
or type:
? mk_html_help
at the IDL command line prompt.
Last modified: Fri Mar 24 12:48:51 2000.
NAME: CHECK_LIMITS_DFPAR PURPOSE: Check the limits of fitting parameters for drift model functions CATEGORY: PIA - processing CALLING SEQUENCE: CHECK_LIMITS_DFPAR, par0, drift_par, flag INPUT: par0: Array containing the initial values of parameters drift_par: Structure containing the fitted parameters and their limits KEYWORD PARAMETERS: MULTI_PIX: For non-interactive use. Performing loop over different pixels. OUTPUT: flag: Array wit flags for each parameter: (0=within limits,1=outside) COMMON BLOCKS: pia_drift_par RESTRICTIONS: The structure fit_par_str has to be defined prior to access this routine PROCEDURES USED: PIA LIB: MODIFICATION HISTORY: Written by: J. Acosta (IAC) November 1996 Version 5.x - Aug.96
(See check_limits_dfpar.pro)
NAME:
dffunct_info
PURPOSE:
Initializes the common blcck DFFUNCT_INFO which contains the information
for the differente fitting functions. In principle this should be the
only place where specific information for each function is contained.
The rest of routines used in the drifting modelling will work
independently of any function.
CATEGORY:
PIA - initialization
CALLING SEQUENCE:
DFFUNCT_INFO
INPUT PARAMETERS:
None
OUTPUT PARAMETERS:
None
PROCEDURES USED:
Common Block(s) or @ procedure(s):
dffunct_info
MODIFICATION HISTORY:
Written by: J.Acosta
Oct 96 Version 5.x
Include Fouks for Triangular and sawtooth chopp. (Jacosta) May 97
(See dffunct_info.pro)
NAME:
dffunct_info
PURPOSE:
Initializes the common blcck DFFUNCT_INFO which contains the information
for the differente fitting functions. In principle this should be the
only place where specific information for each function is contained.
The rest of routines used in the drifting modelling will work
independently of any function.
CATEGORY:
PIA - initialization
CALLING SEQUENCE:
DFFUNCT_INFO
INPUT PARAMETERS:
None
OUTPUT PARAMETERS:
None
PROCEDURES USED:
Common Block(s) or @ procedure(s):
dffunct_info
MODIFICATION HISTORY:
Written by: J.Acosta
Oct 96 Version 5.x
(See dffunct_info_forexp.pro)
NAME:
DRFT1.PRO
PURPOSE:
Function corresponding to the numerical differential drift model
CATEGORY:
PIA - processing
CALLING SEQUENCE:
fct = DRFT1(x,a)
INPUT:
x: independent variable
a: parameter set:
a(0) F ideal signal during measurement
a(1) p0 ideal signal before measurement
a(2) a coupling parameter
OUTPUT:
fct: function by time x
METHOD:
Numerical solution of differential equation
d(fct)
------- = F * a - fct * a = v
dt
MODIFICATION HISTORY:
Written by: B. Schulz (ESA/VILSPA-SAI) August 1996
Modified by: CG August 1996
Version 5.0 - Aug.96
(See drft1.pro)
NAME:
DRIFT_INIT
PURPOSE:
Re-Initializes the structure PHTDRIFT defining the contents as
a template structure PHTDRIFT_TYPE. It can be used for clearing
the whole DRIFT structure, in case this should show as necessary.
CATEGORY:
PIA - initialisation
CALLING SEQUENCE:
DRIFT_INIT
INPUTS:
None
OUTPUTS:
None
KEYWORDS:
Index: If set, only those will be deleted from buffer
COMMON BLOCKS:
phtdrift
PROCEDURES USED:
MODIFICATION HISTORY:
Written by: Carlos Gabriel (ESA/SAI-VILSPA) Dec 1999
V8.2
(See drift_init.pro)
NAME:
DRIFT_MOD_PROC
PURPOSE:
Call a drift modelling routine returning the modelled signal
CATEGORY:
PIA - processing
CALLING SEQUENCE:
DRIFT_MOD_PROC, det, time, slop, slop_unc, slop_flag, rpid, step,$
tempera, fit_par_str, newhdr, CHOPPED=chopped, MULTI_PIX= multi_pix, $
PIXCH= pixch
INPUT:
det: Detector name
time: Array containing the signals' times
slop: Slopes array
slop_unc: Slopes' uncertainties array
slop_flag: Slopes' flags array
rpid: Raster points array
step: Chopper step positions array
tempera; Detector temperature array
KEYWORD PARAMETERS:
MULTI_PIX: For non-interactive use. Performing loop over different
pixels.
OUTPUT:
fit_par_str: Structure containing the fitting information:
mod_func: function used
nparams: number of parameters used
flag: output flag
param: parameters array
(3-dim: pixel, step, parameter)
sg_param: uncertainties of param
slop: fitted slopes
slop_flag: flag of the fitted slopes
signal: final signals
time_sg: time for final signals
err: uncertainties of 'signal'
chisq: chi-squares of the fit
COMMON BLOCKS:
TEMPERATURE
RESTRICTIONS:
The structure fit_par_str has to be defined prior to access this routine
PROCEDURES USED:
PIA LIB:
check_unc
fit_function
fouks_start_par
get_rastersteps
get_nchoppsweep
gauss_start_par
gaussinv_start_par
pixel_det
MODIFICATION HISTORY:
Written by: J. Acosta (IAC) June 1996
Modified by: C.Gabriel (ESA/VILSPA-SAI) August 1996
Temperature is included as input to be
used in thermal Fouks, by JAcosta(ESA/IAC) September 1996
Version 5.0 - Aug.96
Chi-square calculations improved (JA+CG) February 1997
Bug corrected when not enough points (JA) February 1997
V6.1
Possibility to use Fouks rectangular chopping mode
for meas. performde in triangular mode (JA) December 1998
(See drift_mod_proc.pro)
NAME: DRIFT_STD_SCP PURPOSE: Derive a SCP level structure using the drift analysis cumulated information and the standard acceptance criteria CATEGORY: PIA - processing CALLING SEQUENCE: drift_std_scp, driftps, scppos, ACC_ALL=acc_all INPUT: driftps: Position of the drift info within the phtdrift array scppos: Position of the scp meas. within the phtscp array KEYWORD PARAMETERS: ACC_ALL: Ignore drift analysis acceptance criteria OUTPUT: (none) COMMON BLOCKS: phtdrift phtscp RESTRICTIONS: PROCEDURES USED: PIA LIB: decode_flag MODIFICATION HISTORY: Written by: C. Gabriel (ESA/VILSPA-SAI) February 1997 V6.1 Bug for all accepted by array detectors fixed (CG) April 1997 V6.2
(See drift_std_scp.pro)
NAME:
FILL_DRIFT
PURPOSE:
FILLS a temporary structure into the dynamical structure PHTDRIFT
CATEGORY:
PIA - I/O
CALLING SEQUENCE:
FILL_DRIFT, tmp, REPLACE=replace
INPUT:
tmp : PHTDRIFT like temporary structure
OPTIONAL INPUT:
REPLACE : IF set (different to 0) put structure into this PHTDRIFT position
RESTRICTIONS:
tmp must be a valid phtdrift like temporary structure
PROCEDURES USED:
Common Block(s) or @ procedure(s):
phtdrift
MODIFICATION HISTORY:
Written by: J.Acosta (MPIA/ESA/IAC) October 1996
Updated by CG, including SLOP variation tag February 1997
V6.1
(See fill_drift.pro)
NAME:
FITPAR_STR_INIT
PURPOSE:
Initializes the drift fitting parameters for a given function
CATEGORY:
PIA - algorithms
CALLING SEQUENCE:
FITPAR_STR_INIT, tmpsrd, fitpar_str, init_error, ffunct,
[,/ONLY_MEASPAR] [,/DEFAULT] [,PIXEL=pixel]
INPUT:
tmpsrd: A phtsrd like temporary structure
ffunct: Optional parameter to specify a particular function.
If not specified a default function is used depending
on the detector:
Fouks function for P1, P2 & SL
Exponential function for P3, C100 & C200
OUTPUT:
fit_par_str: Structure containing the initial parameters for fitting
init_error: Initialization error (1-D array of NPIX elements)
KEYWORD PARAMETERS:
ONLY_MEASPAR: Change only parameters related to the measurement
DEFAULT: Assing values stored in common block DFFUNCT_INFO to
parameters independent of measurements
PIXEL: Use only the specified pixel
RESTRICTIONS:
TMPDATA must be a valid PHTSRD temporary structure
COMMON BLOCKS:
dffunct_info
pia_drift_par
PROCEDURES USED:
PIA LIB:
decode_admn
drift_mod_proc
pia_disp_print_file
pia_load_driftpar
pia_xplot
INTERNAL:
pia_drift_mod_event
MODIFICATION HISTORY:
Written by: J. Acosta (IAC-La Laguna) September 1996
Added flag as input parameter to parfunc call
(J.Acosta) October 1996
include all treatment with flag at beggining of
each chopper/raster plateau. Consistency with
fraction of the given measurement (J.Acosta) November 1996
Adapted to use mininmum time to discard values
(JAcosta) June 1997
Version 6.1 - Oct.96
(See fitpar_str_init.pro)
NAME: FIT_FUNCTION PURPOSE: Interface routine between measurement, signal drift parameters and fitting routine CATEGORY: PIA - processing CALLING SEQUENCE: FIT_Function, xx, yy, yyerr, yyflag, drift_par, step=STEP, $ RASTERSTEP = rasterstep INPUT: xx: The independent variable yy: The dependant variable yyerr: Uncertainty array of yy yyflag: Flag array corresponding to yy KEYWORD PARAMETERS: Step: Chopper step (not set for non chopped measurements) WEIGHT: indicate which weighting system is used among the following possibilities: sigma = 1/sigma^2 (DEFAULT) none = 1 time = exp((t-t_zero)/512.) signal = 1/abs(signal) OUTPUT: drift_par: A PIA_drift_par likely structure, containing e.g. the fitted parameters, sigmas, etc COMMON BLOCKS: (none) PROCEDURES USED: PIA lib: pia_curfit MODIFICATION HISTORY: Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996 New way to estimate the weights of points for the fit. A normalization based on stdev of the difference between consecutive signals J. Acosta January 1997 Version 5.0 - Aug.96 Bug in the flag treatment for chopped meas., + change call of get_nchoppsweep - JAcosta, Aug 1997
(See fit_function.pro)
NAME: FOUKSC_CHOP_DRIFT PURPOSE: Calculate the temperature independent Fouks function for rectangular chopped case and derivatives CATEGORY: PIA - processing CALLING SEQUENCE: FOUKSC_CHOP_DRIFT, t, a, step, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) step: Chopper step number KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996 Perform operation in double precision to avoid underflows (J.Acosta) October 1996 Version 5.0 - Aug.96
(See fouksc_chop_drift.pro)
NAME:
FOUKSC_CHOP_start_par
PURPOSE:
Calculate start parameters for the fouks model for chopped measurements
CATEGORY:
PIA - processing
CALLING SEQUENCE:
FOUKSC_CHOP_start_par, det, time, slop, flag, pixel, start_par, $
error=error, step=step
INPUT:
det: PHT detector ('P1', 'C2', ...)
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
STEP: Chopper step array
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
fouks_start_par
PROCEDURES USED:
PIA LIB:
s_ini_final
Astrolib:
readcol
MODIFICATION HISTORY:
Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996
Added flag as input parameter (J.Acosta) October 1996
Added time as input parameter J.Acosta October 1996
Added t_zero as input keyword (J.Acosta) October 1996
Set a dummy value for S_C(pixel) when
argument of sqrt is negative (J.Acosta) January 1997
Version 5.0 - Aug.96
(See fouks_chop_start_par.pro)
NAME: FOUKSC_DRIFT PURPOSE: Calculate the temperature independent Fouks function and derivatives CATEGORY: PIA - processing CALLING SEQUENCE: FOUKSC_DRIFT, t, a, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives ERROR: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: J.Acosta (IAC) + C.Gabriel (ESA/VILSPA-SAI) August 1996 E_j is taken normalized to Temp = 3.K Version 5.0 - Aug.96
(See fouksc_drift.pro)
NAME: FOUKSC_RTCHO_DRIFT PURPOSE: Calculate the temperature independent Fouks function for rectangular chopped case and derivatives. It includes all chopper steps and compute the signal jump based on final values. CATEGORY: PIA - processing CALLING SEQUENCE: FOUKSC_RTCHO_DRIFT, t, a, step, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) step: Chopper step number KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996 Perform operation in double precision to avoid underflows (J.Acosta) October 1996 Version 5.0 - Aug.96
(See fouksc_rtcho_drift.pro)
NAME:
FOUKSC_RTCHO_start_par
PURPOSE:
Calculate start parameters for the fouks model for rectangular
chopped measurements. It includes all chopper steps and
compute the signal jump based on final values.
CATEGORY:
PIA - processing
CALLING SEQUENCE:
FOUKSC_RTCHO_start_par, det, time, slop, flag, pixel, start_par, $
ERROR=error, STEP=step, SG_JUMP = sg_jump
INPUT:
det: PHT detector ('P1', 'C2', ...)
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
STEP: Chopper step array
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
fouks_start_par
PROCEDURES USED:
PIA LIB:
s_ini_final
Astrolib:
readcol
MODIFICATION HISTORY:
Written by: J.Acosta (VILSPA) January 1997
Set a dummy value for S_C(pixel) when
argument of sqrt is negative (J.Acosta) January 1997
Version 5.6 - Jan.97
Small changes in start parameters (JA+CG) February 1997
V6.1
Starting values for final fluxes come from
all chopper plateaux corresponding to a given
step. Jumps are determined in a rough way (JACOSTA) August 1997
V6.4
(See fouksc_rtcho_start_par.pro)
NAME:
FOUKSC_start_par
PURPOSE:
Calculate start parameters for the fouks model
CATEGORY:
PIA - processing
CALLING SEQUENCE:
FOUKSC_start_par, det, time, slop, flag, pixel, start_par, $
error=error
INPUT:
det: PHT detector ('P1', 'C2', ...)
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
fouks_start_par
PROCEDURES USED:
PIA LIB:
s_ini_final
Astrolib:
readcol
MODIFICATION HISTORY:
Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996
Added flag as input parameter (J.Acosta) October 1996
Added time as input parameter (J.Acosta) October 1996
Added t_zero as input keyword (J.Acosta) November 1996
Set a dummy value for S_C(pixel) when
argument of sqrt is negative (J.Acosta) January 1997
Version 5.0 - Aug.96
(See fouks_start_par.pro)
NAME: FOUKSC_STCHO_DRIFT PURPOSE: Calculate the temperature independent Fouks function for rectangular chopped case and derivatives. It includes all chopper steps and compute the signal jump based on final values. CATEGORY: PIA - processing CALLING SEQUENCE: FOUKSC_STCHO_DRIFT, t, a, step, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) step: Chopper step number KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996 Perform operation in double precision to avoid underflows (J.Acosta) October 1996 Version 5.0 - Aug.96
(See fouksc_stcho_drift.pro)
NAME:
FOUKSC_STCHO_start_par
PURPOSE:
Calculate start parameters for the fouks model for sawtooth
chopped measurements. It includes all chopper steps and
compute the signal jump based on final values.
CATEGORY:
PIA - processing
CALLING SEQUENCE:
FOUKSC_STCHO_start_par, det, time, slop, flag, pixel, start_par, $
ERROR=error, STEP=step, SG_JUMP = sg_jump
INPUT:
det: PHT detector ('P1', 'C2', ...)
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
STEP: Chopper step array
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
fouks_start_par
PROCEDURES USED:
PIA LIB:
s_ini_final
Astrolib:
readcol
MODIFICATION HISTORY:
Written by: J.Acosta (VILSPA) May 1997
V6.2
Starting values for final fluxes come from
all chopper plateaux corresponding to a given
step. Jumps are determined in a rough way (JACOSTA) August 1997
v6.4
(See fouksc_stcho_start_par.pro)
NAME: FOUKSC_TTCHO_DRIFT PURPOSE: Calculate the temperature independent Fouks function for rectangular chopped case and derivatives. It includes all chopper steps and compute the signal jump based on final values. CATEGORY: PIA - processing CALLING SEQUENCE: FOUKSC_TTCHO_DRIFT, t, a, step, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) step: Chopper step number KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996 Perform operation in double precision to avoid underflows (J.Acosta) October 1996 Version 5.0 - Aug.96
(See fouksc_ttcho_drift.pro)
NAME:
FOUKSC_TTCHO_start_par
PURPOSE:
Calculate start parameters for the fouks model for triangular
chopped measurements. It includes all chopper steps and
compute the signal jump based on final values.
CATEGORY:
PIA - processing
CALLING SEQUENCE:
FOUKSC_TTCHO_start_par, det, time, slop, flag, pixel, start_par, $
ERROR=error, STEP=step, SG_JUMP = sg_jump
INPUT:
det: PHT detector ('P1', 'C2', ...)
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
STEP: Chopper step array
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
fouks_start_par
PROCEDURES USED:
PIA LIB:
s_ini_final
Astrolib:
readcol
MODIFICATION HISTORY:
Written by: J.Acosta (VILSPA) May 1997
V6.2
Starting values for final fluxes come from
all chopper plateaux corresponding to a given
step. Jumps are determined in a rough way (JACOSTA) August 1997
v6.4
(See fouksc_ttcho_start_par.pro)
NAME: FOUKST_CHOP_DRIFT PURPOSE: Calculate the temperature dependent Fouks function and its derivatives CATEGORY: PIA - processing CALLING SEQUENCE: FOUKST_CHOP_DRIFT, t, a, fct, pder, error, FINAL=final, STEP=step INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: therm_int MODIFICATION HISTORY: Written by: J.Acosta (IAC) + C.Gabriel (ESA/VILSPA-SAI) August 1996 Correction of bugs and include a new way to compute integrals (J.Acosta) October 1996 Version 5.0 - Aug.96
(See foukst_chop_drift.pro)
NAME:
FOUKST_CHOP_start_par
PURPOSE:
Calculate start parameters for the fouks model for chopped measurements,
with temperature influence
CATEGORY:
PIA - processing
CALLING SEQUENCE:
FOUKST_CHOP_start_par, det, time, slop, flag, pixel, start_par, $
error=error, step=step
INPUT:
det: PHT detector ('P1', 'C2', ...)
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
STEP: Chopper step array
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
fouks_start_par
PROCEDURES USED:
PIA LIB:
s_ini_final
Astrolib:
readcol
MODIFICATION HISTORY:
Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996
Added flag as input parameter (J.Acosta) October 1996
Added time as input parameter J.Acosta October 1996
Added t_zero as input keyword (J.Acosta) November 1996
Small change in initial pars (jacg) Dec 1996
Set a dummy value for S_C(pixel) when
argument of sqrt is negative (J.Acosta) January 1997
Version 5.0 - Aug.96
(See foukst_chop_start_par.pro)
NAME: FOUKST_DRIFT PURPOSE: Calculate the temperature dependent Fouks function and its derivatives CATEGORY: PIA - processing CALLING SEQUENCE: FOUKSC_DRIFT, t, a, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: therm_int MODIFICATION HISTORY: Written by: J.Acosta (IAC) + C.Gabriel (ESA/VILSPA-SAI) August 1996 Correction of bugs and include a new way to compute integrals (J.Acosta) October 1996 Version 5.0 - Aug.96
(See foukst_drift.pro)
NAME:
FOUKST_start_par
PURPOSE:
Calculate start parameters for the fouks thermal model
CATEGORY:
PIA - processing
CALLING SEQUENCE:
FOUKSC_start_par, det, time, slop, flag, pixel, start_par, $
error=error
INPUT:
det: PHT detector ('P1', 'C2', ...)
time: Time array
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
fouks_start_par
PROCEDURES USED:
Astrolib:
readcol
MODIFICATION HISTORY:
Written by: J.Acosta (ESA/VILSPA-SAI) October 1996
Added flag as input parameter (J.Acosta) October 1996
Added t_zero as input keyword (J.Acosta) November 1996
Set a dummy value for S_C(pixel) when
argument of sqrt is negative (J.Acosta) January 1997
Version 5.1 - Oct.96
(See foukst_start_par.pro)
NAME: FUNCTION_2B_FITTED PURPOSE: Interface function for drift modelling functions written as procedures CATEGORY: PIA - processing CALLING SEQUENCE: Result = FUNCTION_2B_FITTED(var) INPUT: var: The dependant parameters KEYWORD PARAMETERS: (none) OUTPUT: Result: Chi-square corresponding to the distribution passed by common F_2B_FIT, function passed by common PIA_DRIFT_PAR and the variables var. COMMON BLOCKS: F_2B_FIT Containing x, y(x), w(x)=weight, r(x)=raster/chopper step PROCEDURES USED: MODIFICATION HISTORY: Written by: C.Gabriel (ESA/VILSPA-SAI) February 1997 Version 6.1
(See function_2b_fitted.pro)
NAME: INVEXP_DRIFT PURPOSE: Calculate an offset inverse exponential function and derivatives CATEGORY: PIA - processing CALLING SEQUENCE: INVEXP_DRIFT, t, a, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: J.Acosta (IAC) + C.Gabriel (ESA/VILSPA-SAI) August 1996 Version 5.0 - Aug.96
(See invexp_drift.pro)
NAME:
INVEXP_start_par
PURPOSE:
Calculate start parameters for the 'offset inverse exponential' drift
function
CATEGORY:
PIA - processing
CALLING SEQUENCE:
GAUSSINV_start_par, det, time, slop, flag, pixel, start_par, $
error=error
INPUT:
det: PHT detector ('P1', 'C2', ...)
time: Time array
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
(none)
PROCEDURES USED:
PIA LIB:
s_ini_final
MODIFICATION HISTORY:
Written by: J. Acosta (IAC) August 1996
Added flag as input parameter (J.Acosta) October 1996
Added time as input parameter J.Acosta October 1996
Added t_zero as input keyword (J.Acosta) November 1996
Version 5.0 - Aug.96
(See invexp_start_par.pro)
NAME: NUMDIF_DRIFT PURPOSE: Calculate an offset exponential function and derivatives CATEGORY: PIA - processing CALLING SEQUENCE: NUMDIF_DRIFT, t, a, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: B. Schulz (ESA/VILSPA-SAI) + CG August 1996 Version 5.0 - Aug.96
(See numdif_drift.pro)
NAME:
NUMDIF_start_par
PURPOSE:
Calculate start parameters for the 'Numerical differ' drift function
CATEGORY:
PIA - processing
CALLING SEQUENCE:
NUMDIF_start_par, det, time, slop, flag, pixel, start_par, $
error=error
INPUT:
det: PHT detector ('P1', 'C2', ...)
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
(none)
PROCEDURES USED:
PIA LIB:
s_ini_final
MODIFICATION HISTORY:
Written by: C. Gabriel (ESA/VILSPA-SAI) August 1996
Added flag as input parameter (J.Acosta) October 1996
Added t_zero as input keyword (J.Acosta) November 1996
Added time as input parameter J.Acosta October 1996
Version 5.0 - Aug.96
(See numdif_start_par.pro)
NAME:
OFFEX2_start_par
PURPOSE:
Calculate start parameters for the 'two offset exponential' drift
function
CATEGORY:
PIA - processing
CALLING SEQUENCE:
OFFEXP_start_par, det, time, slop, flag, pixel, start_par, $
error=error
INPUT:
det: PHT detector ('P1', 'C2', ...)
time: Time array
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
(none)
PROCEDURES USED:
PIA LIB:
s_ini_final
MODIFICATION HISTORY:
Written by: J. Acosta (IAC) November 1996
added prescription to estimate lambda (J.Acosta) November 1996
Version 5.3 - Nov.96
(See offexp2_start_par.pro)
NAME: OFFEXP2_DRIFT PURPOSE: Calculate an offset exponential function and derivatives CATEGORY: PIA - processing CALLING SEQUENCE: OFFEXP2_DRIFT, t, a, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: J.Acosta (IAC) + C.Gabriel (ESA/VILSPA-SAI) November 1996 Version 5.3 - Nov.96
(See offexp2_drift.pro)
NAME: OFFEXP3_DRIFT PURPOSE: Calculate an offset exponential function and derivatives CATEGORY: PIA - processing CALLING SEQUENCE: OFFEXP3_DRIFT, t, a, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: J.Acosta (IAC) + C.Gabriel (ESA/VILSPA-SAI) November 1996 Version 5.3 - Nov.96
(See offexp3_drift.pro)
NAME:
OFFEXP3_start_par
PURPOSE:
Calculate start parameters for the 'two offset exponential' drift
function
CATEGORY:
PIA - processing
CALLING SEQUENCE:
OFFEXP_start_par, det, time, slop, flag, pixel, start_par, $
error=error
INPUT:
det: PHT detector ('P1', 'C2', ...)
time: Time array
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
(none)
PROCEDURES USED:
PIA LIB:
s_ini_final
MODIFICATION HISTORY:
Written by: J. Acosta (IAC) November 1996
added prescription to estimate lambda (J.Acosta) November 1996
Version 5.3 - Nov.96
(See offexp3_start_par.pro)
NAME: OFFEXP_DRIFT PURPOSE: Calculate an offset exponential function and derivatives CATEGORY: PIA - processing CALLING SEQUENCE: OFFEXP_DRIFT, t, a, fct, pder, error, FINAL=final INPUT: t: The independent variable a: The parameter set (variable and fixed parameters) KEYWORD PARAMETERS: FINAL: For a final calculation, without looking which parameters are variable. No calculation of derivatives. OUTPUT: fct: The function values for t pder: The derivatives error: Error flag checking for the consistency of the function params. COMMON BLOCKS: pia_drift_par PROCEDURES USED: MODIFICATION HISTORY: Written by: J.Acosta (IAC) + C.Gabriel (ESA/VILSPA-SAI) August 1996 Change the functional form to have tau=E/S_final^p Feb 1997 Using drift_par.t_ini instead of drift_par.t_zero, as definition has changed (JAcosta) June 1997 Version 5.0 - Aug.96
(See offexp_drift.pro)
NAME:
OFFEXP_start_par
PURPOSE:
Calculate start parameters for the 'offset exponential' drift function
CATEGORY:
PIA - processing
CALLING SEQUENCE:
OFFEXP_start_par, det, time, slop, flag, pixel, start_par, $
error=error
INPUT:
det: PHT detector ('P1', 'C2', ...)
time: Time array
slop: Signal slopes array
pixel: Pixel to be used
KEYWORD PARAMETERS:
ERROR: Results of computation
OUTPUT:
start_par: The start parameters
COMMON BLOCKS:
(none)
PROCEDURES USED:
PIA LIB:
s_ini_final
MODIFICATION HISTORY:
Written by: J. Acosta (IAC) August 1996
Added flag as input parameter (J.Acosta) October 1996
Added time as input parameter J.Acosta October 1996
Added t_zero as input keyword (J.Acosta) November 1996
handling error when initialization was not
succesful (J.Acosta) June 1997
Version 5.0 - Aug.96
Change parameters for C100 (JAcosta) January 1998
Version 6.6
(See offexp_start_par.pro)
NAME:
PHTDRIFT
PURPOSE:
Definition of the common block PHTDRIFT for inclusion
into other routines.
CATEGORY:
PIA - common block
CALLING SEQUENCE:
@phtdrift
MODIFICATION HISTORY:
Written by: Carlos Gabriel (ESA/ESTEC) + J Acosta (La Laguna) Oct96
V5.x
(See phtdrift.pro)
NAME:
Phtdrift_init
PURPOSE:
Initializes the structure PHTDRIFT defining the contents as
a template structure PHTDRIFT_TYPE. It can be used for clearing
the whole DRIFT structure, in case this should show as necessary.
CALLING SEQUENCE:
@phtdrift_init
COMMON BLOCKS:
phtdrift
MODIFICATION HISTORY:
Written by: C. Gabriel + J. Acosta October 1996
V5.x
(See phtdrift_init.pro)
NAME: PIA_CURFIT PURPOSE: Non-linear least squares fit to a function of an arbitrary number of parameters. Function may be any non-linear function where the partial derivatives are known or can be approximated. CATEGORY: E2 - Curve and Surface Fitting CALLING SEQUENCE: yfit = curfit(x,y,w,a,sigmaa) INPUTS: X = Row vector of independent variables. Y = Row vector of dependent variable, same length as x. W = Row vector of weights, same length as x and y. For no weighting w(i) = 1., instrumental weighting w(i) = 1./y(i), etc. More correct: If w(i) = 1/sigma^2 then SIGMAA = OK, then only in this case Chi^2 has the right meaning (CG) A = Vector of nterms length containing the initial estimate for each parameter. If A is double precision, calculations are performed in double precision, otherwise in single prec. R = Two-dimensional array of ranges, for avoiding getaway parameters r=[3,N], with [(min,max,no_use), nterms] KEYWORD PARAMTERS: funct = string containing the name of the fitting function. Default = 'funct' flag = 0 if fit OK, 1 if no convergence found quiet = 1 to suppress printing interation information. max_its = Maximum number of iterations the function will do before giving up. Default=1000. accept = Acceptance criterion for acceptable fit. This number is equal to the relative change in the ChiSquare statistic from one iteration to the next. Default=.00001 step = Step array OUTPUTS: A = Vector of parameters containing fit. Function result = YFIT = Vector of calculated values. OPTIONAL OUTPUT PARAMETERS: Sigmaa = Vector of standard deviations for parameters A. COMMON BLOCKS: NONE. SIDE EFFECTS: The function to be fit must be defined and called FUNCT. For an example see FUNCT in the IDL User's Libaray. Call to FUNCT is: FUNCT,X,A,F,PDER where: X = Vector of NPOINT independent variables, input. A = Vector of NTERMS function parameters, input. F = Vector of NPOINT values of function, y(i) = funct(x(i)), output. PDER = Array, (NPOINT, NTERMS), of partial derivatives of funct. PDER(I,J) = Derivative of function at ith point with respect to jth parameter. Optional output parameter. PDER should not be calculated if parameter is not supplied in call (unless you want to waste some time). RESTRICTIONS: NONE. PROCEDURE: Copied from "CURFIT", least squares fit to a non-linear function, pages 237-239, Bevington, Data Reduction and Error Analysis for the Physical Sciences. "This method is the Gradient-expansion algorithm which compines the best features of the gradient search with the method of linearizing the fitting function." Iterations are perform until the chi square changes by only 0.001% or until 1000 iterations have been performed. The initial guess of the parameter values should be as close to the actual values as possible or the solution may not converge. MODIFICATION HISTORY: PIA adaptation for including parameter ranges Written, DMS, RSI, September, 1982. Modified by D.L. Windt, AT&T Bell Labs, March, 1989.
(See pia_curfit.pro)
NAME:
PIA_DISPDRIFT
PURPOSE:
Menu for PIA Drift Analysis intermediate level.
This routine should only be called by the PIA Display Data routine
and should not be called directly from the command line.
CATEGORY:
PIA - graphics
CALLING SEQUENCE:
PIA_DISPDRIFT, driftps, data_srd, scpps
INPUT PARAMETERS:
driftps: Position within the phtdrift dynamycal structure
data_srd: Temporary SRD level structure
scpps: Position within the phtscp dynamycal structure
KEYWORD PARAMETERS:
GROUP: The group leader of the widget hirarchy
NV: Number of Views (1 <= NV <= 4)
COMMON BLOCKS:
adm
colour_indices
drift_not_acc
phtdrift
phtscp
pia_driftmod_out
pia_dispdrift_cmn (internal)
pia_dspchdr_cmn (internal)
pia_dspchz_cmn
pia_widget_info
PROCEDURES USED:
PIA LIB:
drift_std_scp
pia_get_step
pia_get_rpid
pia_drift_mod
pia_xplot
pia_showstr
pia_disp_hdr
pia_disp_cs
pia_disp_isr
pia_disp_stat
pia_dispscp
ASTRO LIB:
INTERNAL:
drft_showpar
pixbuteventd
viewevent_drft
zoomevent_drft
zoomsync_drft
zoomnsync_drft
pia_resetview_drft
pia_dispdrift_event
reprocess_drft
MODIFICATION HISTORY:
Written by: C.Gabriel (ESA/VILSPA-SAI) February 1997
V6.1
Refreshing drift info before new actions
+ bug with pixel change fixed +
+ saving capability (CG) May 1997
V6.3
Calling sequence to pia_dispscp (JAc) October 1997
V6.6
Inconsistency in common block removed (CG) April 1998
V7.1
Bug by pixel serial decrement fixed (CG) August 1999
V8.0
(See pia_dispdrift.pro)
NAME: PIA_DRIFT_DEFIN PURPOSE: Simple Menu for choosing different drift handling methods CATEGORY: PIA - graphics CALLING SEQUENCE: PIA_DRIFT_DEFIN, DRIFT_DEFIN_STR INPUT: (none) OUTPUT: DRIFT_DEFIN_STR: a structure containing handling to be used METHOD: Widgets COMMON BLOCKS: none MODIFICATION HISTORY: Written by: C.Gabriel (ESA/ESTEC) December 1996 Interactive+cancel choices included (JACOSTA) January 1997
(See pia_drift_defin.pro)
NAME:
PIA_DRIFT_INIPAR
PURPOSE:
Menu for project signals algorithm parameters handling.
CATEGORY:
PIA - graphics
CALLING SEQUENCE:
PIA_DRIFT_INIPAR, det, GROUP=group
INPUT:
det: The detector to be drift modelled
KEYWORD PARAMETERS:
GROUP: The group leader of the widget hirarchy
RESTRICTIONS:
TMPDATA must be a valid PHTSRD temporary structure
COMMON BLOCKS:
colour_indices
not_acc
pia_driftmod_cmn
pia_drift_par
PROCEDURES USED:
PIA LIB:
decode_admn
drift_mod_proc
pia_disp_print_file
pia_load_driftpar
pia_xplot
INTERNAL:
pia_drift_mod_event
MODIFICATION HISTORY:
Written by: JAcosta (IAC/VILSPA-SAI) October 1996
Version 5.1 - Oct.96
/Modal use according to IDL >= 5.0 (CG)
V7.3
(See pia_drift_inipar.pro)
NAME:
PIA_DRIFT_MOD
PURPOSE:
Menu for modelling PHT signals' drifts.
CATEGORY:
PIA - graphics
CALLING SEQUENCE:
PIA_DRIFT_MOD, tmpdata, pixel, sig_disc, degl_acc, degl_set
INPUT:
tmpdata: A phtsrd like temporary structure
pixel: The pixel number of the data to be used
sig_disc: Flag array corresponding to tmpdata.slop (0:OK,1:BAD)
degl_acc: Flag array corresponding to deglitched points (same)
degl_set: Flag indicating validity of degl_acc
KEYWORD PARAMETERS:
GROUP: The group leader of the widget hirarchy
FITRESULTS: If set, widget prepared for reprocess results
(comm. through CB pia_driftmod_out)
RESTRICTIONS:
TMPDATA must be a valid PHTSRD temporary structure
COMMON BLOCKS:
colour_indices
not_acc
pia_driftmod_cmn
pia_drift_par
pia_driftmod_out
PROCEDURES USED:
PIA LIB:
decode_admn
drift_mod_proc
pia_disp_print_file
pia_load_driftpar
pia_xplot
INTERNAL:
pia_drift_mod_event
MODIFICATION HISTORY:
Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996
Change call of drift_mod_proc, suppressing
chopped keyword (J.Acosta) October 1996
Version 5.0 - Aug.96
Extended for reprocessing results (Keyword FITRESULTS)
CG - February 1997
Version 6.1
(See pia_drift_mod.pro)
NAME: PIA_LOAD_DRIFTPAR1 PURPOSE: Load drift modelling parameters into structure PIA_DRIFTPAR CATEGORY: PIA - processing CALLING SEQUENCE: PIA_LOAD_DRIFTPAR1, drift_par, pixel, FUNCT = funct, NON_INT = non_int INPUT: tmpdata: A phtsrd like temporary structure pixel: The pixel number of the data to be used KEYWORD PARAMETERS: FUNCT: The name of the function to be used NON_INT: When using it non-interactively less parameters are set variable RESTRICTIONS: TMPDATA must be a valid PHTSRD temporary structure COMMON BLOCKS: dffunct_info PROCEDURES USED: PIA LIB: fouks_start_par gauss_start_par gaussinv_start_par MODIFICATION HISTORY: Written by: C.Gabriel (ESA/VILSPA-SAI) August 1996 Version 5.0 - Aug.96
(See pia_load_driftpar1.pro)
NAME:
PIA_load_IDRIFT
PURPOSE:
Write a PHT-DRIFT (Signal per chopper plateau) measurement from the
dynamical structure DRIFTDAT (PHTDRIFT type) onto a temporary structure
CATEGORY:
PIA - processing
CALLING SEQUENCE:
PIA_LOAD_IDRIFT, driftdat, tmpdrift
INPUT:
DRIFTDAT : PHTDRIFT like dynamical structure
KEYWORDS:
none
OUTPUTS:
TMPDRIFT : A temporary structure of SCP type
RESTRICTIONS:
DRIFTDAT must exist
MODIFICATION HISTORY:
Written by: J.Acosta (ESA/MPIA/IAC) October 1996
Oct 96 Version 5.x
(See pia_load_idrift.pro)
NAME:
READ_IDRIFT
PURPOSE:
READ a PHTIDRIFT (Interactive Signal per Chopper Plateau) file
into the dynamical structure PHTDRIFT
CATEGORY:
PIA - I/O
CALLING SEQUENCE:
READ_IDRIFT, NAME, IPOS, [PATH = PATH]
INPUT:
NAME : DRIFT-savefile name
OPTIONAL INPUT:
PATH : path for the file
RESTRICTIONS:
NAME must be a valid PHTIDRIFT file
PROCEDURES USED:
Common Block(s) or @ procedure(s):
adm
phtdrift
MODIFICATION HISTORY:
Written by: J.Acosta (ESA/MPIA/IAC) October 1996
Oct 96 Version 5.x
(See read_idrift.pro)
NAME: SAVE_DRIFT_STR PURPOSE: Save a given drift fit parameter set into a structure per pixel drift parameter fit CATEGORY: PIA - processing CALLING SEQUENCE: SAVE_DRIFT_STR, INPUT: drift_par: Structure containing the last fit parameters KEYWORD PARAMETERS: PIXEL: The pixel number of the data to be used ABS_TSTEP: The absolute chopper/raster position FF_ERROR: Error of the fitting function (third and leftmost bits) LPAR_ERROR: Fitting parameters out of limits (second bit) OUTPUT: SIDE EFFECT: fit_par_str: Structure containing the fitting information. It should be defined before input. COMMON BLOCKS: none PROCEDURES USED: PIA LIB: MODIFICATION HISTORY: Written by: J. Acosta (IAC) September 1996 Inclusion of new flag code December 1996 Version 5.0 - Aug.96
(See save_drift_str.pro)
NAME:
SET_DRIFTPAR_SRD
PURPOSE:
Call a drift modelling routine returning the modelled signal
CATEGORY:
PIA - processing
CALLING SEQUENCE:
SET_DRIFTPAR_SRD, fitpar_srd, drift_par, pix, abs_tstep
INPUT:
fitpar_srd: Initial values coming from a particular measurement
abs_tstep: Absolute chopper/raster position for which the output
parameters will be derived
pix: Pixel number for which initial params. are required,
if not specified it will take 1 (eg. 1-pix detectors)
KEYWORD PARAMETERS:
DEFAULT: It returns a dummy structure based on the common block
DFFUNCT_INFO. The keyword DET has to be set simultaneously.
DET: It must be used in combination with the keyword DEFAULT
to specify a detector. It is mandatory when /DEFAULT is set.
FFUNCT: The name of the drift modelling function. If not used the
function which is default for the detector specified.
OUTPUT:
drift_par: Structure containing the fitting information:
p_label: Label of parameters
a_var: flag for variation [0:fixed, 1:free]
ffunc: function used
minp_ext: Minimum number of points used for fit
fract_left: fraction of measurement not used
p_field: parameter to be fitted
s_field: error of fitted parameters
p_range: limits of variation for fitting params.
t_zero: Initial time of meas. If chopped keyword
is set then it contains two values
temp_zero: Initial temp. of meas. If chopped keyword
is set then it contains two values
flag: output fit flag
chisq: chi-squares of the fit
chisqt: limiting chi-square to accept the fit
COMMON BLOCKS:
dffunct_info
RESTRICTIONS:
The structure fitpar_srd has to be defined prior to access this routine
PROCEDURES USED:
PIA LIB:
MODIFICATION HISTORY:
Written by: J. Acosta (IAC) October 1996
keyword long_sTR included and order of
input parameters January 1997
Added keywords DEFAULT, FFUNCT and DET June 1997
Bug correction (JAcosta) June 1997
Version 5.x - Oct.96
(See set_driftpar_srd.pro)
NAME: S_ini_final PURPOSE: Estimate initial and final value for a stream of signals CATEGORY: PIA - processing CALLING SEQUENCE: S_ini_final, time, slop, flag, s_ini, s_final, ERROR=error, T_ZERO=t_zero, DETECTOR = detector INPUT: slop: Signal slopes array (it can be 2-dimensional) flag; Flag signal array (it can be 2-dimensional, same dims as slop) KEYWORD PARAMETERS: ERROR: Results of computation INI_EXTPOL: extrapolate to obtain initial value FIN_EXTPOL: extrapolate to obtain final value OUTPUT: s_ini: Initial signal s_final: Final signal DerS_ini: estimate of derivative at t_zero COMMON BLOCKS: (none) MODIFICATION HISTORY: Written by: J. Acosta (IAC) October 1996 Version 5.2 - Oct.96
(See s_ini_final.pro)
NAME:
WRITE_IDRIT
PURPOSE:
Write a PHTDRIFT (Signal Drift Data) measurement from the dynamical
structure PHTDRIFT onto an IDL savefile
CATEGORY:
PIA - I/O
CALLING SEQUENCE:
WRITE_IDRIFT, PHTDRIFT_INDEX, PATH = path, FNAME = fname
INPUT:
PHTDRIFT_INDEX : Index of the measurement within PHTDRIFT
OUTPUT:
IDL save file
RESTRICTIONS:
PHTDRIFT(PHTDRIFT_INDEX) must exist
PROCEDURES USED:
Common Block(s) or @ procedure(s):
phtdrift
MODIFICATION HISTORY:
Written by: J. Acosta
Oct 96 Version 5.x
(See write_idrift.pro)