mct.conf File Reference

MCT: Multi Channel Analyser Time Matrix Program; Configuration file. More...

#include "exlib.conf"
#include "daclib.conf"
#include "exlib.h"
#include "daclib.h"
#include "mct.h"

Data Structures

union  SPCHDR

Defines

#define CPNAME   "MCT"
#define CPTITL   "Multi Channel Analyser Time Matrix"
#define CPDATE   "(15Jan03/Hu)"
#define CIDPRG   "MCT "
#define CVERSION   "07sep00"
#define MFILNA   70
#define useDATAROUT
#define CLKRATE   sysClkRateGet()
#define BASEPRIO   40
#define MAXLEN   0x10000
#define INISTACK   5000
#define INICHCK   VX_FP_TASK
#define INIOPT   VX_FP_TASK
#define MSTRTASK   "tMctMstr"
#define MSTRPRIO   (BASEPRIO+1)
#define MSTRSTACK   7000
#define MSTROPT   VX_FP_TASK
#define MSTROPT   VX_FP_TASK
#define RLTTASK   "tMctRlt"
#define RLTPRIO   (BASEPRIO+0)
#define RLTSTACK   5000
#define RLTOPT   0
#define DATATASK   "tMctData"
#define DATAPRIO   (BASEPRIO+2)
#define DATASTACK   5000
#define DATAOPT   VX_FP_TASK
#define DATATIME   9
#define DATAPAUSE   1
#define CTRLTASK   "tMctCtrl"
#define CTRLPRIO   (BASEPRIO+2)
#define CTRLSTACK   5000
#define CTRLOPT   0
#define CTRLPAUSE   1
#define CTRLECF   ".ecf"
#define SAVBGDATA
#define CBGTASK   "tMctBg"
#define CBGPRIO   100
#define CBGFILE   "~/ex_home/ex_prog/peakv.o"
#define CBGSYM   "_peak"
#define CBGSTACK   11000
#define CBGOPT   VX_FP_TASK
#define CBGARG1   ",,\"peak_mct.vxw\",,'S'"
#define BGARGS
#define CBGCHECK   FALSE
#define CBGUNLD   TRUE
#define CIDPAR   "STRZ-VXW"
#define CPARNA   "bootHost:/ex_home/ex_param/mctpar.vxw"
#define CDFNAM   "data:/spectrum.mct"
#define CHLPNA   "bootHost:/ex_home/ex_help/mct.txt"
#define CISERV   "servix"
#define CIUSER   "vme-info"
#define CIFILE   "mct/mct.info"
#define ffPARFILE   parfile
#define ffPARMTR   parfile.parmtr
#define ffROUTPAR   parfile.routpar
#define ffDACLIBPAR   parfile.daclibpar
#define ffEXLIBPAR   parfile.exlibpar
#define HEADER0   parfile.header0
#define ccCOMMON   common
#define ccPARMTR   common.parmtr
#define ccDACLIBCOM   common.daclibcom
#define ccEXLIBCOM   common.exlibcom
#define IDPAR   ffPARMTR.idpar
#define PIDPRG   ffPARMTR.idprg
#define PVERSION   ffPARMTR.version
#define DFLTPAR   ffPARMTR.dflts
#define PEXPMNT   ffPARMTR.pexpmnt
#define SP0NAM   ffPARMTR.sp0nam
#define ZZZZZZ   ffPARMTR.zzzzzz
#define DATID   ccPARMTR.datid
#define LFTID   ccPARMTR.lftid
#define DRMENU   ffROUTPAR.drmenu
#define DRTYPE   ffROUTPAR.drtype
#define DRBASE   ffROUTPAR.drbase
#define DROFFS   ffROUTPAR.droffs
#define STOPRT   ffROUTPAR.stoprt
#define RDSTAT   ffROUTPAR.rdstat
#define RDSTCL   ffROUTPAR.rdstcl
#define RDDATA   ffROUTPAR.rddata
#define RDDACL   ffROUTPAR.rddacl
#define RDIDNT   ffROUTPAR.rdidnt
#define CRMENU   ffROUTPAR.crmenu
#define CRMENU2   ffROUTPAR.crmenu2
#define CRTYPE   ffROUTPAR.crtype
#define CRBASE   ffROUTPAR.crbase
#define CROFFS   ffROUTPAR.croffs
#define CRCTRL   ffROUTPAR.crctrl
#define CRSTAT   ffROUTPAR.crstat
#define CRADDR   ffROUTPAR.craddr
#define CRDATA   ffROUTPAR.crdata
#define CRINTR   ffROUTPAR.crintr
#define CRIDNT   ffROUTPAR.cridnt
#define CRPRIO   ffROUTPAR.crprio
#define CHDLEN   "1"
#define CEXPMNT   "??????"
#define CSPTYPE   "MCA2"
#define CBYTES   "4"
#define CLTXT   " 80"
#define CDFTXT   "MCT Matrix --- Strahlenzentrum Universitaet Giessen"
#define INITSPCHDR
#define SPSTAT   XSPHDR->hdata.spcdat.status
#define RLTCNT   XSPHDR->hdata.spcdat.rltcnt
#define LFTCNT   XSPHDR->hdata.spcdat.lftcnt
#define DATCNT   XSPHDR->hdata.spcdat.datcnt
#define OUTCNT   XSPHDR->hdata.spcdat.outcnt
#define REJCNT   XSPHDR->hdata.spcdat.rejcnt
#define FULCNT   XSPHDR->hdata.spcdat.fulcnt
#define ERRCNT   XSPHDR->hdata.spcdat.errcnt
#define SPOFFS   XSPHDR->hdata.spcdat.spoffs
#define CMPRSS   XSPHDR->hdata.spcdat.cmprss
#define HDATID   XSPHDR->hdata.spcdat.hdatid
#define RUNTIM   XSPHDR->hdata.spcdat.runtim
#define RUNROW   XSPHDR->hdata.spcdat.runrow
#define USELFT   XSPHDR->hdata.spcdat.uselft
#define MAXSPECS   1
#define MAXHTYPS   1
#define USHMAX   4
#define HDSCR_MCT   "208i1 1i2 8i4 2i2 2i4 1i4"
#define INITHTYPES
#define INITSPEPNTR
#define SHOWHDR
#define INPUTPARS1
#define INPUTPARS2
#define INPUTPARS5
#define INPUTXPARS1
#define INPUTXPARS2
#define INPUTXPARS5
#define INITPARS
#define DATAVARS
#define DATAMACRO

