modified getDetectorType function name in slsDetector to be able to make a getDetectorType(pos) function for multiSlsDetector

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@176 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
l_maliakal_d
2012-05-03 16:29:29 +00:00
parent 7824719d98
commit 9c020fb67d
6 changed files with 31 additions and 5 deletions

View File

@ -400,6 +400,23 @@ string multiSlsDetector::getHostname(int pos) {
} }
string multiSlsDetector::getDetectorsType(int pos) {
string s=string("");
#ifdef VERBOSE
cout << "returning type " << pos << endl;
#endif
if (pos>=0) {
if (detectors[pos])
return detectors[pos]->getDetectorsType();
} else
return detectors[0]->getDetectorsType();
return s;
}
int multiSlsDetector::getDetectorId(int pos) { int multiSlsDetector::getDetectorId(int pos) {
#ifdef VERBOSE #ifdef VERBOSE
@ -3500,4 +3517,3 @@ int multiSlsDetector::readDataFile(string fname, int *data) {
return iline; return iline;
} }

View File

@ -264,6 +264,7 @@ class multiSlsDetector : public slsDetectorUtils {
string getHostname(int pos=-1); string getHostname(int pos=-1);
string getDetectorsType(int pos=-1);
/** adds a detector by id in position pos /** adds a detector by id in position pos

View File

@ -1265,7 +1265,7 @@ int slsDetector::setDetectorType(string const stype){
return setDetectorType(getDetectorType(stype)); return setDetectorType(getDetectorType(stype));
}; };
string slsDetector::getDetectorType(){ string slsDetector::getDetectorsType(int pos){
return getDetectorType(thisDetector->myDetectorType); return getDetectorType(thisDetector->myDetectorType);
} }

View File

@ -604,7 +604,7 @@ typedef struct sharedSlsDetector {
normally the detector knows what type of detector it is normally the detector knows what type of detector it is
\param type is the string where the detector type will be written ("Mythen", "Pilatus", "XFS", "Gotthard", Agipd") \param type is the string where the detector type will be written ("Mythen", "Pilatus", "XFS", "Gotthard", Agipd")
*/ */
string getDetectorType(); string getDetectorsType(int pos=-1);
// Detector configuration functions // Detector configuration functions

View File

@ -325,6 +325,7 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) {
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdDetectorSize; descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdDetectorSize;
i++; i++;
/* flags */ /* flags */
descrToFuncMap[i].m_pFuncName="flags"; descrToFuncMap[i].m_pFuncName="flags";
@ -361,6 +362,7 @@ slsDetectorCommand::slsDetectorCommand(slsDetectorUtils *det) {
descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSN; descrToFuncMap[i].m_pFuncPtr=&slsDetectorCommand::cmdSN;
i++; i++;
/* digital test and debugging */ /* digital test and debugging */
descrToFuncMap[i].m_pFuncName="digitest"; // /* find command! */ descrToFuncMap[i].m_pFuncName="digitest"; // /* find command! */
@ -2192,7 +2194,7 @@ string slsDetectorCommand::cmdDetectorSize(int narg, char *args[], int action) {
// portType index; // portType index;
if (action==PUT_ACTION) { if (action==PUT_ACTION) {
if (cmd=="maxmod") if (cmd=="maxmod")
return string("cannot put!"); return string("cannot put!");
if (sscanf(args[1],"%d",&val)) if (sscanf(args[1],"%d",&val))
@ -2373,7 +2375,7 @@ string slsDetectorCommand::cmdSN(int narg, char *args[], int action) {
if (cmd=="thisversion"){ if (cmd=="thisversion"){
sprintf(answer,"%llx",myDet->getId(THIS_SOFTWARE_VERSION)); sprintf(answer,"%llx",myDet->getId(THIS_SOFTWARE_VERSION));
return string(answer); return string(answer);
} }
myDet->setOnline(ONLINE_FLAG); myDet->setOnline(ONLINE_FLAG);

View File

@ -111,6 +111,13 @@ class slsDetectorUtils : public slsDetectorActions, public slsDetectorBase {
virtual string setHostname(char* name, int pos=-1)=0; virtual string setHostname(char* name, int pos=-1)=0;
/** returns the detector type
\param pos position in the multi detector structure (is -1 returns type of detector with id -1)
\returns type
*/
virtual string getDetectorsType(int pos=-1)=0;
/** Gets the detector id (shared memory id) of an slsDetector /** Gets the detector id (shared memory id) of an slsDetector
\param i position in the multiSlsDetector structure \param i position in the multiSlsDetector structure