Binary file writer for cross-catalogue neighbour pairs. More...
#include <CrossNeighboursBinaryFileWriter.h>
Public Member Functions | |
CrossNeighboursBinaryFileWriter (char const *aFileNameStr, bool aIsLarge=false, bool aIsSwapped=false) | |
Constructor. | |
virtual | ~CrossNeighboursBinaryFileWriter () |
virtual void | open () |
Open file for writing. | |
virtual void | close () |
Close file. | |
virtual void | write (Object const *aExternObjectPtr, Object const *aMainObjectPtr) |
Write an object pair record to the output binary file. | |
Protected Attributes | |
union { | |
char bytes [mcRecordSize] | |
struct { | |
long long mainID | |
long long externalID | |
float distanceMins | |
} field | |
} | mRecord |
Record data structure definition. | |
FILE * | mFilePtr |
char const * | mFileNameStr |
bool | mIsLarge |
bool | mIsSwapped |
Static Protected Attributes | |
static const unsigned | mcRecordSize = 20 |
Size of a record in bytes. | |
Private Member Functions | |
CrossNeighboursBinaryFileWriter () | |
CrossNeighboursBinaryFileWriter (CrossNeighboursBinaryFileWriter const &aCopy) | |
CrossNeighboursBinaryFileWriter & | operator= (CrossNeighboursBinaryFileWriter const &aCopy) |
Binary file writer for cross-catalogue neighbour pairs.
Creates binary file consisting of records for each matching pair with fields: mainID (8 byte long long), externalID (4 byte long), distanceMins (the source separation in arcminutes, 4 byte float)
Definition at line 23 of file CrossNeighboursBinaryFileWriter.h.
CrossNeighboursBinaryFileWriter::CrossNeighboursBinaryFileWriter | ( | char const * | aFileNameStr, | |
bool | aIsLarge = false , |
|||
bool | aIsSwapped = false | |||
) |
Constructor.
aFileNameStr | Create output file with this name | |
aIsLarge | Will file be larger than 2 Gb? |
Definition at line 13 of file CrossNeighboursBinaryFileWriter.cpp.
virtual CrossNeighboursBinaryFileWriter::~CrossNeighboursBinaryFileWriter | ( | ) | [inline, virtual] |
Definition at line 33 of file CrossNeighboursBinaryFileWriter.h.
CrossNeighboursBinaryFileWriter::CrossNeighboursBinaryFileWriter | ( | ) | [private] |
CrossNeighboursBinaryFileWriter::CrossNeighboursBinaryFileWriter | ( | CrossNeighboursBinaryFileWriter const & | aCopy | ) | [private] |
void CrossNeighboursBinaryFileWriter::close | ( | ) | [virtual] |
Close file.
Reimplemented from ObjectPairWriter.
Definition at line 30 of file CrossNeighboursBinaryFileWriter.cpp.
References FileUtil::close(), FileUtil::instance(), and mFilePtr.
void CrossNeighboursBinaryFileWriter::open | ( | ) | [virtual] |
Open file for writing.
Reimplemented from ObjectPairWriter.
Definition at line 25 of file CrossNeighboursBinaryFileWriter.cpp.
References FileUtil::instance(), mFileNameStr, mFilePtr, mIsLarge, and FileUtil::writeOpen().
CrossNeighboursBinaryFileWriter& CrossNeighboursBinaryFileWriter::operator= | ( | CrossNeighboursBinaryFileWriter const & | aCopy | ) | [private] |
virtual void CrossNeighboursBinaryFileWriter::write | ( | Object const * | aExternObjectPtr, | |
Object const * | aMainObjectPtr | |||
) | [inline, virtual] |
Write an object pair record to the output binary file.
aExternObjectPtr | The pairing's external catalogue source Object | |
aMainObjectPtr | The pairing's main catalogue source Object |
Reimplemented from ObjectPairWriter.
Definition at line 45 of file CrossNeighboursBinaryFileWriter.h.
References Datum::getId(), mcRecordSize, mFilePtr, mIsSwapped, and mRecord.
Definition at line 71 of file CrossNeighboursBinaryFileWriter.h.
Definition at line 75 of file CrossNeighboursBinaryFileWriter.h.
Definition at line 74 of file CrossNeighboursBinaryFileWriter.h.
struct { ... } CrossNeighboursBinaryFileWriter::field |
long long CrossNeighboursBinaryFileWriter::mainID |
Definition at line 73 of file CrossNeighboursBinaryFileWriter.h.
const unsigned CrossNeighboursBinaryFileWriter::mcRecordSize = 20 [static, protected] |
Size of a record in bytes.
Definition at line 67 of file CrossNeighboursBinaryFileWriter.h.
Referenced by write().
char const* CrossNeighboursBinaryFileWriter::mFileNameStr [protected] |
Definition at line 80 of file CrossNeighboursBinaryFileWriter.h.
Referenced by open().
FILE* CrossNeighboursBinaryFileWriter::mFilePtr [protected] |
Definition at line 79 of file CrossNeighboursBinaryFileWriter.h.
bool CrossNeighboursBinaryFileWriter::mIsLarge [protected] |
Definition at line 81 of file CrossNeighboursBinaryFileWriter.h.
Referenced by open().
bool CrossNeighboursBinaryFileWriter::mIsSwapped [protected] |
Definition at line 82 of file CrossNeighboursBinaryFileWriter.h.
Referenced by write().
union { ... } CrossNeighboursBinaryFileWriter::mRecord [protected] |
Record data structure definition.
Referenced by write().