Enumerations

enum  headertypes {
  MTX_HEADER, MCA_HEADER, MCT_HEADER, MS2_HEADER,
  MSC_HEADER, PCM_HEADER, MCA_VAX_HEADER, MCA_VXW_HEADER,
  ALL_VAX_HEADER, ALL_VXW_HEADER, MCA_VAX_HEADER, MCA_VXW_HEADER,
  ALL_VAX_HEADER, ALL_VXW_HEADER, DRM_HEADER, ECF_1_HEADER,
  ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER,
  ECF_1_HEADER, ECF_1_HEADER, ECF_1_HEADER, ECF_VAX_HEADER,
  ECF_0_HEADER, ECF_1_HEADER, ECF_1_HEADER, ESI_VAX_HEADER,
  ESW_VAX_HEADER, ESW_VXW_HEADER, ESS_VAX_HEADER, ESS_VXW_HEADER,
  ESS_HEADER, ECF_HEADER, ESW_HEADER, MASS_HEADER,
  ESW_VAX_HEADER, ESW_VXW_HEADER, ESS_VAX_HEADER, ESS_VXW_HEADER
}


Detailed Description

MCT: Multi Channel Analyser Time Matrix Program; Configuration file.

Author:
Kurt Huber; Strahlenzentrum J.L.-Universitaet GIESSEN
Date:
11.11.1999
Version:
15.08.2008
modification history
--------------------
15aug08 kHu	DOXYGEN comments added
25jun03 kHu	CIFILE geaendert
29apr03 kHu	*.conf, *.h Files neu geordnet
16apr03 kHu	Fit gemacht fuer -Wall GCC-Option
15apr03 kHu	Help mit INFO auf Server
04apr03 kHu	define CPDATE EMKSTR(SIGNAT)
15jan03 kHu	dac10.c: stets File-Name abfragen
14jan03 kHu	dac10/25.c: neu: Edit header of spectrum
16aug02 kHu	BGARGS um (int)&HEADER0 erweitert
30apr02	kHu	Init task -> Master task
28feb02 kHu	Parameters for background program
18feb02 kHu	Argumente beim Start: PNAME,PTITLE,PARNAM,HLPNAM
28aug01 kHu	BGARGS/Z ...,(int)xCntrl,...
08jan01 kHu	ERRCNTo, ERRCNTd, ERRCNTf
04oct00 kHu	eigener Parameter-File bei BG-Programm (BGPNAM)
13sep00 kHu	tReadp() -> tMenu
07sep00 kHu	DRMENU, DRTYPE, CRMENU, CRTYPE, CRPRIO neu
29mar00 kHu	MSTRSTACK = 6000
20mar00 kHu	IHDLEN, IBYTES
23feb00 kHu	Header Typen Beschreibung geaendert
19nov99 kHu	Zero spectrum if test run
11nov99 kHu	New from MCA

