Description:
This class bins Swift Large Data Product packets by APID, product number and time. In other words it produces one file per large data product. See the superclass for more information.
Data Fields | ||
private | int | time_scale |
Constructors / Destructor | |
public | LDPPacketBinner(int time_scale)Constructor. |
public | ~LDPPacketBinner() |
Methods | |||
protected | virtual | File* | getFile(CCSDSPacket* generic_p)Return the file for a particular packet. |
protected | virtual | File* | getFile(int apid, int time, unsigned int id)Construct a File object for a given apid, time, and id. The time is included in the file name, to insure that we have a unique identifier even if the id can repeat itself. This way we can distinguish e.g. id=6 on 2001-08-29 from id=6 on 2001-09-01. Note that the units of time are arbitrary. Subclasses should choose a time unit which is longer than the time spanned by the packets in a given file, but shorter than the period over which the id can repeat itself. See the getFileNearTime() method for more information. |
protected | virtual | File* | getFileNearTime(int apid, int time, unsigned int id)Returns a File object for a file with a time indicator within one of the given time, preferably one which already exists. This takes care of the problem that a time indicator may increment by one in the middle of a bin file (i.e. the bin spans "midnight"). |
Operators |