print loss

This commit is contained in:
Dhanya Maliakal
2017-05-18 13:59:40 +02:00
parent a276b6b7f5
commit 4aa73c607f
9 changed files with 195 additions and 75 deletions

View File

@ -20,21 +20,24 @@ class BinaryFile : private virtual slsReceiverDefs, public File, public BinaryFi
* Constructor
* creates the File Writer
* @param ind self index
* @param maxf max frames per file
* @param ppf packets per frame
* @param nd pointer to number of detectors in each dimension
* @param fname pointer to file name prefix
* @param fpath pointer to file path
* @param findex pointer to file index
* @param frindexenable pointer to frame index enable
* @param owenable pointer to over write enable
* @param maxf max frames per file
* @param dindex pointer to detector index
* @param nunits pointer to number of theads/ units per detector
* @param nf pointer to number of frames
* @param dr dynamic range
* @param nf pointer to number of images in acquisition
* @param dr pointer to dynamic range
* @param portno pointer to udp port number for logging
*/
BinaryFile(int ind, int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable, uint32_t maxf, int* dindex, int* nunits,
uint64_t* nf, uint32_t* dr);
BinaryFile(int ind, uint32_t maxf, const uint32_t* ppf,
int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable,
int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno);
/**
* Destructor
@ -81,9 +84,10 @@ class BinaryFile : private virtual slsReceiverDefs, public File, public BinaryFi
* @param buffer buffer to write from
* @param buffersize size of buffer
* @param fnum current image number
* @param nump number of packets caught
* @returns OK or FAIL
*/
int WriteToFile(char* buffer, int buffersize, uint64_t fnum);
int WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_t nump);
@ -106,5 +110,8 @@ class BinaryFile : private virtual slsReceiverDefs, public File, public BinaryFi
/** Number of frames in file */
uint32_t numFramesInFile;
/** Number of actual packets caught in file */
uint64_t numActualPacketsInFile;
};

View File

