- PCTL
- System interaction commands
- PAC file I/O
- Dataspace manipulation
- PAC analysis
- Theories for use in command FITDS
- PAC simulation
PCTL
program PCTL online helpLast update: 17 July 1998
CIO commands and CIO variables
for- CIO commands
- CIO variables and CIO programs
- graphics
- array manipulation
The CIO syntax is described in CIO command language
Command line editing and history substitution
see EDITING and SUBSTITUTIONVERB
verb <level> The level of 'verbosity' of the program is changed to <level>. In general the program gives more information with increasing level. <level> : [0...3]. The different levels are poorly defined. Maybe this will change in the future, when the current PCTL maintainer gets terribly bored and sets up PCTL 5.0.
System interaction commands
see also CIO online helpCLS
cls Clear the terminal screen.
LS
ls <arguments> Display directories, as specified by the arguments, using the UNIX command ls. <arguments> : valid argument for UNIX ls
QUIT
quit The program pctl is quitted.
PAC file I/O
Open
open <filetype> <filename> The file <filename> is opened and treated as a pctl file of type <filetype>. If a file of type <filetype> was already opened that file is closed. <filetype> : dsp , asp, dat, pro or log <filename> : char[80]. In case a dsp file is opened, pctl generates a table of contents to facilitate fast retrieval of spectra by subsequent READSP or RSEQ commands. This version of OPEN is incompatible with CIO.
CLose
close <filetype> The pctl file <filetype> is closed. <filetype> : either dsp, asp, dat or pro This version of CLOSE is incompatible with CIO.
DLU
dlu The pctl file names and statuses are displayed This version of DLU is incompatible with CIO.
FPRint
fprint <txt> The string <txt> is written to the dat file stream. Special symbols such as $, or a leading ?, are recognized. Numerical values may be converted to text with the $(<expr>,<format>) feature, which is useful, e.g. to output the results of computations. This version of FPRINT is incompatible with CIO.see also OPEN and CLOSE.
IMport
import <#spectra> X Y_1 Y_2 ... Sets of datapoints are read from the pctl data file and stored in the arrays X, Y_1, ... Y_#spectra. The file data format should conform to the one used by Xgraph. <#spectra> : integer
READsp
readsp <#sets> <setsize> <run#> <offset> ... Sets of spectra are read from the default spectrum file, added together and stored in the buffer arrays usp0..11. Spectra are selected from the file by giving a run number <run#> and for each spectrum a separate <offset> must be given. In some cases it is convenient to skip an array in the buffer while reading from file. This can be realized by entering a 0 for the <run#> and <offset>. <#sets> : [1 ... 20] <setsize> : [1 ... 12] <run#>, <offset> : integer. The spectra are truncated to the length of the shortest spectrum.
RSEQ
rseq <nset> <setsize> <firstrun> Sets of spectra are read from the dsp file, added together and stored in the buffer arrays usp0...11. The <nset>*<setsize> spectra are read sequentially from the file starting at run <firstrun>. The offset is calculated using the code of the command OFFSET, i.e. single-sided time spectra are assumed. The spectra run numbers and the corresponding offsets are printed to STDOUT. <nset> : [1...20] <setsize> : [1...20] <firstrun> : int This really is a convenience function. Due care should be taken in a final analysis, because the calculated offsets tend to jitter a bit across different runs. Furthermore, the code does not check whether simple sum rules for the offsets are satisfied, e.g. (1-4) + (4-1) = (1-3) + (3-1) = (1-2) + (2-1).
WRITEsp
writesp [<filename>] A <run> <len> The numerical array A is written to the alternate spectrum file. If the file is not open the user is prompted for a filename. The run number written on the file is given by <run> and the array length is set equal to <len>. <run>, <len> : integer. The spectrum file format defined in writesp is obsolete as of pctl v1.3, i.e. the files produced by writesp in v4.01 cannot be read by READsp.
XPort
xport <datatype> <xunits> <#spectra> A, B ... <from> <to> Data is written to the pctl datafile in either the GNUplot dataformat (<datatype=1) or the Xgraph dataformat (<datatype>=0). With <xunits> the choice of x-units can be controlled. The number of y-spectra is given by <#spectra>. For each spectrum the corresponding CIO variable name should be given. Only the region [<from>,<to>] is written to file. <datatype> : 0(Xgraph), 1(GNUplot) <xunits> : ene,tim,fre,vel,cha <#spectra>,<from>,<to> : integer This version of XPORT is incompatible with CIO.
Dataspace manipulation
ADDDS
addds <A> <B> <C> <factor> The dataspace A is added to <factor>*<B> and the result is stored in <C>. The channel range is taken equal to the smallest meaningful channel range of <A> and <B>. If the units of <A> and <B> are different, the units of <C> are set to [chan]. If the calibration constants differ by more than 1%, the calibration constants of <C> are reset to 0.0 and 1.0 respectively. <A>,<B>,<C> : pac dataspace. <factor> : float.
CPds
cpds <A> <B> The dataspace <A> is copied to <B>. <A>,<B> : pac dataspace.
DIVDS
divds <A> <B> <C> The dataspace <A> is divided by <B> and the result is stored in <C> The channel range is taken equal to the smallest meaningful channel range of <A> and <B>. If the units of <A> and <B> are different, the units of <C> are set to [chan]. If the calibration constants differ by more than 1%, the calibration constants of <C> are reset to 0.0 and 1.0 respectively. <A>,<B>,<C> : pac dataspace
DIVDT
divd <A> <B> Divides data array of <A> by the theory array of <A> and stores the result in the data array of <B>. <A>,<B> : pac dataspace
INCDS
incds <A> <B> <const> A constant value <const> is added to <A> and the result is stored in <B>. <A>, <B> : pac dataspace. <const> : float.
LABSetds
labsetds <A> <option> .... Set part of the spectrum label of <A> depending on <option>. Valid options are: cal0 : set the offset of the spectrum. cal1 : set linear dependence of the spectrum. units : set x-units of the spectrum. lchan : set the last meaningful channel of the spectrum. label : set the spectrum title. <A> : pac dataspace. cal0,cal1 : float. units : chan,ns,eV,mm/s,1/chan,Mrad/s,1/eV,s/mm. lchan : integer. label : char[80].
LABListds
lablistds <A> List the contents of the spectrumlabel of <A> to the standard output. <A>: pac dataspace
MKds
mkds <name> <channels> Make the pac dataspace <name> with <channels> channels. The dataspace contains the following CIO variables: <name>d : data <name>e : errors <name>t : theory <name>p : fit parameters [0..NPAR-1 ] + errors in the parameters [NPAR..] <name>i : miscellaneous integer variables <name>f : miscellaneous float variables <name>s : label <name> : char(7) contents of the miscellaneous arrays spf and spi spf[0] : offset x-axis spf[1] : calibration x-axis spf[2] : chi-square of last performed fit spi[0] : x-axis units spi[1] : number of useful channels spi[2] : maximum number of channels spi[3] : theory number fit spi[4] : first channel in fit spi[5] : last channel in fit spi[6] : number of fit parameters spi[7] : number of free parameters spi[8..] : list of free parameters
MULTDS
multds <A> <B> <C> The dataspace <A> multiplied by <B> and the result is stored in <C>. The channel range is taken equal to the smallest meaningful channel range of <A> and <B>. If the units of <A> and <B> are different, the units of <C> are set to [chan]. If the calibration constants differ by more than 1%, the calibration constants of <C> are reset to 0.0 and 1.0 respectively. <A>, <B>, <C> : pac dataspace.
MULTCds
multcds <A> <B> <const> <B> = <const> * <A> The dataspace A is added to <factor>*<B> and the result is stored in <C>. The channel range is taken equal to the smallest meaningful channel range of <A> and <B>. If the units of <A> and <B> are different, the units of <C> are set to [chan]. If the calibration constants differ by more than 1%, the calibration constants of <C> are reset to 0.0 and 1.0 respectively. <A>, <B>, <C> : pac dataspace. <const> : float.
RMds
rmds <A> The pac dataspace <A> is deleted. <A> : pac dataspace.
RESDS
resds <A> The dataspace is reset. The data, error and theory spectra are reset to zero. The calibration constants are set to 0.0 and 1.0 respectively. The x-units are set to [chan]. The last meaningful channel is set to 4095 and the descriptive label is set to "". <A> : pac dataspace.
SWAPdt
swapdt <A> The experimental and theoretical spectrum of <A> are swapped and the error spectrum of <A> is reset to zero.
VLGDS
vlgds <A> <B> <B> = 10log <A> <A>,<B> : pac dataspace
PAC analysis
FFTds
fftds <A> <B> <xmax> <steps> <weighting> <parity> <norm> The fast fourier transforms of the theory and data of <A> are calculated for <steps> equidistant frequencies. The frequency step size is 1/(NCHAN/2) [chan^-1]. A linear background is subtracted from the time spectrum. The spectra are evaluated up to <xmax>. The shape of the weighting function of the FFT is determined by <weighting>. The parity of the function in the time domain is set with <parity>. Setting <norm> causes the powerspectrum to be normalized. The Fourier transforms are stored in <B>, and plotted in the GRINT window. The data is represented by the dashed line and the theory by the solid line. <A>, <B> : pac dataspace <to> : float <steps> : [10... NCHAN/2] <weighting> : <0.0... 9.0> <parity> : 0(even), 1(odd) <norm> : 0(no), 1(yes) The value <weighting> = 4.0 is recommended by T. Butz. The xrange is interpreted in terms of the units associated with <A>.
FITds
fitds <A> <theo#> <from> <to> <#p> <#pfree> <lst[0]> ... <lst[<#pfree-1]> <p[0]> ... <p[<#p>-1]> The theoretical function <theo#> is fitted to the data of <A> using the method of non-linear least squares. The fit region is equal to [<from>,<to>]. The total number of parameters is equal to <#p>. The total number of free parameters is equal to <#pfree>. The starting values of the parameters are given by <p[0...<#p-1>]>. The parameter numbers of the free parameters are listed in <lst[0... <#pfree>-1]>. The fitted function is stored in the the theory of <A>. The determined values of the free parameters are given with an estimate of the error.In case <#pfree> = 0 no fit is performed. The theoretical spectrum is calculated using the current parameter values. <A> : pac dataspace <p#>,<pval>,<theo#>,<from>,<to>,<#p>, <#pfree>,<lst[0]>...<lst[<#pfree>-1] : integer <p[0]>...<p[<#p>-1]> : real For more help on the available fit functions type HELP THEO<theo#>. The minimalistation is performed using the Levenbergh-Marquardt alghorithm. The error matrix is solved using the Cholesky factorization routines of the LAPACK library. If the factorization of the error matrix fales (zero diagonal element, illegal matrix element), the fit is aborted and the original parameter values are restored, while all the errors are set to zero.
FIXpar
fixpar <A> <i> ... The parameters <i> ... of the fit belonging to dataspace <A> is fixed. <A> : pac dataspace <i> : [0...<#p>-1], where <#p> is the total number of parameters, see fit.
FIXAll
fixall <A> All parameters of the fit belonging to dataspace <A> are fixed <A> : pac dataspace
FOURds
fourds <A> <B> <from> <to> <lowf> <highf> <fstep> <phase> <weight> The Fourier transform of the dataspace of <A> is calculated using overlap integrals and the result is stored in the theory of <B>. The range of the time domain is [<from>...<to>] [chan]. The frequency range is [<lowf>...<highf>] [Mrad]. The number of frequency steps is equal to <fstep> The relative phase of the cosines can be either fixed (<phase> <> 0) or fitted (<phase> = 0). The desired weighting function can be set with <weight>. Available weight functions are: 1 w(t) = sigma^2(t) 2 w(t) = (t_max -t)/(t_max) 3 w(t) = MIN(1,(omega(t_max-t)/(2*pi))) 4 w(t) = cos((2*pi*t)/(4t_max)) 5 w(t) = 1 + cos((2*pi t)(2t_max)) 6 w(t) = MIN(1,(omega(t_max-t)/(4*pi))) <A>, <B> : pac dataspace <from>, <to>, <phase>, <weight> : integer <lowf>, <highf>, <fstep> : real [Mrad].
FREEpar
freepar <A> <i>, ... The parameter <i> ... of the fit belonging to dataspace <A> is freed. <A> : pac dataspace <i> : [0...<#p>-1], where <#p> is the total number of parameters.see also FITDS.
MFITds
mfitds <nspec> <A> <B> ... <theory> <nlink> <p_0> .... Performs a simultaneous fit to the data spaces <A>, <B>, ... using the theory <theory>. The parameters <p_0>, ... are linked across the data spaces, i.e. the parameter values are identical for all the data spaces, but they are optimized in the simultaneous fit. The details of the fit should have been set previously using SETFIT. The command MFIT uses the same computational algorithm as FITDS. For the curious: the only difference compared to FITDS is that the derivatives to the linked parameters are calculated over all spectra instead of for each spectrum separately. The second derivatives receive a similar treatment, although special care needs to be taken with the cross terms :-( <nspec> : [2...10] <A>, <B>, ... : PAC dataspace <theory> : [1...5, 8...11] <nlink>,<p_0>, ... : [0...NPAR-1] All the linked parameters are first fixed by MFITDS, that is fixed from the point of view of FITDS. One can freely mix the commands below to obtain the most desirable effects, i.e. link extra parameters, include additional spectra, remove spectra from the fit list, free and/or fix parameters of individual spectra, perform additional fits on individual spectra, etc.see also FITds, FIXpar, FREEpar, MFREEPar, MFREEAll, MLINKpar, SETFitpar, and SETPar.
MINCLds
minclds <A> Add the data space <A> to the list of data spaces fitted by MFITDS. <A>: PAC dataspacesee also MFITds.
MINFO
minfo Print info on the simultaneous fit. The linked and free lists are sorted in ascending order after execution of MINFO.see also MFITds.
MLINKpar
mlinkpar i, ... The parameters i, ... are linked across the data spaces fitted by MFITDS. i, ... : [0...NPAR-1]see also MFITds.
MRMds
mrmds <A> Remove the data space <A> from the list of data spaces fitted by MFITDS.
MFREEAll
mfreeall Unlink all the linked parameters.see also MFITds.
MFREEPar
mfreepar i, ... Unlink the parameters i, ... i, ... : [0...NPAR-1] An unlinked parameter is fixed in subsequent fits.see also MFITds.
OFFset
offset <#nspectra> Determines the offset of the first <#spectra> time spectra in usp. This routine assumes single-sided time spectra. Time t=0 is taken to be the channel closest to the 'left half-maximum'. Results are printed to standard output.
PDISds
pdisplay <A> <xmin> <xmax> <ymin> <ymax> <plcurve> <pldata> <log> The contents of <A> in the region [<xmin>...<xmax>] is plotted in a GRINT window. The y-axis is set to [<ymin> ...<ymax>]. If <log> is set a logarithmic y-axis is plotted. The theoretical curve and experimental points are plotted depending on the status of <plcurve> and <pldata> respectively. If the error array is empty the datapoints are drawn as a dashed line. <A> : pac dataspace. <xmin>, <xmax>, <ymin>, <ymax> : float. <plcurve>,<pldata>,<log> : 0 (no), 1 (yes). The <xmin> and <xmax> are interpreted in terms of the units associated with <A>.
RATio
ratio <A> <k> <#spec> [<spec_1>] <bck_1> ... [<spec_<#spec>>] bck_<#spec> The ratio of <#spec> spectra is calculated and stored in the data of <A> (see manual for the mathematical expression). Only the spectra usp[<spec_i>] can be selected. The sign of <spec_i> determines whether the spectrum is treated as a 90 degrees (-) or 180 degrees (+) detector combination. Before the ratio is taken a constant background <bck_i> is substracted from each spectrum. If <#spec> =0 the <spec_i> detector combinations are determined by the default spectrum list [+0(!!), -1, -2, +3, +4, -5, -6, +7, -8, -9, -10, -11]. In case that there are only 2, 4 or 8 spectra in usp the default spectrum list is terminated accordingly. The factor <k> should be chosen depending on the expected interaction. Best values are <k>=1 for random electric interaction and <k>=2 for purely magnetic interaction. <k>, <#spec>, <spec_i>, <bck_i> : integer.
RESIDU
residu <A> <B> The theory of <A> is substracted from the data of <A> and the result is stored in the data of <B>. The theory of <B> is reset to zero. <A>,<B> : pac dataspace.
SETPar
setpar <A> <i> <val> ... The parameter p[<i>] used in the fit belonging to the dataspace <A> is set to <val>. <A> : pac dataspace <i> : integer <val> : float.
SETFitpar
setfitpar <A> <xmin> <xmax> <np> <nfree> <lst>[0]...<lst>[<nfree>-1] <p>[0]...<p>[<np>-1]> Initializes the fit parameters of data space <A>. <A> : PAC dataspace <xmin>, <xmax> : float [xunits] <np> : [0...NPAR-1] <nfree> : [0...<np>-1] <lst>[] : [0...<np>-1] <p>[] : floatsee also MFITds and FITds.
SHIFTBuf
shiftbuf <spec#> <A> The contents of buffer spectrum <spec#> is copied to the data of <A>. The corresponding errors are calculated, assuming error[i] = sqrt(data[i]). <spec#> : [0 ... 11]. <A> : pac dataspace.
SMoothds
smoothds <A> <B> <n> The weighted average of <A> is calculated over <n> channels and stored in <B>. <A>, <B> : pac dataspace. <n> : integer.
SPLICo
splico <to> The coefficients C[i] of an interpolating spline function are calculated from the equidistant datapoints spt[i] i=0 ... <to>. <to> : integer.
SQueezeds
squeezeds <A> <B> <factor> <A> is squeezed by <factor> in such a way that the amplitudes and the phases of the wiggles are unchanged. The result is stored in <B>. <A>, <B> : pac dataspace <factor> : < 1.0,--> >.
Theories for use in command FITDS
see also FITds.THEO1
Theory which should be used for the determination of the half-life. Valid input values for <#p> are: 0, 1, 2 or 4. F(t) = B(t)+ p[2] * e^-p[3] * t where B(t) = p[0] + p[1] * t
THEO2
Theory which should be used for magnetic dipole and electric quadrupole (spin<3) interactions. Up to six components can be fitted. Detectors are assumed to be at relative angles of pi and pi/2 [rad]. Valid input values for <#p> are: 0, 1, 2 or 3+6*k F(t) = B(t) + SUM(_i=1)(^k) A_i * G(...;t) G(t) = C_i * cos[omega_i*(t-t_0)]* h(r_i*t) + (1-C_i-D_i) * cos[(2+n_i)*omega_i*(t-t_0)]*h[(2+n_i)*r_i*t] + D_i * cos[(3+n_i)*omega_i*(t-t_0)]*h[(3+n_i)*r_i*t] where B(t) = p[0] + p[1] * t h(z) = e^{-z} and the different quantities correspond to the input parameters: t_0 p[2] r_i p[3+6(i-1)] A_i p[4+6(i-1)] omega_i/2*pi p[5+6(i-1)] C_i p[6+6(i-1)] n_i p[7+6(i-1)] D_i p[8+6(i-1)] Take for p[6],.. p[7],.. p[8],.. in case of 0.46 0 0.18 randomly oriented QI, spin=5/2 and eta = 0; total amplitude = 1.25 * A 0.395 -1 0.21 randomly oriented QI, spin=5/2 and eta = 1; total amplitude = 1.33 * A 0.50 0 0 randomly orientated MI; total amplitude = 1.25 * A 0 0 0 magnetic field perpendicular to the detector plane; total amplitude = 1.33 * A 1 0 0 Raghavan geometry total amplitude = 1.33 * A
THEO3
Theory which should be used for magnetic dipole and electric quadrupole (spin<3) interactions. Up to six components can be fitted. Detectors are assumed to be at relative angles of pi and pi/2 [rad]. Valid input values for <#p> are: 0, 1, 2 or 3+6*k F(t) = B(t) + SUM(_i=1)(^k) A_i * G(...;t) G(t) = C_i * cos[omega_i*(t-t_0)]* h(r_i*t) + (1-C_i-D_i) * cos[(2+n_i)*omega_i*(t-t_0)]*h[(2+n_i)*r_i*t] + D_i * cos[(3+n_i)*omega_i*(t-t_0)]*h[(3+n_i)*r_i*t] where B(t) = p[0] + p[1] * t h(z) = e^{-z^2/2} and the different quantities correspond to the input parameters: t_0 p[2] r_i p[3+6(i-1)] A_i p[4+6(i-1)] omega_i/2*pi p[5+6(i-1)] C_i p[6+6(i-1)] n_i p[7+6(i-1)] D_i p[8+6(i-1)] Take for p[6],.. p[7],.. p[8],.. in case of 0.46 0 0.18 randomly oriented QI, spin=5/2 and eta = 0; total amplitude = 1.25 * A 0.395 -1 0.21 randomly oriented QI, spin=5/2 and eta = 1; total amplitude = 1.33 * A 0.50 0 0 randomly orientated MI; total amplitude = 1.25 * A 0 0 0 magnetic field perpendicular to the detector plane; total amplitude = 1.33 * A 1 0 0 Raghavan geometry total amplitude = 1.33 * A
THEO4
Theory which should be used for magnetic dipole interactions. Up to nine components can be fitted. Detectors are assumed to be at relative angles of pi/4 and -pi/4 [rad]. Valid input values for <#p> are: 0, 1, 2 or 3+4*k F(t) = B(t) + SUM(_i=1)(^k) A_i * G(...;t) G(...;t) = C_i * cos[omega_i*t-(pi*t_0)/180]*h[r_i*t] + (1-C_i) * cos[2*omega_i*t-(pi*t_0)/180]*h[2*r_i*t] where B(t) = p[0] + p[1] * t h(z) = e^{-z} and the different quantities correspond to the input parameters: t_0 p[2] r_i p[3+4(i-1)] A_i p[4+4(i-1)] omega_i/2*pi p[5+4(i-1)] C_i p[6+4(i-1)]
THEO5
Theory which should be used for magnetic dipole interactions. Up to nine components can be fitted. Detectors are assumed to be at relative angles of pi/4 and -pi/4 [rad]. Valid input values for <#p> are: 0, 1, 2 or 3+4*k F(t) = B(t) + SUM(_i=1)(^k) A_i * G(...;t) G(...;t) = C_i * cos[omega_i*t-(pi*t_0)/180]*h[r_i*t] + (1-C_i) * cos[2*omega_i*t-(pi*t_0)/180]*h[2*r_i*t] where B(t) = p[0] + p[1] * t h(z) = e^{-z^2/2} and the different quantities correspond to the input parameters: t_0 p[2] r_i p[3+4(i-1)] A_i p[4+4(i-1)] omega_i/2*pi p[5+4(i-1)] C_i p[6+4(i-1)]
THEO8
This theory should be used to fit a tabulated function to the data. Valid input values for <#p> are: 0, 1, 2 or 5 F(t) = B(t) + p[4]*S(p[3](t-p[2])) where B(t) = p[0] + p[1] * t The spline function S(t) is calculated from the coefficients C[i], which are determined through the use of SPLICo.
THEO9
This theory should be used for fitting half-life folded with a finite time-resolution. Up to sixteen components can be fitted. Valid input values for <#p> are: 0, 1, 2 or 6+2*k F(t) = B(t) + SUM(_i=1)(^k) I_i * g(t_0,tau_i) O* [(1-A) * h(t_0,sigma_1) + A * h(t_0,sigma_2)] where B(t) = p[0] + p[1] * t g(t_0,tau_i) = 1/tau_i * e^{-(t-t_0)/tau_i} h(t_0,sigma_j) = 1/sqrt{2*pi*sigma_j}*e^{-1/2((t-t_0)/*sigma_j)^2 O* = convolution operator where the different quantities correspond to the input parameters: t_0 p[2] 1/*sigma_1 p[3] A p[4] 1/*sigma_2 p[5] I_i p[6+2(i-1)] 1/tau_i p[7+2(i-1)]
PAC simulation
CALQk
CALQk The solid angle attenuation coefficients Q[k] are calculated using the approach of Krane. The results are printed to stdout and stored in the internal variable s_det.Q[k]. The necessary information concerning the detector geometry and the hyperfine probe can be changed using the commands PROBE, DEFPRobe, DETector. If the values of Q[k] do not correspond to the current detector geometry or hyperfine probe, CALWkk and CALRt will automatically recalulate Q[k].
CALSingle
calsingle <A> <det1> <det2> The perturbation function is calculated for the detector combination <det1>, <det2>, and for the currently defined hyperfine interaction, probe, and detector geometry. The result is summed over all multipolarities <k1>, <k2>, and stored in the theory of <A>. <A> : PAC dataspace <det1>, <det2> : [0...3] The necessary information concerning the detector geometry and the hyperfine probe can be changed using the commands PROBE, DEFPRobe, DETector. If the values of Q[k] do not correspond to the current detector geometry or hyperfine probe, CALWkk and CALRt will automatically recalulate Q[k].
CALRt
CALRt <k> The theoretical RATIO is calculated for the currently defined hyperfine interaction and detector geometry. The k factor of the ratio can be set using <k>. <k> : integer.see also DEFPRobe, PROBE, DETector, DEFQi, DEFMi, and RATio.
CALWkk
CALWkk <det1> <det2> <k1> <k2> Relative frequencies and amplitudes are calculated for the currently defined hyperfine interaction, using <det1> and <det2> from the currently defined detector geometry. The multipolarity of the first and second transition are given by <k1> and <k2>. <det1>, <det2>, <k1>, <k2>: integer.see also DEFPRobe, PROBE, DETector, DEFQi, and DEFMi.
DEFQi
defqi <omega_E> <eta> <theta_Vzz> <phi_Vzz> <theta_Vxx> <phi_Vxx> Defines the EFG used in the simulation of PAC spectra. The base frequency is given by <omega_E> [chan-1], the assymetry parameter by <eta>, and the orientation of the EFG by theta_Vzz, phi_Vzz, theta_Vxx, phi_Vxx relative to the LAB system. <omega_E>, <eta>, <theta_Vzz>, <phi_Vzz>, <theta_Vxx>, <phi_Vxx>: float.see also DEFPRobe, PROBE, DETector, DEFMi, CALWkk, and CALRt.
DEFMi
DEFMI <omega_B> <theta> <phi> Defines the magnetic hyperfine field used in the simulation of PAC spectra The base frequency is given by <omega_B> [chan-1], and the orientation relative to the LAB system is given by the polar angles <theta>, <phi>. <omega_B>, <theta>, <phi>: floatsee also DEFPRobe, PROBE, DETector, DEFQi, CALWkk, and CALRt.
DEFPRobe
defprobe <dspin> <gfactor> <quadmom> <energy#1> <quantum#1> <energy#2> <quantum#2> [<k1> <k2> <A(k1,k2).. ] Defines the properties of the probe nucleus used in the pac spectra simulation. The double spin value, the g-factor and the quadrupole moment of the intermediate state, are given by <dspin>, <gfactor> and <quadmom> respectively. The transitions are described by <energy> and <quantum>. The anisotropy coefficients A(k1,k2) can be entered through the sequence <k1>,<k2> and A(k1,k2). <dspin> : integer. <gfactor>, <quadmom> : float. <energy> : float. <quantum> : gamma,beta. <k1>,<k2> : integer. <A(k1,k2)> : float.
DETector
detector <theta1> <phi1> <theta2> <phi2> <theta3> <phi3> <theta4> <phi4> <distance> <material> <scintlength> <scintradius> Defines the PAC detectors used in the pac spectra simulation. The orientations of the detectors with respect to the LAB frame are given by (theta#,phi#). The scintillator crystal is defined by <material>, <scintlength>, and <radius>. The distance between the sample and the detector is given by <distance>. <theta#>,<phi#> : float. <distance> : float. <material> : NaI, BaF2. <scintlength>,<scintradius> : float. The effect of solid angle attenuation is automatically recalculated if the detector data is modified. All lengths should be entered in cm.
MAKERR
makerr <A> The data points in <A> are randomly scattered, assuming a Gaussian distribution function, with <sigma>[i] = sqrt(<data>[i]). The corresponding errors are calculated. <A> : PAC dataspace The pseudo random number generator residing in pctl may be controlled using the commands RANSET, RANINIT, RANSAVE. This is useful, e.g.in the case that different spectra are combined.
PROBE
probe <name> The probe <name> is selected in the calculations, e.g. of theoretical PAC spectra. <name> : In-111, Ag-111, Pd-100, Hf-181 Only the gamma-gamma cascade of Ag-111 is considered.
RANINIT
raninit <level>} Initializes the quality of the random generator. Available levels: 0 : Equivalent to the original RCARRY of Marsaglia and Zaman, very long period, but fails many tests. 1 : Considerable improvement in quality over level 0, now passes the gap test, but still fails spectral test. 2 : Passes all known tests, but theoretically still defective. 3 : DEFAULT VALUE. Any theoretically possible correlations have a very small chance of being observed. 4 : Highest possible luxury, all 24 bits chaotic. For the curious, the algorithm is a subtract-and-borrow random number generator proposed by Marsaglia and Zaman, implemented by F. James with the name RCARRY in 1991, and later improved by Martin Luescher in 1993 to produce "Luxury Pseudo Random Numbers". It is advisable to select a level which passes the spectral test.
RANSAVE
ransave Saves the state vectors of the random number generator to the file ./RANSTAT.DAT. This is useful, e.g. to continue the pseudo-random number sequence at some particular point.
RANSET
ranset Loads the state vectors of the random number generator from the file ./RANSTAT.DAT.