PCTL help

  • PCTL
    • CIO commands and CIO variables
    • Command line editimg and history substitution
    • VERB
  • System interaction commands
    • CLS
    • LS
    • QUIT
  • PAC file I/O
    • Open
    • CLose
    • DLU
    • FPRint
    • IMport
    • READsp
    • RSEQ
    • WRITEsp
    • XPort
  • Dataspace manipulation
    • ADDDS
    • CPds
    • DIVDS
    • DIVDT
    • INCDS
    • LABSetds
    • LABListds
    • MKds
    • MULTDS
    • MULTCds
    • RMds
    • RESDS
    • SWAPdt
    • VLGDS
  • PAC analysis
    • FFTds
    • FITds
    • FIXpar
    • FIXAll
    • FOURds
    • FREEpar
    • MFITds
    • MINCLds
    • MINFO
    • MLINKpar
    • MRMds
    • MFREEAll
    • MFREEPar
    • OFFset
    • PDISds
    • RATio
    • RESIDU
    • SETPar
    • SETFitpar
    • SHIFTBuf
    • SMoothds
    • SPLICo
    • SQueezeds
  • Theories for use in command FITDS
    • THEO1
    • THEO2
    • THEO3
    • THEO4
    • THEO5
    • THEO8
    • THEO9
  • PAC simulation
    • CALQk
    • CALSingle
    • CALRt
    • CALWkk
    • DEFQi
    • DEFMi
    • DEFPRobe
    • DETector
    • MAKERR
    • PROBE
    • RANINIT
    • RANSAVE
    • RANSET

PCTL

program PCTL online help

Last update: 17 July 1998


CIO commands and CIO variables

for
  • CIO commands
  • CIO variables and CIO programs
  • graphics
  • array manipulation
see CIO online help

The CIO syntax is described in CIO command language

Command line editing and history substitution

see EDITING and SUBSTITUTION

VERB

    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 help


CLS

    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 dataspace
see 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>[]          : float
see 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>: float
see 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.

» back to old software