mca.conf File Reference

MCA: Multi Channel Analyser Program; Configuration file. More...

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

Data Structures

union  SPCHDR

Defines

#define CPNAME   "MCA"
#define CPTITL   "Multi Channel Analyser Program"
#define CPDATE   "(15Jan03/Hu)"
#define CIDPRG   "MCA "
#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   "tMcaMstr"
#define MSTRPRIO   (BASEPRIO+1)
#define MSTRSTACK   7000
#define MSTROPT   VX_FP_TASK
#define MSTROPT   VX_FP_TASK
#define RLTTASK   "tMcaRlt"
#define RLTPRIO   (BASEPRIO+0)
#define RLTSTACK   5000
#define RLTOPT   0
#define DATATASK   "tMcaData"
#define DATAPRIO   (BASEPRIO+2)
#define DATASTACK   5000
#define DATAOPT   VX_FP_TASK
#define DATATIME   9
#define DATAPAUSE   1
#define CTRLTASK   "tMcaCtrl"
#define CTRLPRIO   (BASEPRIO+2)
#define CTRLSTACK   5000
#define CTRLOPT   0
#define CTRLPAUSE   1
#define CTRLECF   ".ecf"
#define SAVBGDATA
#define CBGTASK   "tMcaBg"
#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_mca.vxw\",,'S'"
#define BGARGS
#define CBGCHECK   FALSE
#define CBGUNLD   TRUE
#define CIDPAR   "STRZ-VXW"
#define CPARNA   "bootHost:/ex_home/ex_param/mcapar.vxw"
#define CDFNAM   "data:/spectrum.mca"
#define CHLPNA   "bootHost:/ex_home/ex_help/Oldies/mca.txt"
#define CISERV   "servix"
#define CIUSER   "vme-info"
#define CIFILE   "mca/mca.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   "MCA1"
#define CROWS   " 1"
#define CBYTES   "4"
#define CLTXT   " 80"
#define CDFTXT   "MCA Spectrum --- 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 MAXSPECS   1
#define MAXHTYPS   1
#define USHMAX   4
#define HDSCR_MCA   "208i1 1i2 8i4 2i2 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

MCA: Multi Channel Analyser Program; Configuration file.

Author:
Kurt Huber; Strahlenzentrum J.L.-Universitaet GIESSEN
Date:
25.03.1996
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	Newprog Standard
22jan99 kHu	HDFREE und User Block
20jan99 kHu	im Header alle long nach int, hdatid von short nach int
22dec98 kHu	Trennen in daclib und exlib
12nov98 kHu	Umstellung auf tReadp()
16sep98 kHu	new: DAP template version
15sep98 kHu	Dir und File fuer Spektrum zusammengefasst
08sep98 kHu	mca: auf neuen Stand gebracht
25mar96	kHu	Ultrix, VxWorks Portierung (C)
04mar86 kHu	PDP11 Version (F77, Macro-11)

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_mca.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   "tMcaBg"

#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.mca"

#define CDFTXT   "MCA Spectrum --- Strahlenzentrum Universitaet Giessen"

#define CEXPMNT   "??????"

#define CHDLEN   "1"

#define CHLPNA   "bootHost:/ex_home/ex_help/Oldies/mca.txt"

#define CIDPAR   "STRZ-VXW"

#define CIDPRG   "MCA "

#define CIFILE   "mca/mca.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/mcapar.vxw"

#define CPDATE   "(15Jan03/Hu)"

#define CPNAME   "MCA"

#define CPTITL   "Multi Channel Analyser Program"

#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 CROWS   " 1"

#define CRPRIO   ffROUTPAR.crprio

#define CRSTAT   ffROUTPAR.crstat

#define CRTYPE   ffROUTPAR.crtype

#define CSPTYPE   "MCA1"

#define CTRLECF   ".ecf"

#define CTRLOPT   0

#define CTRLPAUSE   1

#define CTRLPRIO   (BASEPRIO+2)

#define CTRLSTACK   5000

#define CTRLTASK   "tMcaCtrl"

#define CVERSION   "07sep00"

#define DATAMACRO

Value:

/* Test data ID */                                              \
        if((nstat & 0x003f) == DATID) {         /* Data ID OK*/         \
            /* Compute data */                                          \
            ndata = (ndata >> CMPRSS) - SPOFFS;                         \
            if((ndata >= 0) && (ndata < SPELEN)) {                      \
                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   "tMcaData"

#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_MCA   "208i1 1i2 8i4 2i2 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:

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

#define INITPARS

Value:

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

#define INITSPCHDR

Value:

{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

Value:

{                                                               \
                                                                                \
    short shortpar;                                                             \
                                                                                \
    TEXT[lTEXT-1] = '\0';       /* Title of spectrum */                         \
    IHDLEN = 1;                 /* Blocks of header */                          \
    IBYTES = 4;                 /* Bytes per channel */                         \
    IROWS = atol(CROWS);        /* Number of lines */                           \
    shortpar = HDATID >> 1;     /* ID of data */                                \
                                                                                \
    tMenu(NULL, 1,                                                              \
        "%$-"lTEXTs"s\n\n"                                                      \
        "  Length of spectrum =     %@6lu\n"                                    \
        "  Data ident.        =       0x%@2.2hx\n"                              \
        "  Offset             =     %@6ld\n"                                    \
        "  Compress           =          %@1hu\n"                               \
        "  Timer              = %$10lu s\n",                                    \
        TEXT,                                                                   \
        &ICOLS, 0, MAXLEN,                                                      \
        &shortpar, 0, 0x003f,                                                   \
        &SPOFFS, -MAXLEN, MAXLEN,                                               \
        &CMPRSS, 0, 9,                                                          \
        &RUNTIM                                                                 \
        );                                                                      \
                                                                                \
    /* ID of data */                                                            \
    DATID = HDATID = shortpar << 1;     /* Data ID */                           \
    LFTID = DATID | 0x21;               /* Lifetime ID */                       \
}

#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"                                     \
        "  Timer       = %$10lu s\n",                                           \
        TEXT,                                                                   \
        &shortpar, 0, 0x003f,                                                   \
        &RUNTIM);                                                               \
                                                                                \
    /* 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   "tMcaMstr"

#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   "tMcaRlt"

#define RUNTIM   XSPHDR->hdata.spcdat.runtim

#define SAVBGDATA

#define SHOWHDR

Value:

printf("Length: %6lu\n", SPELEN);                       \
    printf("Offset: %6li\n", SPOFFS);                   \
    printf("Cmprss: %6hu\n", CMPRSS);                   \
    printf("Timer : %6lus\n", RUNTIM);                  \
    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 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