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) {
#ifdef VERBOSE
@ -3500,4 +3517,3 @@ int multiSlsDetector::readDataFile(string fname, int *data) {
return iline;
}

View File

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

View File

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

View File

@ -604,7 +604,7 @@ typedef struct sharedSlsDetector {
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")
*/
string getDetectorType();
string getDetectorsType(int pos=-1);
// Detector configuration functions

View File

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