#include <stdio.h> #include <stdlib.h> #include <string.h> #include <Error.h> #include <GeoVme.h> #include <dmap.h> int main(int argc, char *argv[]) { int res; unsigned char chain,crate,slot,chan; DMAP_CHAN_EL data; if (argc!=9) { printf("Use: dmapfindcal GeoVmeMap dmap detector module plane column side card\n"); return 1; } if (strcmp(argv[8],"CALADC")==0) data.btype = DMAP_BTYPE_CALADC; else if (strcmp(argv[8],"CALTDC")==0) data.btype = DMAP_BTYPE_CALTDC; else { printf("Error: Card nor CALADC nor CALTDC!\n"); return 11; } if (strcmp(argv[3],"ECAPA")==0) data.data.cal.detector = DMAP_DET_ECAPA; else if (strcmp(argv[3],"ECAPB")==0) data.data.cal.detector = DMAP_DET_ECAPB; else if (strcmp(argv[3],"BARR")==0) data.data.cal.detector = DMAP_DET_BARREL; else { printf("Error: Detector nor ECAPA nor ECAPB nor BARR!\n"); return 11; } data.data.cal.module = atoi(argv[4]); data.data.cal.plane = atoi(argv[5]); data.data.cal.column = atoi(argv[6]); data.data.cal.side = atoi(argv[7]); GeoVmeLoadMap(argv[1]); if (dmap_load(argv[2])!=DMAP_ERROR_OK) { printf("Error in dmap_load\n"); return 2; } res = dmap_find(data,&chain,&crate,&slot,&chan); if (res==DMAP_ERROR_EMPTY) printf("Not found!\n"); else if (res!=DMAP_ERROR_OK) printf("Error in dmap_find.\n"); else { printf("Chain: %i Crate: %i Slot: %i Chan: %i\n",chain,crate,slot,chan); } dmap_dispose(); GeoVmeUnloadMap(); return 0; }