1
/*******************************************************************************
3
* mcfio.h -- Include file for mcfast I/O subsystem, C interface. *
5
* Copyright (c) 1994 Universities Research Association, Inc. *
6
* All rights reserved. *
8
*******************************************************************************/
10
** This file is a summary of various other .h files, assembled for
11
** the ease of use of the yet undocumented C API for MCFIO.
12
** Please refer to detailed documentation from the the F77 API.
14
** Rule : mcfio_* ==> F77 API
17
#define MCFIO_VERSION 100
18
#define MCFIO_STATUS 101
19
#define MCFIO_RUNNING 102
22
#define MCFIO_NUMBLOCKS 501
23
#define MCFIO_READORWRITE 502
26
#define MCFIO_DIRECTORSEQUENTIAL 503
27
#define MCFIO_DIRECT 1
28
#define MCFIO_SEQUENTIAL 2
29
#define MCFIO_MEMMAPPED 3
30
#define MCFIO_BLOCKIDS 504
31
#define MCFIO_NUMWORDS 505
32
#define MCFIO_EFFICIENCY 506
33
#define MCFIO_NUMEVTS 507
34
#define MCFIO_FILENUMBER 508
35
#define MCFIO_MAXREC 509
36
#define MCFIO_MINREC 510
37
#define MCFIO_NUMRECORDS 511
38
#define MCFIO_RECORDLENGTHS 512
39
#define MCFIO_TITLE 1001
40
#define MCFIO_COMMENT 1002
41
#define MCFIO_CREATIONDATE 1003
42
#define MCFIO_CLOSINGDATE 1013
43
#define MCFIO_FILENAME 1004
44
#define MCFIO_DEVICENAME 1005
45
#define MCFIO_EVENTNUMBER 2001
46
#define MCFIO_STORENUMBER 2002
47
#define MCFIO_RUNNUMBER 2003
48
#define MCFIO_TRIGGERMASK 2004
49
#define MCFIO_NUMNTUPLES 4001
50
#define MCFIO_NTUPLESLIST 4002
52
** Block definition now. Start counting at 101 See also mcfioC_GetBlockNames
54
#define MCFIO_STDHEP 101
55
#define MCFIO_OFFTRACKARRAYS 102
56
#define MCFIO_OFFTRACKSTRUCT 103
57
#define MCFIO_TRACEARRAYS 104
58
#define MCFIO_STDHEPM 105
59
#define MCFIO_STDHEPBEG 106
60
#define MCFIO_STDHEPEND 107
61
#define MCFIO_STDHEPCXX 108
62
#define MCFIO_STDHEP4 201
63
#define MCFIO_STDHEP4M 202
64
#define MCFIO_HEPEUP 203
65
#define MCFIO_HEPRUP 204
67
extern "C" void mcfioC_Init(void);
68
extern "C" void mcfioC_Close(int istream);
69
extern "C" void mcfioC_PrintDictionary(void);
70
extern "C" unsigned int mcfioC_InfoNumSream(int *istreams, unsigned int nmax);
71
extern "C" void mcfioC_InfoStreamInt(int istream, int key, int *value);
72
extern "C" void mcfioC_InfoStreamChar(int istream, int key, char *answer, int *lret);
73
extern "C" void mcfioC_InfoEventInt(int istream, int key, int *value);
74
extern "C" void mcfioC_InfoEventChar(int istream, int key, char *answer, int *lret);
75
extern "C" void mcfioC_SetEventInfo(int istream, int key, int *value);
76
extern "C" void mcfioC_InfoBlockChar(int stream, int blk, int key,
77
char *answer, int *lret);
78
extern "C" void mcfioC_GetBlockName(int blkId, char *answer);
79
extern "C" int mcfioC_OpenReadSequential(char *device, char *label, int filenumber);
80
extern "C" int mcfioC_OpenWriteSequential(char *device, char *label, char *title,
81
char *comment, int numevts_pred,
82
int *blkIds, unsigned int nBlocks);
83
extern "C" int mcfioC_OpenReadDirect(char *filename);
84
extern "C" int mcfioC_OpenReadMapped(char *filename);
85
extern "C" int mcfioC_OpenWriteDirect(char *filename, char *title, char *comment,
86
int numevts_pred, int *blkIds, u_int nBlocks);
87
extern "C" int mcfioC_NextEvent(int stream);
88
extern "C" int mcfioC_SpecificEvent(int stream, int ievt,
89
int istore, int irun, int itrig);
90
extern "C" int mcfioC_NextSpecificEvent(int stream, int ievt,
91
int istore, int irun, int itrig);
92
extern "C" void mcfioC_CloseDirect(int jstr);
93
extern "C" void mcfioC_RewindDirect(int jstr);
94
extern "C" int mcfioC_Block(int stream, int blkid,
95
bool_t xdr_filtercode(XDR *xdrs, int *blockid, int *ntot, char **version));
96
extern "C" int mcfioC_NTuple(int stream, int nTupleid, char * version);
97
extern "C" int mcfioC_NTupleMult(int stream, int nTupleid, char * version);
98
extern "C" int mcfioC_NTupleVar(int stream, int nTupleid, int ivar, char * version);
99
extern "C" int mcfioC_NTupleSubVar(int stream, int nTupleid, int ivar, int multIndex,
101
extern "C" int mcfioC_NTupleSubStruct(int stream, int nTupleid, int multIndex,
103
extern "C" void mcfioC_DefineUserBlock(int blkNum, char *descr);
104
extern "C" char *mcfioC_UserBlockDescript(int blkn);