concatenated filenames for the gui when using receiver

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@469 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
l_maliakal_d 2013-02-22 11:26:43 +00:00
parent b98545814f
commit aae7c68f65
7 changed files with 51 additions and 11 deletions

View File

@ -2,10 +2,10 @@
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware/gotthardDetectorServer" #define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware/gotthardDetectorServer"
//#define SVNREPPATH "" //#define SVNREPPATH ""
#define SVNREPUUID "951219d9-93cf-4727-9268-0efd64621fa3" #define SVNREPUUID "951219d9-93cf-4727-9268-0efd64621fa3"
//#define SVNREV 0x463 //#define SVNREV 0x468
//#define SVNKIND "" //#define SVNKIND ""
//#define SVNSCHED "" //#define SVNSCHED ""
#define SVNAUTH "l_maliakal_d" #define SVNAUTH "l_maliakal_d"
#define SVNREV 0x463 #define SVNREV 0x468
#define SVNDATE 0x20130221 #define SVNDATE 0x20130221
// //

View File

@ -4160,6 +4160,10 @@ int* multiSlsDetector::readFrameFromReceiver(char* fName, int &fIndex){
int n; int n;
int* retval=new int[nel]; int* retval=new int[nel];
int *retdet, *p=retval; int *retdet, *p=retval;
string fullFName="";
string ext="";
for (int id=0; id<thisMultiDetector->numberOfDetectors; id++) { for (int id=0; id<thisMultiDetector->numberOfDetectors; id++) {
if (detectors[id]) { if (detectors[id]) {
@ -4169,6 +4173,14 @@ int* multiSlsDetector::readFrameFromReceiver(char* fName, int &fIndex){
memcpy(p,retdet,n); memcpy(p,retdet,n);
delete [] retdet; delete [] retdet;
p+=n/sizeof(int); p+=n/sizeof(int);
//concatenate filenames
if(!fullFName.length()){
fullFName.assign(fileIO::getFileName());
size_t dot = fullFName.rfind(".");
if(dot != string::npos)
ext = fullFName.substr(dot,fullFName.size()-dot);
}
fullFName.append(getReceiverFileNameToConcatenate(fName));
}else { }else {
#ifdef VERBOSE #ifdef VERBOSE
cout << "Receiver for detector " << id << " does not have data left " << endl; cout << "Receiver for detector " << id << " does not have data left " << endl;
@ -4178,6 +4190,8 @@ int* multiSlsDetector::readFrameFromReceiver(char* fName, int &fIndex){
} }
} }
} }
fullFName.append(ext);
strcpy(fName,fullFName.c_str());
return retval; return retval;
}; };

View File

@ -2,10 +2,10 @@
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware/mythenDetectorServer" #define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware/mythenDetectorServer"
//#define SVNREPPATH "" //#define SVNREPPATH ""
#define SVNREPUUID "951219d9-93cf-4727-9268-0efd64621fa3" #define SVNREPUUID "951219d9-93cf-4727-9268-0efd64621fa3"
//#define SVNREV 0x418 //#define SVNREV 0x431
//#define SVNKIND "" //#define SVNKIND ""
//#define SVNSCHED "" //#define SVNSCHED ""
#define SVNAUTH "l_maliakal_d" #define SVNAUTH "l_maliakal_d"
#define SVNREV 0x418 #define SVNREV 0x431
#define SVNDATE 0x20130108 #define SVNDATE 0x20130116
// //

View File

@ -2,10 +2,10 @@
#define SVNURLLIB "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware" #define SVNURLLIB "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware"
//#define SVNREPPATH "" //#define SVNREPPATH ""
#define SVNREPUUIDLIB "951219d9-93cf-4727-9268-0efd64621fa3" #define SVNREPUUIDLIB "951219d9-93cf-4727-9268-0efd64621fa3"
//#define SVNREV 0x430 //#define SVNREV 0x468
//#define SVNKIND "" //#define SVNKIND ""
//#define SVNSCHED "" //#define SVNSCHED ""
#define SVNAUTHLIB "l_maliakal_d" #define SVNAUTHLIB "l_maliakal_d"
#define SVNREVLIB 0x430 #define SVNREVLIB 0x468
#define SVNDATELIB 0x20130116 #define SVNDATELIB 0x20130221
// //

View File

@ -271,6 +271,31 @@ class fileIOStatic {
/** static function that returns the entire filename ithout file name prefix, detector index or extension
This will be concatenated with all the other detector file names for the gui
\param fname complete file name
\returns file name without file name prefix, detector index or extension
*/
static string getReceiverFileNameToConcatenate(string fname) { \
int i; \
string s; \
s=fname; \
size_t slash=s.rfind("/"); \
if (slash!= string::npos) \
s=s.substr(slash,s.size()-slash); \
size_t dot=s.find("."); \
size_t uscore=s.find("_"); \
s=s.substr(uscore,dot-uscore); \
uscore=s.find("_",1); \
if ((uscore!= string::npos) && (sscanf( s.substr(1,uscore-1).c_str(),"d%d",&i))) \
s=s.substr(uscore,s.size()-uscore); \
return s; \
};
/** /**
writes a data file writes a data file

View File

@ -423,6 +423,7 @@ void* postProcessing::processData(int delflag) {
prevCaught=caught; prevCaught=caught;
if (checkJoinThread()) break; if (checkJoinThread()) break;
if(newData){ if(newData){
strcpy(currentfName,"");
pthread_mutex_lock(&mg); pthread_mutex_lock(&mg);
int* receiverData = readFrameFromReceiver(currentfName,currentfIndex); int* receiverData = readFrameFromReceiver(currentfName,currentfIndex);
pthread_mutex_unlock(&mg); pthread_mutex_unlock(&mg);

View File

@ -2,10 +2,10 @@
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware/slsReceiver" #define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware/slsReceiver"
//#define SVNREPPATH "" //#define SVNREPPATH ""
#define SVNREPUUID "951219d9-93cf-4727-9268-0efd64621fa3" #define SVNREPUUID "951219d9-93cf-4727-9268-0efd64621fa3"
//#define SVNREV 0x428 //#define SVNREV 0x451
//#define SVNKIND "" //#define SVNKIND ""
//#define SVNSCHED "" //#define SVNSCHED ""
#define SVNAUTH "l_maliakal_d" #define SVNAUTH "l_maliakal_d"
#define SVNREV 0x428 #define SVNREV 0x451
#define SVNDATE 0x20130115 #define SVNDATE 0x20130205
// //