Define Documentation

#define BASEPRIO   40

#define BGARGS

Value:

(int)BGARG1,(int)SPEBUF,(int)FILNAM,(int)xCntrl,        \
                (int)STATUS,(int)&HEADER0,0,0,0,0

#define CBGARG1   ",,\"peak_mct.vxw\",,'S'"

#define CBGCHECK   FALSE

#define CBGFILE   "~/ex_home/ex_prog/peakv.o"

#define CBGOPT   VX_FP_TASK

#define CBGPRIO   100

#define CBGSTACK   11000

#define CBGSYM   "_peak"

#define CBGTASK   "tMctBg"

#define CBGUNLD   TRUE

#define CBYTES   "4"

#define ccCOMMON   common

#define ccDACLIBCOM   common.daclibcom

#define ccEXLIBCOM   common.exlibcom

#define ccPARMTR   common.parmtr

#define CDFNAM   "data:/spectrum.mct"

#define CDFTXT   "MCT Matrix --- Strahlenzentrum Universitaet Giessen"

#define CEXPMNT   "??????"

#define CHDLEN   "1"

#define CHLPNA   "bootHost:/ex_home/ex_help/mct.txt"

#define CIDPAR   "STRZ-VXW"

#define CIDPRG   "MCT "

#define CIFILE   "mct/mct.info"

#define CISERV   "servix"

#define CIUSER   "vme-info"

#define CLKRATE   sysClkRateGet()

#define CLTXT   " 80"

#define CMPRSS   XSPHDR->hdata.spcdat.cmprss

#define CPARNA   "bootHost:/ex_home/ex_param/mctpar.vxw"

#define CPDATE   "(15Jan03/Hu)"

#define CPNAME   "MCT"

#define CPTITL   "Multi Channel Analyser Time Matrix"

#define CRADDR   ffROUTPAR.craddr

#define CRBASE   ffROUTPAR.crbase

#define CRCTRL   ffROUTPAR.crctrl

#define CRDATA   ffROUTPAR.crdata

#define CRIDNT   ffROUTPAR.cridnt

#define CRINTR   ffROUTPAR.crintr

#define CRMENU   ffROUTPAR.crmenu

#define CRMENU2   ffROUTPAR.crmenu2

#define CROFFS   ffROUTPAR.croffs

#define CRPRIO   ffROUTPAR.crprio

#define CRSTAT   ffROUTPAR.crstat

#define CRTYPE   ffROUTPAR.crtype

#define CSPTYPE   "MCA2"

#define CTRLECF   ".ecf"

#define CTRLOPT   0

#define CTRLPAUSE   1

#define CTRLPRIO   (BASEPRIO+2)

#define CTRLSTACK   5000

#define CTRLTASK   "tMctCtrl"

#define CVERSION   "07sep00"

#define DATAMACRO

Value:

/* Check if we finished */                                      \
        if((!USELFT && (RLTCNT >= (RUNROW * IROWS)))                    \
                || (USELFT && (LFTCNT >= (RUNROW * IROWS)))             \
                ) {     /* We finished */                               \
                    datactrl = STOP;    /* Stop data input */           \
                    STATUS |= 0x0020;   /* Autonomous stop */           \
                    Termnl(7, 3, "\aExperiment finished\a");            \
                    return;         /* Stop task */                     \
        }                                                               \
        /* Test data ID */                                              \
        if((nstat & 0x003f) == DATID) {         /* Data ID OK*/         \
            /* Compute data */                                          \
            ndata = (ndata >> CMPRSS) - SPOFFS;                         \
            if((ndata >= 0) && (ndata < ICOLS)) {                       \
                if(USELFT) {    /* Use lifetime for t-axis */           \
                    ndata += ICOLS *(LFTCNT/RUNROW);                    \
                } else {        /* Use realtime for t-axis */           \
                    ndata += ICOLS *(RLTCNT/RUNROW);                    \
                }                                                       \
                DATCNT++;   /* Count data */                            \
                /* Increment channel in spectrum */                     \
                (*(SPEDATA+ndata))++;                                   \
            } else {                                                    \
                OUTCNT++;       /* Count data out of range */           \
            }                                                           \
        } else if((nstat & 0x003f) == LFTID) {      /* Lifetime */      \
            LFTCNT++;   /* Count lifetime */                            \
        } else {                                                        \
            REJCNT++;       /* Count rejected data */                   \
        }

