const boost::array<bool, DataType::NUMBER_OF_DATA_TYPES>& NTupleEventReader::getSeenDatatypes() { if (areDatatypesKnown == false) { readDataTypes(); areDatatypesKnown = true; } return seenDataTypes; }
//---------------------------------------- fData *readFile(FILE *dataFile, FILE *dataTypesFile, int *err) { fData *dataTypes = NULL; fData *data; int errFlag = 0; //this errflag turns to 1 when there is a type conflict if (!dataFile) { fprintf(stderr, "Flib::readFile: The data file pointer is invalid.\n"); return (fData *) NULL; } if (dataTypesFile) if ((dataTypes = readDataTypes(dataTypesFile)) == NULL) { fprintf(stderr, "Flib::readAndVerify: Could not read the dataTypes file.\n"); return (fData *) NULL; } data = (fData *) malloc(sizeof(fData)); if ((data->fieldNames = readRowOne(dataFile, &(data->numCols))) == NULL) return (fData *) NULL; /* if we are verifying the types, use it as an argument to reading the data */ if (dataTypes) errFlag = readFData(dataFile, data, dataTypes->types); else errFlag = readFData(dataFile, data, NULL); /* if there was some sort of an error in the reading process */ if (data->data == NULL) return (fData *) NULL; *err = errFlag; return data; }
ResultsStatBinary::ResultsStatBinary( ObjectInputStream *archive, MeshDataStat *meshDataStat, NodeNoMapper *nodeNoMapperResFile, int maxNoOfDataTypes, OutputHandler *outputHandler, std::string bn) : ResultsStat(meshDataStat, nodeNoMapperResFile, outputHandler, bn) { readDataTypes(archive, maxNoOfDataTypes); }