@ -156,11 +156,12 @@ class DataProcessor : private virtual slsReceiverDefs, public ThreadObject {
* @param dindex pointer to detector index
* @param nunits pointer to number of theads/ units per detector
* @param nf pointer to number of images in acquisition
* @param dr dynamic range
* @param dr pointer to dynamic range
* @param portno pointer to udp port number
* @param g address of GeneralData (Detector Data) pointer
*/
void SetupFileWriter(int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable, int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, GeneralData* g = 0);
bool* frindexenable, bool* owenable, int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno, GeneralData* g = 0);
/**

View File

@ -20,20 +20,24 @@ class File : private virtual slsReceiverDefs {
* Constructor
* creates the File Writer
* @param ind self index
* @param maxf max frames per file
* @param ppf packets per frame
* @param nd pointer to number of detectors in each dimension
* @param fname pointer to file name prefix
* @param fpath pointer to file path
* @param findex pointer to file index
* @param frindexenable pointer to frame index enable
* @param owenable pointer to over write enable
* @param maxf max frames per file
* @param dindex pointer to detector index
* @param nunits pointer to number of theads/ units per detector
* @param nf pointer to number of images in acquisition
* @param dr dynamic range
* @param dr pointer to dynamic range
* @param portno pointer to udp port number for logging
*/
File(int ind, int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable, uint32_t maxf, int* dindex, int* nunits, uint64_t* nf, uint32_t* dr);
File(int ind, uint32_t maxf, const uint32_t* ppf,
int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable,
int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno);
/**
* Destructor
@ -68,10 +72,12 @@ class File : private virtual slsReceiverDefs {
* @param dindex pointer to detector index
* @param nunits pointer to number of theads/ units per detector
* @param nf pointer to number of images in acquisition
* @param dr dynamic range
* @param dr pointer to dynamic range
* @param portno pointer to dynamic range
*/
void GetMemberPointerValues(int* nd, char*& fname, char*& fpath, uint64_t*& findex,
bool*& frindexenable, bool*& owenable, int*& dindex, int*& nunits, uint64_t*& nf, uint32_t*& dr);
bool*& frindexenable, bool*& owenable,
int*& dindex, int*& nunits, uint64_t*& nf, uint32_t*& dr, uint32_t*& portno);
/**
* Set Max frames per file
@ -79,6 +85,12 @@ class File : private virtual slsReceiverDefs {
*/
void SetMaxFramesPerFile(uint32_t maxf);
/**
* Set Packets per frame (called only for each generalData construction)
* @param ppf pointer to packets per frame
*/
void SetPacketsPerFrame(const uint32_t* ppf);
/**
* Create file
* @param fnum current frame index to include in file name
@ -107,9 +119,10 @@ class File : private virtual slsReceiverDefs {
* Write data to file
* @param buffer buffer to write from
* @param fnum current image number
* @param nump number of packets caught
* @param OK or FAIL
*/
virtual int WriteToFile(char* buffer, int buffersize, uint64_t fnum) {
virtual int WriteToFile(char* buffer, int buffersize, uint64_t fnum, uint32_t nump) {
cprintf(RED,"This is a generic function WriteToFile that should be overloaded by a derived class\n");
return FAIL;
}
@ -156,15 +169,25 @@ class File : private virtual slsReceiverDefs {
/** Self Index */
int index;
/** Maximum frames per file */
uint32_t maxFramesPerFile;
/** Packets per frame for logging */
//pointer because value in generalData could change
const uint32_t* packetsPerFrame;
/** Master File Name */
std::string masterFileName;
/** Current File Name */
std::string currentFileName;
/** Number of Detectors in X dimension */
int numDetX;
/** Number of Detectors in Y dimension */
int numDetY;
/** Master File Name */
std::string masterFileName;
/** File Name Prefix */
char* fileNamePrefix;
@ -177,15 +200,9 @@ class File : private virtual slsReceiverDefs {
/** Frame Index */
bool* frameIndexEnable;
/** File Write Enable */
bool* fileWriteEnable;
/** Over write enable */
bool* overWriteEnable;
/** Maximum frames per file */
uint32_t maxFramesPerFile;
/** Detector Index */
int* detIndex;
@ -198,7 +215,8 @@ class File : private virtual slsReceiverDefs {
/** Dynamic Range */
uint32_t* dynamicRange;
/** Current File Name */
std::string currentFileName;
/** UDP Port Number for logging */
uint32_t* udpPortNumber;
};

View File

@ -26,22 +26,26 @@ class HDF5File : private virtual slsReceiverDefs, public File, public HDF5FileSt
* Constructor
* creates the File Writer
* @param ind self index
* @param maxf max frames per file
* @param ppf packets per frame
* @param nd pointer to number of detectors in each dimension
* @param fname pointer to file name prefix
* @param fpath pointer to file path
* @param findex pointer to file index
* @param frindexenable pointer to frame index enable
* @param owenable pointer to over write enable
* @param maxf max frames per file
* @param dindex pointer to detector index
* @param nunits pointer to number of theads/ units per detector
* @param nf pointer to number of frames
* @param dr dynamic range
* @param nf pointer to number of images in acquisition
* @param dr pointer to dynamic range
* @param portno pointer to udp port number for logging
* @param nx number of pixels in x direction
* @param ny number of pixels in y direction
*/
HDF5File(int ind, int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable, uint32_t maxf, int* dindex, int* nunits, uint64_t* nf, uint32_t* dr,
HDF5File(int ind, uint32_t maxf, const uint32_t* ppf,
int* nd, char* fname, char* fpath, uint64_t* findex,
bool* frindexenable, bool* owenable,
int* dindex, int* nunits, uint64_t* nf, uint32_t* dr, uint32_t* portno,
uint32_t nx, uint32_t ny);
/**
@ -83,9 +87,10 @@ class HDF5File : private virtual slsReceiverDefs, public File, public HDF5FileSt
* @param buffer buffer to write from
* @param bsize size of buffer (not used)
* @param fnum current image number
* @param nump number of packets caught
* @returns OK or FAIL
*/
int WriteToFile(char* buffer, int bsize, uint64_t fnum);
int WriteToFile(char* buffer, int bsize, uint64_t fnum, uint32_t nump);
/**
* Create master file
@ -159,6 +164,9 @@ class HDF5File : private virtual slsReceiverDefs, public File, public HDF5FileSt
/** Number of frames in file */
uint32_t numFramesInFile;
/** Number of actual packets caught in file */
uint64_t numActualPacketsInFile;
/** Number of files in an acquisition - to verify need of virtual file */
int numFilesinAcquisition;