#define DATAOPT   VX_FP_TASK

#define DATAPAUSE   1

#define DATAPRIO   (BASEPRIO+2)

#define DATASTACK   5000

#define DATATASK   "tMctData"

#define DATATIME   9

#define DATAVARS

#define DATCNT   XSPHDR->hdata.spcdat.datcnt

#define DATID   ccPARMTR.datid

#define DFLTPAR   ffPARMTR.dflts

#define DRBASE   ffROUTPAR.drbase

#define DRMENU   ffROUTPAR.drmenu

#define DROFFS   ffROUTPAR.droffs

#define DRTYPE   ffROUTPAR.drtype

#define ERRCNT   XSPHDR->hdata.spcdat.errcnt

#define ffDACLIBPAR   parfile.daclibpar

#define ffEXLIBPAR   parfile.exlibpar

#define ffPARFILE   parfile

#define ffPARMTR   parfile.parmtr

#define ffROUTPAR   parfile.routpar

#define FULCNT   XSPHDR->hdata.spcdat.fulcnt

#define HDATID   XSPHDR->hdata.spcdat.hdatid

#define HDSCR_MCT   "208i1 1i2 8i4 2i2 2i4 1i4"

#define HEADER0   parfile.header0

#define IDPAR   ffPARMTR.idpar

#define INICHCK   VX_FP_TASK

#define INIOPT   VX_FP_TASK

#define INISTACK   5000

#define INITHTYPES

Value:

/* MCT-type, spectrum 0 */                                      \
    {{TRUE},            /* Type valid for spectrum 0 */         \
    CIDHDRvxw,          /* Required header ID in IDHDR */       \
    "MCT",              /* Required program ID in IDPRG */      \
    HDSCR_MCT,          /* Header descriptor string */          \
    MCT_HEADER}

#define INITPARS

Value:

RLTCNT = 0;             \
    LFTCNT = 0;         \
    DATCNT = 0;         \
    OUTCNT = 0;         \
    REJCNT = 0;         \
    FULCNT = 0;         \
    ERRCNT = 0;         \
    ERRCNTo = 0;        \
    ERRCNTd = 0;        \
    ERRCNTf = 0;        \
    RUNTIM = 0;

#define INITSPCHDR

Value:

{0,                     \
    0,0,0,0,0,0,0,0,    \
    0,0,                \
    0,0,0}

#define INITSPEPNTR

Value:

/* Spectrum 0 */        \
    {0,0,0,0,0,0,0,0,0,                                         \
    SP0NAM,             /* File name of spectrum */             \
    NULL, NULL, NULL,                                           \
    &HEADER0,           /* Pointer to extracted header */       \
    &HEADER0.hdata.spcdat,      /* Special header data */       \
    NULL,                                                       \
    {{0},{0},{0},{0}}},

#define INPUTPARS1

#define INPUTPARS2

Value:

{                                                               \
                                                                                \
    short shortpar;                                                             \
                                                                                \
    TEXT[lTEXT-1] = '\0';       /* Title of spectrum */                         \
    IHDLEN = 1;                 /* Blocks of header */                          \
    IBYTES = 4;                 /* Bytes per channel */                         \
    shortpar = HDATID >> 1;     /* ID of data */                                \
                                                                                \
    tMenu(NULL, 1,                                                              \
        "%$-"lTEXTs"s\n\n"                                                      \
        "  Data ident. =       0x%@2.2hx\n",                                    \
        TEXT,                                                                   \
        &shortpar, 0, 0x003f                                                    \
        );                                                                      \
                                                                                \
    /* ID of data */                                                            \
    DATID = HDATID = shortpar << 1;     /* Data ID */                           \
    LFTID = DATID | 0x21;               /* Lifetime ID */                       \
}

#define INPUTPARS5

Value:

{                                                               \
                                                                                \
    TEXT[lTEXT-1] = '\0';       /* Title of spectrum */                         \
                                                                                \
    tMenu(NULL, 1,                                                              \
        "%$-"lTEXTs"s\n\n",                                                     \
        TEXT);                                                                  \
}

#define INPUTXPARS1

#define INPUTXPARS2

#define INPUTXPARS5

#define LFTCNT   XSPHDR->hdata.spcdat.lftcnt

#define LFTID   ccPARMTR.lftid

#define MAXHTYPS   1

#define MAXLEN   0x10000

#define MAXSPECS   1

#define MFILNA   70

#define MSTROPT   VX_FP_TASK

#define MSTROPT   VX_FP_TASK

#define MSTRPRIO   (BASEPRIO+1)

#define MSTRSTACK   7000

#define MSTRTASK   "tMctMstr"

#define OUTCNT   XSPHDR->hdata.spcdat.outcnt

#define PEXPMNT   ffPARMTR.pexpmnt

#define PIDPRG   ffPARMTR.idprg

#define PVERSION   ffPARMTR.version

#define RDDACL   ffROUTPAR.rddacl

#define RDDATA   ffROUTPAR.rddata

#define RDIDNT   ffROUTPAR.rdidnt

#define RDSTAT   ffROUTPAR.rdstat

#define RDSTCL   ffROUTPAR.rdstcl

#define REJCNT   XSPHDR->hdata.spcdat.rejcnt

#define RLTCNT   XSPHDR->hdata.spcdat.rltcnt

#define RLTOPT   0

#define RLTPRIO   (BASEPRIO+0)

#define RLTSTACK   5000

#define RLTTASK   "tMctRlt"

#define RUNROW   XSPHDR->hdata.spcdat.runrow

#define RUNTIM   XSPHDR->hdata.spcdat.runtim

#define SAVBGDATA

#define SHOWHDR

Value:

printf("Length: %lu * %lu\n", IROWS, ICOLS);    \
    printf("Offset: %6li\n", SPOFFS);                   \
    printf("Cmprss: %6hu\n", CMPRSS);                   \
    putchar('\n');                                      \
    printf("%10lu Realtime\n", RLTCNT);                 \
    printf("%10lu Lifetime\n", LFTCNT);                 \
    printf("%10lu Processed data\n", DATCNT);           \
    printf("%10lu Data out of range\n", OUTCNT);        \
    printf("%10lu Rejected data\n", REJCNT);            \
    printf("%10lu Fifo overflows\n", FULCNT);           \
    printf("%10lu Data errors\n", ERRCNT);

#define SP0NAM   ffPARMTR.sp0nam

#define SPOFFS   XSPHDR->hdata.spcdat.spoffs

#define SPSTAT   XSPHDR->hdata.spcdat.status

#define STOPRT   ffROUTPAR.stoprt

#define useDATAROUT

#define USELFT   XSPHDR->hdata.spcdat.uselft

#define USHMAX   4

#define ZZZZZZ   ffPARMTR.zzzzzz


Enumeration Type Documentation

Enumerator:
MTX_HEADER 
MCA_HEADER 
MCT_HEADER 
MS2_HEADER 
MSC_HEADER 
PCM_HEADER 
MCA_VAX_HEADER 
MCA_VXW_HEADER 
ALL_VAX_HEADER 
ALL_VXW_HEADER 
MCA_VAX_HEADER 
MCA_VXW_HEADER 
ALL_VAX_HEADER 
ALL_VXW_HEADER 
DRM_HEADER 
ECF_1_HEADER 
ECF_1_HEADER 
ECF_1_HEADER 
ECF_1_HEADER 
ECF_1_HEADER 
ECF_1_HEADER 
ECF_1_HEADER 
ECF_1_HEADER 
ECF_VAX_HEADER 
ECF_0_HEADER 
ECF_1_HEADER 
ECF_1_HEADER 
ESI_VAX_HEADER 
ESW_VAX_HEADER 
ESW_VXW_HEADER 
ESS_VAX_HEADER 
ESS_VXW_HEADER 
ESS_HEADER 
ECF_HEADER 
ESW_HEADER 
MASS_HEADER 
ESW_VAX_HEADER 
ESW_VXW_HEADER 
ESS_VAX_HEADER 
ESS_VXW_HEADER 


Generated on Wed Oct 15 16:17:24 2008 for Experiment-Software by  doxygen 1.5.6