From 3f148c52a170516dec622616c51a162a30596ed7 Mon Sep 17 00:00:00 2001 From: bergamaschi Date: Tue, 1 Dec 2009 14:32:14 +0000 Subject: [PATCH] some more details fixed git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@4 951219d9-93cf-4727-9268-0efd64621fa3 --- .../bin/libSlsDetector.so.1.0.1 | Bin 273580 -> 327988 bytes slsDetectorSoftware/bin/mythenDetectorServer | Bin 73500 -> 74706 bytes .../docs/html/MySocketTCP_8cxx.html | 2 +- .../docs/html/MySocketTCP_8h-source.html | 2 +- .../docs/html/MySocketTCP_8h.html | 2 +- slsDetectorSoftware/docs/html/annotated.html | 3 +- slsDetectorSoftware/docs/html/bug.html | 2 +- .../docs/html/classMySocketTCP-members.html | 2 +- .../docs/html/classMySocketTCP.html | 2 +- .../docs/html/classeigerDetector-members.html | 17 +- .../docs/html/classeigerDetector.html | 2 +- .../html/classmythenDetector-members.html | 19 +- .../docs/html/classmythenDetector.html | 78 +- .../docs/html/classslsDetector-members.html | 17 +- .../docs/html/classslsDetector.html | 141 +-- .../docs/html/eigerDetector_8h-source.html | 2 +- .../docs/html/eigerDetector_8h.html | 2 +- slsDetectorSoftware/docs/html/files.html | 2 +- slsDetectorSoftware/docs/html/functions.html | 8 +- .../docs/html/functions_0x62.html | 3 +- .../docs/html/functions_0x63.html | 3 +- .../docs/html/functions_0x64.html | 9 +- .../docs/html/functions_0x65.html | 6 +- .../docs/html/functions_0x66.html | 10 +- .../docs/html/functions_0x67.html | 17 +- .../docs/html/functions_0x68.html | 3 +- .../docs/html/functions_0x69.html | 3 +- .../docs/html/functions_0x6c.html | 3 +- .../docs/html/functions_0x6d.html | 6 +- .../docs/html/functions_0x6e.html | 6 +- .../docs/html/functions_0x6f.html | 3 +- .../docs/html/functions_0x70.html | 8 +- .../docs/html/functions_0x72.html | 3 +- .../docs/html/functions_0x73.html | 3 +- .../docs/html/functions_0x74.html | 3 +- .../docs/html/functions_0x77.html | 3 +- .../docs/html/functions_0x78.html | 3 +- .../docs/html/functions_0x79.html | 3 +- .../docs/html/functions_0x7e.html | 9 +- .../docs/html/functions_eval.html | 2 +- .../docs/html/functions_func.html | 35 +- .../docs/html/functions_type.html | 2 +- .../docs/html/functions_vars.html | 25 +- slsDetectorSoftware/docs/html/globals.html | 2 +- .../docs/html/globals_defs.html | 2 +- .../docs/html/globals_enum.html | 2 +- .../docs/html/globals_eval.html | 2 +- .../docs/html/globals_func.html | 2 +- .../docs/html/globals_vars.html | 2 +- slsDetectorSoftware/docs/html/hierarchy.html | 3 +- slsDetectorSoftware/docs/html/index.html | 2 +- .../docs/html/mythenDetector_8h-source.html | 22 +- .../docs/html/mythenDetector_8h.html | 2 +- slsDetectorSoftware/docs/html/namespaces.html | 2 +- .../docs/html/namespacestd.html | 2 +- slsDetectorSoftware/docs/html/pages.html | 2 +- .../docs/html/slsDetector_8cpp.html | 2 +- .../docs/html/slsDetector_8h-source.html | 908 +++++++++--------- .../docs/html/slsDetector_8h.html | 4 +- .../html/sls__detector__defs_8h-source.html | 2 +- .../docs/html/sls__detector__defs_8h.html | 2 +- .../docs/html/structROI-members.html | 2 +- slsDetectorSoftware/docs/html/structROI.html | 2 +- ...structangleConversionConstant-members.html | 2 +- .../html/structangleConversionConstant.html | 2 +- .../docs/html/structiarray-members.html | 2 +- .../docs/html/structiarray.html | 2 +- ...Detector_1_1sharedSlsDetector-members.html | 2 +- ...tructslsDetector_1_1sharedSlsDetector.html | 2 +- .../structsls__detector__channel-members.html | 2 +- .../html/structsls__detector__channel.html | 2 +- .../structsls__detector__chip-members.html | 2 +- .../docs/html/structsls__detector__chip.html | 2 +- .../structsls__detector__module-members.html | 2 +- .../html/structsls__detector__module.html | 2 +- .../docs/html/usersFunctions_8c.html | 2 +- .../docs/html/usersFunctions_8h-source.html | 2 +- .../docs/html/usersFunctions_8h.html | 2 +- slsDetectorSoftware/docs/latex/annotated.tex | 1 + .../docs/latex/classmythenDetector.tex | 43 +- .../docs/latex/classslsDetector.tex | 91 +- slsDetectorSoftware/docs/latex/doxygen.sty | 4 +- slsDetectorSoftware/docs/latex/hierarchy.tex | 1 + slsDetectorSoftware/docs/latex/refman.tex | 3 +- .../docs/latex/slsDetector_8h.tex | 2 + .../mythenDetector/mythenDetector.cpp | 82 +- .../mythenDetector/mythenDetector.h | 8 +- .../mythenDetectorServer/server_funcs.c | 60 ++ .../mythenDetectorServer/server_funcs.h | 1 + .../slsDetector/slsDetector.cpp | 28 +- slsDetectorSoftware/slsDetector/slsDetector.h | 67 +- 91 files changed, 1105 insertions(+), 759 deletions(-) diff --git a/slsDetectorSoftware/bin/libSlsDetector.so.1.0.1 b/slsDetectorSoftware/bin/libSlsDetector.so.1.0.1 index c67f4d11af5a554501208372357dd0dec4a5dd35..e84a74c9a7dfe469a7ed91e37bc6fb2f1a6cb074 100755 GIT binary patch literal 327988 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 z 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 Z@g7a_BF_*9sk^uls{1m%Hq*O<{}-gj8HWG> literal 273580 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

v<#EpS>Fd4cp7n*V00# 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%0A}~CjDj%sf9_);R84m$5Q`}MnkqfyaBHT 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�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 diff --git a/slsDetectorSoftware/bin/mythenDetectorServer b/slsDetectorSoftware/bin/mythenDetectorServer index 96e9850544f0866d6b78d6aa9857ed87dd5c759f..9abb308fbde9e3b52daaa3439a1159dc79436b0d 100755 GIT binary patch literal 74706 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 E0=7vAZ~y=R literal 73500 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 -


Generated on Tue Dec 1 10:56:45 2009 by  +
Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
diff --git a/slsDetectorSoftware/docs/html/MySocketTCP_8h-source.html b/slsDetectorSoftware/docs/html/MySocketTCP_8h-source.html index 7bcdc24fa..40ccdcfd8 100644 --- a/slsDetectorSoftware/docs/html/MySocketTCP_8h-source.html +++ b/slsDetectorSoftware/docs/html/MySocketTCP_8h-source.html @@ -108,7 +108,7 @@ 00088 00089 }; 00090 #endif -
Generated on Tue Dec 1 10:56:45 2009 by  +
Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
diff --git a/slsDetectorSoftware/docs/html/MySocketTCP_8h.html b/slsDetectorSoftware/docs/html/MySocketTCP_8h.html index 24e9ec6c8..4a5c73078 100644 --- a/slsDetectorSoftware/docs/html/MySocketTCP_8h.html +++ b/slsDetectorSoftware/docs/html/MySocketTCP_8h.html @@ -67,7 +67,7 @@

-


Generated on Tue Dec 1 10:56:45 2009 by  +
Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
diff --git a/slsDetectorSoftware/docs/html/annotated.html b/slsDetectorSoftware/docs/html/annotated.html index eb80d7c73..3e1a4494a 100644 --- a/slsDetectorSoftware/docs/html/annotated.html +++ b/slsDetectorSoftware/docs/html/annotated.html @@ -21,6 +21,7 @@

Class List

Here are the classes, structs, unions and interfaces with brief descriptions: + @@ -32,7 +33,7 @@
angleConversionConstant
detectorData
eigerDetectorThis is class contains all eiger specific functionalities
iarray
MySocketTCP
slsDetectorThis is the base class for all SLS detector functionalities
slsDetector::sharedSlsDetectorStructure allocated in shared memory to store detector settings and be accessed in parallel by several applications (take care of possible conflicts!)
-
Generated on Tue Dec 1 10:56:45 2009 by  +
Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
diff --git a/slsDetectorSoftware/docs/html/bug.html b/slsDetectorSoftware/docs/html/bug.html index 9ca8892d3..ea760a8d9 100644 --- a/slsDetectorSoftware/docs/html/bug.html +++ b/slsDetectorSoftware/docs/html/bug.html @@ -17,7 +17,7 @@
Member slsDetector::getChip (int ichip, int imod)
probably does not return corretly!
-
Generated on Tue Dec 1 10:56:45 2009 by  +
Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
diff --git a/slsDetectorSoftware/docs/html/classMySocketTCP-members.html b/slsDetectorSoftware/docs/html/classMySocketTCP-members.html index 706a079a0..72504a617 100644 --- a/slsDetectorSoftware/docs/html/classMySocketTCP-members.html +++ b/slsDetectorSoftware/docs/html/classMySocketTCP-members.html @@ -43,7 +43,7 @@ serverAddressMySocketTCP [private] socketDescriptorMySocketTCP [private] ~MySocketTCP()MySocketTCP -
Generated on Tue Dec 1 10:56:45 2009 by  +
Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
diff --git a/slsDetectorSoftware/docs/html/classMySocketTCP.html b/slsDetectorSoftware/docs/html/classMySocketTCP.html index c327f12a6..2a970dbf6 100644 --- a/slsDetectorSoftware/docs/html/classMySocketTCP.html +++ b/slsDetectorSoftware/docs/html/classMySocketTCP.html @@ -550,7 +550,7 @@


The documentation for this class was generated from the following files: -
Generated on Tue Dec 1 10:56:45 2009 by  +
Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
diff --git a/slsDetectorSoftware/docs/html/classeigerDetector-members.html b/slsDetectorSoftware/docs/html/classeigerDetector-members.html index cb240e402..86e3058db 100644 --- a/slsDetectorSoftware/docs/html/classeigerDetector-members.html +++ b/slsDetectorSoftware/docs/html/classeigerDetector-members.html @@ -20,7 +20,7 @@
  • Class Members
  • eigerDetector Member List

    This is the complete list of members for eigerDetector, including all inherited members.

    - + @@ -34,7 +34,6 @@ - @@ -53,6 +52,7 @@ + @@ -61,8 +61,8 @@ + - @@ -76,15 +76,15 @@ - + - - + + @@ -104,7 +104,8 @@ - + + @@ -179,7 +180,7 @@ -
    acquire()=0slsDetector [pure virtual]
    acquire(int delflag=1)=0slsDetector [pure virtual]
    adcsslsDetector [protected]
    addToMerging(float *p1, float *v1, float *e1, float *mp, float *mv, float *me, int *mm)=0slsDetector [pure virtual]
    analogTest(analogTestMode mode)slsDetector
    currentPositionslsDetector [protected]
    currentPositionIndexslsDetector [protected]
    dacsslsDetector [protected]
    dataProcessingThreadslsDetector [protected]
    dataQueueslsDetector [protected]
    dataSocketslsDetector [protected]
    decodeData(int *datain)eigerDetector
    ffcoefficientsslsDetector [protected]
    fferrorsslsDetector [protected]
    fillBadChannelMask()slsDetector [protected]
    finalDataQueueslsDetector [protected]
    finalizeMerging(float *mp, float *mv, float *me, int *mm)slsDetector
    flatFieldCorrect(float datain, float errin, float &dataout, float &errout, float ffcoefficient, float fferr)slsDetector
    flatFieldCorrect(float *datain, float *errin, float *dataout, float *errout)slsDetector
    getADC(dacIndex index, int imod=0)slsDetector
    getAngularConversion(int &direction, angleConversionConstant *angconv=NULL)=0slsDetector [pure virtual]
    getAngularConversion()=0slsDetector [pure virtual]
    getBadChannelCorrection(int *bad=NULL)slsDetector
    getBadChannelCorrectionFile()slsDetector [inline]
    getBadChannelCorrections(int *bad=NULL)slsDetector
    getBinSize()=0slsDetector [pure virtual]
    getCalDir()slsDetector [inline]
    getChannel(int ichan, int ichip, int imod)slsDetector
    getFileName()slsDetector [inline]
    getFilePath()slsDetector [inline]
    getFineOffset()=0slsDetector [pure virtual]
    getFlatFieldCorrections(float *corr=NULL, float *ecorr=NULL)slsDetector
    getFlatFieldCorrection(float *corr=NULL, float *ecorr=NULL)slsDetector
    getGlobalOffset()=0slsDetector [pure virtual]
    getHostname()slsDetector [inline]
    getId(idMode mode, int imod=0)slsDetector
    getMaxNumberOfModules(dimension d=X)slsDetector
    getModule(int imod)slsDetector
    getPositions(float *pos=NULL)=0slsDetector [pure virtual]
    getRateCorrections(float &t)slsDetector
    getRateCorrections()slsDetector
    getRateCorrection(float &t)slsDetector
    getRateCorrection()slsDetector
    getRunStatus()slsDetector
    getSettings(int imod=-1)slsDetector
    getStopPort()slsDetector [inline]
    ONLINE_FLAG enum valueslsDetector
    onlineFlagslsDetector [protected]
    popDataQueue()slsDetector
    processData()=0slsDetector [pure virtual]
    popFinalDataQueue()slsDetector
    processData(int delflag=1)=0slsDetector [pure virtual]
    rateCorrect(float datain, float errin, float &dataout, float &errout, float tau, float t)slsDetector
    rateCorrect(float *datain, float *errin, float *dataout, float *errout)slsDetector
    readAll()slsDetector
    writeTrimFile(string fname, int imod)eigerDetector [virtual]
    ~eigerDetector()eigerDetector [inline]
    ~slsDetector()slsDetector [inline]


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/classeigerDetector.html b/slsDetectorSoftware/docs/html/classeigerDetector.html index 8102e1548..788770ebc 100644 --- a/slsDetectorSoftware/docs/html/classeigerDetector.html +++ b/slsDetectorSoftware/docs/html/classeigerDetector.html @@ -557,7 +557,7 @@ Implements eigerDetector.h -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/classmythenDetector-members.html b/slsDetectorSoftware/docs/html/classmythenDetector-members.html index a79c4d5ec..19978171e 100644 --- a/slsDetectorSoftware/docs/html/classmythenDetector-members.html +++ b/slsDetectorSoftware/docs/html/classmythenDetector-members.html @@ -20,7 +20,7 @@
  • Class Members
  • mythenDetector Member List

    This is the complete list of members for mythenDetector, including all inherited members.

    - + @@ -34,7 +34,6 @@ - @@ -52,6 +51,7 @@ + @@ -60,8 +60,8 @@ + - @@ -75,15 +75,15 @@ - + - - + + @@ -99,11 +99,13 @@ + - + + @@ -176,8 +178,9 @@ + -
    acquire()mythenDetector [virtual]
    acquire(int delflag=1)mythenDetector [virtual]
    adcsslsDetector [protected]
    addToMerging(float *p1, float *v1, float *e1, float *mp, float *mv, float *me, int *mm)mythenDetector [virtual]
    analogTest(analogTestMode mode)slsDetector
    currentPositionslsDetector [protected]
    currentPositionIndexslsDetector [protected]
    dacsslsDetector [protected]
    dataProcessingThreadslsDetector [protected]
    dataQueueslsDetector [protected]
    dataSocketslsDetector [protected]
    decodeData(int *datain)slsDetector
    ffcoefficientsslsDetector [protected]
    fferrorsslsDetector [protected]
    fillBadChannelMask()slsDetector [protected]
    finalDataQueueslsDetector [protected]
    finalizeMerging(float *mp, float *mv, float *me, int *mm)mythenDetector
    flatFieldCorrect(float datain, float errin, float &dataout, float &errout, float ffcoefficient, float fferr)slsDetector
    flatFieldCorrect(float *datain, float *errin, float *dataout, float *errout)slsDetector
    getADC(dacIndex index, int imod=0)slsDetector
    getAngularConversion(int &direction, angleConversionConstant *angconv=NULL)mythenDetector [virtual]
    getAngularConversion()mythenDetector [inline, virtual]
    getBadChannelCorrection(int *bad=NULL)slsDetector
    getBadChannelCorrectionFile()slsDetector [inline]
    getBadChannelCorrections(int *bad=NULL)slsDetector
    getBinSize()mythenDetector [inline, virtual]
    getCalDir()slsDetector [inline]
    getChannel(int ichan, int ichip, int imod)slsDetector
    getFileName()slsDetector [inline]
    getFilePath()slsDetector [inline]
    getFineOffset()mythenDetector [inline, virtual]
    getFlatFieldCorrections(float *corr=NULL, float *ecorr=NULL)slsDetector
    getFlatFieldCorrection(float *corr=NULL, float *ecorr=NULL)slsDetector
    getGlobalOffset()mythenDetector [inline, virtual]
    getHostname()slsDetector [inline]
    getId(idMode mode, int imod=0)slsDetector
    getMaxNumberOfModules(dimension d=X)slsDetector
    getModule(int imod)slsDetector
    getPositions(float *pos=NULL)mythenDetector [inline, virtual]
    getRateCorrections(float &t)slsDetector
    getRateCorrections()slsDetector
    getRateCorrection(float &t)slsDetector
    getRateCorrection()slsDetector
    getRunStatus()slsDetector
    getSettings(int imod=-1)slsDetector
    getStopPort()slsDetector [inline]
    mergingCountsslsDetector [protected]
    mergingErrorsslsDetector [protected]
    mergingMultiplicityslsDetector [protected]
    mythenDetector(int id=0)mythenDetector [inline]
    OFFLINE_FLAG enum valueslsDetector
    ONLINE_FLAG enum valueslsDetector
    onlineFlagslsDetector [protected]
    popDataQueue()slsDetector
    processData()mythenDetector [virtual]
    popFinalDataQueue()slsDetector
    processData(int delflag=1)mythenDetector [virtual]
    rateCorrect(float datain, float errin, float &dataout, float &errout, float tau, float t)slsDetector
    rateCorrect(float *datain, float *errin, float *dataout, float *errout)slsDetector
    readAll()slsDetector
    writeRegister(int addr, int val)slsDetector
    writeTrimFile(string fname, sls_detector_module mod)mythenDetector [virtual]
    writeTrimFile(string fname, int imod)mythenDetector [virtual]
    ~mythenDetector()mythenDetector [inline]
    ~slsDetector()slsDetector [inline]


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/classmythenDetector.html b/slsDetectorSoftware/docs/html/classmythenDetector.html index d1de0e6bf..51cdb6580 100644 --- a/slsDetectorSoftware/docs/html/classmythenDetector.html +++ b/slsDetectorSoftware/docs/html/classmythenDetector.html @@ -29,6 +29,10 @@ List of all members. + + + + @@ -87,20 +91,61 @@ - + - +

    Public Member Functions

     mythenDetector (int id=0)
     ~mythenDetector ()
    int readConfigurationFile (string const fname)
    int writeConfigurationFile (string const fname)
    int finalizeMerging (float *mp, float *mv, float *me, int *mm)
    void * processData ()
    void * processData (int delflag=1)
    void acquire ()
    void acquire (int delflag=1)
    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + + + + + +
    mythenDetector::mythenDetector (int  id = 0  )  [inline]
    +
    +
    + +

    +(default) constructor +

    +

    + +

    +
    + + + + + + + + +
    mythenDetector::~mythenDetector (  )  [inline]
    +
    +
    + +

    +destructor +

    +


    Member Function Documentation

    - +
    - + + @@ -113,9 +158,14 @@ performs the complete acquisition and data processing moves the detector to next starts and reads the detector
    reads the IC (if required)
    reads the encoder (iof required for angualr conversion)
    - processes the data (flat field, rate, angular conversion and merging processData()) + processes the data (flat field, rate, angular conversion and merging processData())
    Parameters:
    +
    void mythenDetector::acquire ( int  delflag = 1  )  [virtual]
    + +
    delflag if 1 the data are deleted, else left there for further processing (or plotting?)
    + +

    -Implements slsDetector. +Implements slsDetector.

    @@ -415,14 +465,15 @@ get positions for the acquisition

    Parameters:
    Implements slsDetector.

    - +

    - + + @@ -431,9 +482,14 @@ Implements

    -function for processing data +function for processing data

    Parameters:
    +
    void* mythenDetector::processData ( int  delflag = 1  )  [virtual]
    + +
    delflag if 1 the data are deleted, else left there for further processing (or plotting?)
    +
    +

    -Implements slsDetector. +Implements slsDetector.

    @@ -1160,7 +1216,7 @@ Implements mythenDetector.h -


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/classslsDetector-members.html b/slsDetectorSoftware/docs/html/classslsDetector-members.html index 35f0c930b..ddbe9f02e 100644 --- a/slsDetectorSoftware/docs/html/classslsDetector-members.html +++ b/slsDetectorSoftware/docs/html/classslsDetector-members.html @@ -20,7 +20,7 @@
  • Class Members
  • slsDetector Member List

    This is the complete list of members for slsDetector, including all inherited members.

    - + @@ -34,7 +34,6 @@ - @@ -52,6 +51,7 @@ + @@ -60,8 +60,8 @@ + - @@ -75,15 +75,15 @@ - + - - + + @@ -103,7 +103,8 @@ - + + @@ -177,7 +178,7 @@ -
    acquire()=0slsDetector [pure virtual]
    acquire(int delflag=1)=0slsDetector [pure virtual]
    adcsslsDetector [protected]
    addToMerging(float *p1, float *v1, float *e1, float *mp, float *mv, float *me, int *mm)=0slsDetector [pure virtual]
    analogTest(analogTestMode mode)slsDetector
    currentPositionslsDetector [protected]
    currentPositionIndexslsDetector [protected]
    dacsslsDetector [protected]
    dataProcessingThreadslsDetector [protected]
    dataQueueslsDetector [protected]
    dataSocketslsDetector [protected]
    decodeData(int *datain)slsDetector
    ffcoefficientsslsDetector [protected]
    fferrorsslsDetector [protected]
    fillBadChannelMask()slsDetector [protected]
    finalDataQueueslsDetector [protected]
    finalizeMerging(float *mp, float *mv, float *me, int *mm)slsDetector
    flatFieldCorrect(float datain, float errin, float &dataout, float &errout, float ffcoefficient, float fferr)slsDetector
    flatFieldCorrect(float *datain, float *errin, float *dataout, float *errout)slsDetector
    getADC(dacIndex index, int imod=0)slsDetector
    getAngularConversion(int &direction, angleConversionConstant *angconv=NULL)=0slsDetector [pure virtual]
    getAngularConversion()=0slsDetector [pure virtual]
    getBadChannelCorrection(int *bad=NULL)slsDetector
    getBadChannelCorrectionFile()slsDetector [inline]
    getBadChannelCorrections(int *bad=NULL)slsDetector
    getBinSize()=0slsDetector [pure virtual]
    getCalDir()slsDetector [inline]
    getChannel(int ichan, int ichip, int imod)slsDetector
    getFileName()slsDetector [inline]
    getFilePath()slsDetector [inline]
    getFineOffset()=0slsDetector [pure virtual]
    getFlatFieldCorrections(float *corr=NULL, float *ecorr=NULL)slsDetector
    getFlatFieldCorrection(float *corr=NULL, float *ecorr=NULL)slsDetector
    getGlobalOffset()=0slsDetector [pure virtual]
    getHostname()slsDetector [inline]
    getId(idMode mode, int imod=0)slsDetector
    getMaxNumberOfModules(dimension d=X)slsDetector
    getModule(int imod)slsDetector
    getPositions(float *pos=NULL)=0slsDetector [pure virtual]
    getRateCorrections(float &t)slsDetector
    getRateCorrections()slsDetector
    getRateCorrection(float &t)slsDetector
    getRateCorrection()slsDetector
    getRunStatus()slsDetector
    getSettings(int imod=-1)slsDetector
    getStopPort()slsDetector [inline]
    ONLINE_FLAG enum valueslsDetector
    onlineFlagslsDetector [protected]
    popDataQueue()slsDetector
    processData()=0slsDetector [pure virtual]
    popFinalDataQueue()slsDetector
    processData(int delflag=1)=0slsDetector [pure virtual]
    rateCorrect(float datain, float errin, float &dataout, float &errout, float tau, float t)slsDetector
    rateCorrect(float *datain, float *errin, float *dataout, float *errout)slsDetector
    readAll()slsDetector
    writeTrimFile(string fname, sls_detector_module mod)=0slsDetector [pure virtual]
    writeTrimFile(string fname, int imod)=0slsDetector [pure virtual]
    ~slsDetector()slsDetector [inline]


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/classslsDetector.html b/slsDetectorSoftware/docs/html/classslsDetector.html index 6a0bb8d4e..d32e297a4 100644 --- a/slsDetectorSoftware/docs/html/classslsDetector.html +++ b/slsDetectorSoftware/docs/html/classslsDetector.html @@ -202,6 +202,8 @@ int * popDataQueue () +detectorDatapopFinalDataQueue () + int64_t setTimer (timerIndex index, int64_t t=-1) int64_t getTimeLeft (timerIndex index) @@ -218,17 +220,17 @@ int setFlatFieldCorrection (string fname="") -int getFlatFieldCorrections (float *corr=NULL, float *ecorr=NULL) +int getFlatFieldCorrection (float *corr=NULL, float *ecorr=NULL) int setRateCorrection (float t=0) -int getRateCorrections (float &t) +int getRateCorrection (float &t) -int getRateCorrections () +int getRateCorrection () int setBadChannelCorrection (string fname="") -int getBadChannelCorrections (int *bad=NULL) +int getBadChannelCorrection (int *bad=NULL) char * getBadChannelCorrectionFile () @@ -272,13 +274,13 @@ int exitServer () -virtual void * processData ()=0 +virtual void * processData (int delflag=1)=0 sls_detector_modulecreateModule () void deleteModule (sls_detector_module *myMod) -virtual void acquire ()=0 +virtual void acquire (int delflag=1)=0

    Protected Member Functions

    int * getDataFromDetector () @@ -324,7 +326,7 @@ queue< int * > dataQueue -pthread_t dataProcessingThread +queue< detectorData * > finalDataQueue float currentPosition @@ -476,14 +478,15 @@ destructor


    Member Function Documentation

    - +
    - + + @@ -496,10 +499,10 @@ pure virtual function performs the complete acquisition and data processing move starts and reads the detector
    reads the IC (if required)
    reads the encoder (iof required for angualr conversion)
    - processes the data (flat field, rate, angular conversion and merging processData())
    See also:
    mythenDetector::acquire()
    + processes the data (flat field, rate, angular conversion and merging processData()) /param delflag if 1 the data are processed, written to file and then deleted. If 0 they are added to the finalDataQueue
    See also:
    mythenDetector::acquire()

    -Implemented in mythenDetector. +Implemented in mythenDetector.

    @@ -1238,31 +1241,12 @@ pure virtual function get angular conversion

    Parameters:< Implemented in mythenDetector.

    - +

    virtual void slsDetector::acquire ( int  delflag = 1  )  [pure virtual]
    - - - - - - -
    char* slsDetector::getBadChannelCorrectionFile (  )  [inline]
    -
    -
    - -

    -returns the bad channel list file -

    -

    - -

    -
    - - - + @@ -1281,6 +1265,25 @@ get bad channels correction
    Parameters:
    Returns:
    0 if bad channel disabled or no bad channels, >0 otherwise
    + +

    + +

    +
    +
    int slsDetector::getBadChannelCorrections int slsDetector::getBadChannelCorrection ( int *  bad = NULL
    + + + + + + + +
    char* slsDetector::getBadChannelCorrectionFile (  )  [inline]
    +
    +
    + +

    +returns the bad channel list file

    @@ -1593,12 +1596,12 @@ pure virtual function get detector fine offset

    See also:< Implemented in mythenDetector.

    - +

    - + @@ -1788,12 +1791,12 @@ pure virtual function get positions for the acquisition
    Param Implemented in mythenDetector.

    - +

    int slsDetector::getFlatFieldCorrections int slsDetector::getFlatFieldCorrection ( float *  corr = NULL,
    - + @@ -1808,12 +1811,12 @@ get rate correction
    Returns:
    0 if rate correction

    - +

    int slsDetector::getRateCorrections int slsDetector::getRateCorrection (  ) 
    - + @@ -2184,14 +2187,36 @@ pops the data from the data queue
    Returns:
    pointe

    - + +

    +
    +
    int slsDetector::getRateCorrections int slsDetector::getRateCorrection ( float &  t
    + + + + + + + +
    detectorData * slsDetector::popFinalDataQueue (  ) 
    +
    +
    + +

    +pops the data from thepostprocessed data queue

    Returns:
    pointer to the popped data or NULL if the queue is empty.
    +
    See also:
    finalDataQueue
    + +
    +

    +

    - + + @@ -2200,10 +2225,10 @@ pops the data from the data queue
    Returns:
    pointe

    -pure virtual function function for processing data

    See also:
    mythenDetector::processData
    +pure virtual function function for processing data /param delflag if 1 the data are processed, written to file and then deleted. If 0 they are added to the finalDataQueue
    See also:
    mythenDetector::processData

    -Implemented in mythenDetector. +Implemented in mythenDetector.

    @@ -4464,21 +4489,6 @@ current position index of the detector pointer to dac valuse

    - -

    -
    -
    virtual void* slsDetector::processData ( int  delflag = 1  )  [pure virtual]
    - - - -
    pthread_t slsDetector::dataProcessingThread [protected]
    -
    -
    - -

    -data processing thread??? -

    -

    @@ -4569,6 +4579,21 @@ pointer to flat field coefficients pointer to flat field coefficient errors

    + +

    +
    + + + + +
    queue<detectorData*> slsDetector::finalDataQueue [protected]
    +
    +
    + +

    +queue containing the postprocessed data +

    +

    @@ -4692,7 +4717,7 @@ address of the detector structure in shared memory


    The documentation for this class was generated from the following files: -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/eigerDetector_8h-source.html b/slsDetectorSoftware/docs/html/eigerDetector_8h-source.html index 463c34636..9f5f3c6ff 100644 --- a/slsDetectorSoftware/docs/html/eigerDetector_8h-source.html +++ b/slsDetectorSoftware/docs/html/eigerDetector_8h-source.html @@ -84,7 +84,7 @@ 00168 00169 00170 #endif -

    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/eigerDetector_8h.html b/slsDetectorSoftware/docs/html/eigerDetector_8h.html index 4c6c094c9..8f65891ac 100644 --- a/slsDetectorSoftware/docs/html/eigerDetector_8h.html +++ b/slsDetectorSoftware/docs/html/eigerDetector_8h.html @@ -28,7 +28,7 @@  This is class contains all eiger specific functionalities. More...
    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/files.html b/slsDetectorSoftware/docs/html/files.html index f853ba5eb..6e99818d5 100644 --- a/slsDetectorSoftware/docs/html/files.html +++ b/slsDetectorSoftware/docs/html/files.html @@ -29,7 +29,7 @@ usersFunctions/usersFunctions.c usersFunctions/usersFunctions.h [code] -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions.html b/slsDetectorSoftware/docs/html/functions.html index d34624662..6f0374bbc 100644 --- a/slsDetectorSoftware/docs/html/functions.html +++ b/slsDetectorSoftware/docs/html/functions.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -59,16 +60,17 @@ Here is a list of all class members with links to the classes they belong to:

    - a -

    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x62.html b/slsDetectorSoftware/docs/html/functions_0x62.html index bae46ae86..97c7adc8f 100644 --- a/slsDetectorSoftware/docs/html/functions_0x62.html +++ b/slsDetectorSoftware/docs/html/functions_0x62.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -64,7 +65,7 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector::sharedSlsDetector
  • badFFList : slsDetector::sharedSlsDetector
  • binSize : slsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x63.html b/slsDetectorSoftware/docs/html/functions_0x63.html index a5c4d1007..046023a44 100644 --- a/slsDetectorSoftware/docs/html/functions_0x63.html +++ b/slsDetectorSoftware/docs/html/functions_0x63.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -80,7 +81,7 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector
  • currentSettings : slsDetector::sharedSlsDetector
  • currentThresholdEV : slsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x64.html b/slsDetectorSoftware/docs/html/functions_0x64.html index 40a07b072..2ad8df363 100644 --- a/slsDetectorSoftware/docs/html/functions_0x64.html +++ b/slsDetectorSoftware/docs/html/functions_0x64.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -62,12 +63,12 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector::sharedSlsDetector
  • dacs : sls_detector_module, slsDetector
  • dataBytes : slsDetector::sharedSlsDetector
  • dataPort -: slsDetector::sharedSlsDetector
  • dataProcessingThread -: slsDetector
  • dataQueue +: slsDetector::sharedSlsDetector
  • dataQueue : slsDetector
  • dataSocket : slsDetector
  • decodeData() : eigerDetector, slsDetector
  • deleteModule() -: slsDetector
  • detectorModules +: slsDetector
  • detectorData() +: detectorData
  • detectorModules : slsDetector
  • detId : slsDetector
  • detPositions : slsDetector::sharedSlsDetector
  • digitalTest() @@ -75,7 +76,7 @@ Here is a list of all class members with links to the classes they belong to: : MySocketTCP
  • dumpDetectorSetup() : mythenDetector, slsDetector
  • dynamicRange : slsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x65.html b/slsDetectorSoftware/docs/html/functions_0x65.html index 592fb8b3a..4ff62872c 100644 --- a/slsDetectorSoftware/docs/html/functions_0x65.html +++ b/slsDetectorSoftware/docs/html/functions_0x65.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -63,13 +64,14 @@ Here is a list of all class members with links to the classes they belong to: : eigerDetector
  • enableAnalogOutput() : slsDetector
  • eoffset : angleConversionConstant
  • er_conversion -: angleConversionConstant
  • etilt +: angleConversionConstant
  • errors +: detectorData
  • etilt : angleConversionConstant
  • execCommand() : slsDetector
  • executeTrimming() : slsDetector
  • exists() : slsDetector
  • exitServer() : slsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x66.html b/slsDetectorSoftware/docs/html/functions_0x66.html index 060323a44..09b3ca2ac 100644 --- a/slsDetectorSoftware/docs/html/functions_0x66.html +++ b/slsDetectorSoftware/docs/html/functions_0x66.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -64,15 +65,16 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector
  • ffoff : slsDetector::sharedSlsDetector
  • file_des : MySocketTCP
  • fileIndex -: slsDetector::sharedSlsDetector
  • fileName -: slsDetector::sharedSlsDetector
  • filePath +: slsDetector::sharedSlsDetector, detectorData
  • fileName +: slsDetector::sharedSlsDetector, detectorData
  • filePath : slsDetector::sharedSlsDetector
  • fillBadChannelMask() -: slsDetector
  • finalizeMerging() +: slsDetector
  • finalDataQueue +: slsDetector
  • finalizeMerging() : mythenDetector, slsDetector
  • fineOffset : slsDetector::sharedSlsDetector
  • flatFieldCorrect() : slsDetector
  • freeSharedMemory() : slsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x67.html b/slsDetectorSoftware/docs/html/functions_0x67.html index 3cf690e83..7dc120f10 100644 --- a/slsDetectorSoftware/docs/html/functions_0x67.html +++ b/slsDetectorSoftware/docs/html/functions_0x67.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -62,9 +63,9 @@ Here is a list of all class members with links to the classes they belong to: : sls_detector_module
  • GET_ONLINE_FLAG : slsDetector
  • getADC() : slsDetector
  • getAngularConversion() -: mythenDetector, slsDetector
  • getBadChannelCorrectionFile() -: slsDetector
  • getBadChannelCorrections() -: slsDetector
  • getBinSize() +: mythenDetector, slsDetector
  • getBadChannelCorrection() +: slsDetector
  • getBadChannelCorrectionFile() +: slsDetector
  • getBinSize() : mythenDetector, slsDetector
  • getCalDir() : slsDetector
  • getChannel() : slsDetector
  • getChip() @@ -78,16 +79,16 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector
  • getFileName() : slsDetector
  • getFilePath() : slsDetector
  • getFineOffset() -: mythenDetector, slsDetector
  • getFlatFieldCorrections() -: slsDetector
  • getGlobalOffset() +: mythenDetector, slsDetector
  • getFlatFieldCorrection() +: slsDetector
  • getGlobalOffset() : mythenDetector, slsDetector
  • getHostname() : MySocketTCP, slsDetector
  • getId() : slsDetector
  • getMaxNumberOfModules() : slsDetector
  • getModule() : slsDetector
  • getPortNumber() : MySocketTCP
  • getPositions() -: mythenDetector, slsDetector
  • getRateCorrections() -: slsDetector
  • getRunStatus() +: mythenDetector, slsDetector
  • getRateCorrection() +: slsDetector
  • getRunStatus() : slsDetector
  • getSettings() : slsDetector
  • getStopPort() : slsDetector
  • getThresholdEnergy() @@ -97,7 +98,7 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector
  • giveCalibrationPulse() : slsDetector
  • globalOffset : slsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x68.html b/slsDetectorSoftware/docs/html/functions_0x68.html index 736d45219..3a5e15663 100644 --- a/slsDetectorSoftware/docs/html/functions_0x68.html +++ b/slsDetectorSoftware/docs/html/functions_0x68.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -60,7 +61,7 @@ Here is a list of all class members with links to the classes they belong to:

    - h -

    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x69.html b/slsDetectorSoftware/docs/html/functions_0x69.html index df8c7c71a..d0b01267b 100644 --- a/slsDetectorSoftware/docs/html/functions_0x69.html +++ b/slsDetectorSoftware/docs/html/functions_0x69.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -64,7 +65,7 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector
  • iptr : iarray
  • is_a_server : MySocketTCP -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x6c.html b/slsDetectorSoftware/docs/html/functions_0x6c.html index 425adc84d..f307eb8d6 100644 --- a/slsDetectorSoftware/docs/html/functions_0x6c.html +++ b/slsDetectorSoftware/docs/html/functions_0x6c.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -61,7 +62,7 @@ Here is a list of all class members with links to the classes they belong to:
  • last_keep_connection_open_action_was_a_send : MySocketTCP
  • len : iarray -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x6d.html b/slsDetectorSoftware/docs/html/functions_0x6d.html index 4935547a0..1e177ed1d 100644 --- a/slsDetectorSoftware/docs/html/functions_0x6d.html +++ b/slsDetectorSoftware/docs/html/functions_0x6d.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -66,8 +67,9 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector::sharedSlsDetector
  • module : sls_detector_module, sls_detector_chip, sls_detector_channel
  • myDetectorType : slsDetector::sharedSlsDetector
  • MySocketTCP() -: MySocketTCP -
    Generated on Tue Dec 1 10:56:45 2009 by  +: MySocketTCP
  • mythenDetector() +: mythenDetector +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x6e.html b/slsDetectorSoftware/docs/html/functions_0x6e.html index 643f5a310..12ab08026 100644 --- a/slsDetectorSoftware/docs/html/functions_0x6e.html +++ b/slsDetectorSoftware/docs/html/functions_0x6e.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -72,11 +73,12 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector::sharedSlsDetector
  • nModMax : slsDetector::sharedSlsDetector
  • nMods : slsDetector::sharedSlsDetector
  • nModsMax -: slsDetector::sharedSlsDetector
  • nROI +: slsDetector::sharedSlsDetector
  • npoints +: detectorData
  • nROI : slsDetector::sharedSlsDetector
  • nTrimEn : slsDetector::sharedSlsDetector
  • numberOfPositions : slsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x6f.html b/slsDetectorSoftware/docs/html/functions_0x6f.html index 2e797b297..dce6b5374 100644 --- a/slsDetectorSoftware/docs/html/functions_0x6f.html +++ b/slsDetectorSoftware/docs/html/functions_0x6f.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -63,7 +64,7 @@ Here is a list of all class members with links to the classes they belong to: : angleConversionConstant, sls_detector_module
  • ONLINE_FLAG : slsDetector
  • onlineFlag : slsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x70.html b/slsDetectorSoftware/docs/html/functions_0x70.html index 01684eb2b..bb1b8fe7f 100644 --- a/slsDetectorSoftware/docs/html/functions_0x70.html +++ b/slsDetectorSoftware/docs/html/functions_0x70.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -59,10 +60,11 @@ Here is a list of all class members with links to the classes they belong to:

    - p -

    -
    Generated on Tue Dec 1 10:56:45 2009 by  +: mythenDetector, slsDetector +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x72.html b/slsDetectorSoftware/docs/html/functions_0x72.html index 62f804a29..523aaca2d 100644 --- a/slsDetectorSoftware/docs/html/functions_0x72.html +++ b/slsDetectorSoftware/docs/html/functions_0x72.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -80,7 +81,7 @@ Here is a list of all class members with links to the classes they belong to: : mythenDetector, slsDetector
  • roFlags : slsDetector::sharedSlsDetector
  • roiLimits : slsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x73.html b/slsDetectorSoftware/docs/html/functions_0x73.html index f6639bd13..b76d25f1d 100644 --- a/slsDetectorSoftware/docs/html/functions_0x73.html +++ b/slsDetectorSoftware/docs/html/functions_0x73.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -110,7 +111,7 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector
  • stopPort : slsDetector::sharedSlsDetector
  • stopSocket : slsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x74.html b/slsDetectorSoftware/docs/html/functions_0x74.html index 3f01e2d43..a060a75d3 100644 --- a/slsDetectorSoftware/docs/html/functions_0x74.html +++ b/slsDetectorSoftware/docs/html/functions_0x74.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -65,7 +66,7 @@ Here is a list of all class members with links to the classes they belong to: : slsDetector::sharedSlsDetector
  • trimDir : slsDetector::sharedSlsDetector
  • trimEnergies : slsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x77.html b/slsDetectorSoftware/docs/html/functions_0x77.html index fb1e4bc53..9e7a4e823 100644 --- a/slsDetectorSoftware/docs/html/functions_0x77.html +++ b/slsDetectorSoftware/docs/html/functions_0x77.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -65,7 +66,7 @@ Here is a list of all class members with links to the classes they belong to: : eigerDetector, mythenDetector, slsDetector
  • writeRegister() : slsDetector
  • writeTrimFile() : eigerDetector, mythenDetector, slsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x78.html b/slsDetectorSoftware/docs/html/functions_0x78.html index 1de33b6ed..1d7113596 100644 --- a/slsDetectorSoftware/docs/html/functions_0x78.html +++ b/slsDetectorSoftware/docs/html/functions_0x78.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -61,7 +62,7 @@ Here is a list of all class members with links to the classes they belong to:
  • xmax : ROI
  • xmin : ROI -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x79.html b/slsDetectorSoftware/docs/html/functions_0x79.html index 6266c43b0..844bb9065 100644 --- a/slsDetectorSoftware/docs/html/functions_0x79.html +++ b/slsDetectorSoftware/docs/html/functions_0x79.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -61,7 +62,7 @@ Here is a list of all class members with links to the classes they belong to:
  • ymax : ROI
  • ymin : ROI -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_0x7e.html b/slsDetectorSoftware/docs/html/functions_0x7e.html index b954894ef..b5b8b5d6a 100644 --- a/slsDetectorSoftware/docs/html/functions_0x7e.html +++ b/slsDetectorSoftware/docs/html/functions_0x7e.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • w
  • x
  • y
  • @@ -58,11 +59,13 @@ Here is a list of all class members with links to the classes they belong to:

    - ~ -

    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_eval.html b/slsDetectorSoftware/docs/html/functions_eval.html index bb5bee277..8e9de78af 100644 --- a/slsDetectorSoftware/docs/html/functions_eval.html +++ b/slsDetectorSoftware/docs/html/functions_eval.html @@ -35,7 +35,7 @@ : slsDetector
  • OFFLINE_FLAG : slsDetector
  • ONLINE_FLAG : slsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_func.html b/slsDetectorSoftware/docs/html/functions_func.html index 490ca75d1..5e4025a39 100644 --- a/slsDetectorSoftware/docs/html/functions_func.html +++ b/slsDetectorSoftware/docs/html/functions_func.html @@ -51,7 +51,7 @@

    - a -

    - c -

    - p -

    +: slsDetector
  • popFinalDataQueue() +: slsDetector
  • processData() +: mythenDetector, slsDetector

    - r -

    - ~ -

    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_type.html b/slsDetectorSoftware/docs/html/functions_type.html index 448392ba0..00ed3fc75 100644 --- a/slsDetectorSoftware/docs/html/functions_type.html +++ b/slsDetectorSoftware/docs/html/functions_type.html @@ -33,7 +33,7 @@ -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/functions_vars.html b/slsDetectorSoftware/docs/html/functions_vars.html index 79aefe74d..477d90699 100644 --- a/slsDetectorSoftware/docs/html/functions_vars.html +++ b/slsDetectorSoftware/docs/html/functions_vars.html @@ -47,6 +47,7 @@
  • r
  • s
  • t
  • +
  • v
  • x
  • y
  • @@ -61,7 +62,8 @@ : sls_detector_module, slsDetector
  • alreadyExisting : slsDetector::sharedSlsDetector
  • angConvFile : slsDetector::sharedSlsDetector
  • angDirection -: slsDetector::sharedSlsDetector
  • angOff +: slsDetector::sharedSlsDetector
  • angles +: detectorData
  • angOff : slsDetector::sharedSlsDetector

    - b -

    - f -

    - g -

    @@ -193,6 +197,9 @@ : slsDetector::sharedSlsDetector
  • trimDir : slsDetector::sharedSlsDetector
  • trimEnergies : slsDetector::sharedSlsDetector +

    - v -

    - x -

    • xmax : ROI
    • xmin @@ -201,7 +208,7 @@
    • ymax : ROI
    • ymin : ROI
    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/globals.html b/slsDetectorSoftware/docs/html/globals.html index dfa2308d7..6da069043 100644 --- a/slsDetectorSoftware/docs/html/globals.html +++ b/slsDetectorSoftware/docs/html/globals.html @@ -67,7 +67,7 @@ Here is a list of all file members with links to the files they belong to: : sls_detector_defs.h
  • AUTO : sls_detector_defs.h
  • AVERAGE_NEIGHBOURS_FOR_BAD_CHANNELS : sls_detector_defs.h -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/globals_defs.html b/slsDetectorSoftware/docs/html/globals_defs.html index 13f5b4a52..e81b9b831 100644 --- a/slsDetectorSoftware/docs/html/globals_defs.html +++ b/slsDetectorSoftware/docs/html/globals_defs.html @@ -50,7 +50,7 @@ : slsDetector.h
  • PI : usersFunctions.h
  • SEND_REC_MAX_SIZE : MySocketTCP.h -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/globals_enum.html b/slsDetectorSoftware/docs/html/globals_enum.html index 82d35d0aa..ef8310cd5 100644 --- a/slsDetectorSoftware/docs/html/globals_enum.html +++ b/slsDetectorSoftware/docs/html/globals_enum.html @@ -51,7 +51,7 @@ : sls_detector_defs.h
  • timerIndex : sls_detector_defs.h
  • trimMode : sls_detector_defs.h -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/globals_eval.html b/slsDetectorSoftware/docs/html/globals_eval.html index d2291767c..b8409ac18 100644 --- a/slsDetectorSoftware/docs/html/globals_eval.html +++ b/slsDetectorSoftware/docs/html/globals_eval.html @@ -257,7 +257,7 @@
  • Z : sls_detector_defs.h
  • ZERO_COMPRESSION : sls_detector_defs.h -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/globals_func.html b/slsDetectorSoftware/docs/html/globals_func.html index 67ace4738..1af9cd96a 100644 --- a/slsDetectorSoftware/docs/html/globals_func.html +++ b/slsDetectorSoftware/docs/html/globals_func.html @@ -37,7 +37,7 @@ : usersFunctions.c, usersFunctions.h
  • go_to_position() : usersFunctions.c, usersFunctions.h
  • go_to_position_no_wait() : usersFunctions.c, usersFunctions.h -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/globals_vars.html b/slsDetectorSoftware/docs/html/globals_vars.html index ed4622654..b008065c5 100644 --- a/slsDetectorSoftware/docs/html/globals_vars.html +++ b/slsDetectorSoftware/docs/html/globals_vars.html @@ -33,7 +33,7 @@ -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/hierarchy.html b/slsDetectorSoftware/docs/html/hierarchy.html index bbe4d9601..d08b3c6ae 100644 --- a/slsDetectorSoftware/docs/html/hierarchy.html +++ b/slsDetectorSoftware/docs/html/hierarchy.html @@ -21,6 +21,7 @@

    Class Hierarchy

    This inheritance list is sorted roughly, but not completely, alphabetically:
  • slsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/index.html b/slsDetectorSoftware/docs/html/index.html index d70505339..192df40e7 100644 --- a/slsDetectorSoftware/docs/html/index.html +++ b/slsDetectorSoftware/docs/html/index.html @@ -35,7 +35,7 @@ The best way to operate the slsDetectors is to use the software (text client or make package
    and link the shared library created to your software bin/libSlsDetector.so.1.0.1 Then in your software you should use the class related to the detector you want to control (mythenDetector or eigerDetector).

    Author:
    Anna Bergamaschi
    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/mythenDetector_8h-source.html b/slsDetectorSoftware/docs/html/mythenDetector_8h-source.html index e93e5a1cc..691d60527 100644 --- a/slsDetectorSoftware/docs/html/mythenDetector_8h-source.html +++ b/slsDetectorSoftware/docs/html/mythenDetector_8h-source.html @@ -34,10 +34,10 @@ 00025 00026 00027 public: -00031 mythenDetector(int id=0) : slsDetector(MYTHEN, id); +00031 mythenDetector(int id=0) : slsDetector(MYTHEN, id){}; 00032 //slsDetector(string const fname); 00033 // ~slsDetector(){while(dataQueue.size()>0){}}; -00035 ~mythenDetector(){}; +00035 ~mythenDetector(){}; 00036 00037 00038 int readConfigurationFile(string const fname); @@ -111,16 +111,16 @@ 00272 int finalizeMerging(float *mp, float *mv,float *me, int *mm); 00273 00274 -00278 void* processData(); // thread function -00279 -00288 void acquire(); -00289 -00290 -00291 }; +00279 void* processData(int delflag=1); // thread function +00280 +00290 void acquire(int delflag=1); +00291 00292 -00293 -00294 #endif -
    Generated on Tue Dec 1 10:56:45 2009 by  +00293 }; +00294 +00295 +00296 #endif +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/mythenDetector_8h.html b/slsDetectorSoftware/docs/html/mythenDetector_8h.html index b7118e31e..e6a4d37ac 100644 --- a/slsDetectorSoftware/docs/html/mythenDetector_8h.html +++ b/slsDetectorSoftware/docs/html/mythenDetector_8h.html @@ -46,7 +46,7 @@

    -


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/namespaces.html b/slsDetectorSoftware/docs/html/namespaces.html index 41f8460f6..7360bff26 100644 --- a/slsDetectorSoftware/docs/html/namespaces.html +++ b/slsDetectorSoftware/docs/html/namespaces.html @@ -16,7 +16,7 @@

    Namespace List

    Here is a list of all namespaces with brief descriptions:
    std
    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/namespacestd.html b/slsDetectorSoftware/docs/html/namespacestd.html index 230fe4118..d70194102 100644 --- a/slsDetectorSoftware/docs/html/namespacestd.html +++ b/slsDetectorSoftware/docs/html/namespacestd.html @@ -18,7 +18,7 @@
    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/pages.html b/slsDetectorSoftware/docs/html/pages.html index d693c9cd6..859f2c60a 100644 --- a/slsDetectorSoftware/docs/html/pages.html +++ b/slsDetectorSoftware/docs/html/pages.html @@ -17,7 +17,7 @@
  • Bug List -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/slsDetector_8cpp.html b/slsDetectorSoftware/docs/html/slsDetector_8cpp.html index 82db797f7..cca3e239d 100644 --- a/slsDetectorSoftware/docs/html/slsDetector_8cpp.html +++ b/slsDetectorSoftware/docs/html/slsDetector_8cpp.html @@ -26,7 +26,7 @@
    -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/slsDetector_8h-source.html b/slsDetectorSoftware/docs/html/slsDetector_8h-source.html index 8c72f1a0f..72609d50b 100644 --- a/slsDetectorSoftware/docs/html/slsDetector_8h-source.html +++ b/slsDetectorSoftware/docs/html/slsDetector_8h-source.html @@ -60,463 +60,487 @@ 00040 #define DEFAULT_SHM_KEY 5678 00041 00042 #define defaultTDead {170,90,750} -00044 using namespace std; -00045 -00084 class slsDetector { -00085 -00086 -00087 -00088 public: -00089 -00090 -00092 enum {GET_ONLINE_FLAG, -00093 OFFLINE_FLAG, -00094 ONLINE_FLAG -00095 }; -00096 -00097 -00098 -00103 typedef struct sharedSlsDetector { -00105 int alreadyExisting; -00106 -00108 char hostname[MAX_STR_LENGTH]; -00110 int controlPort; -00112 int stopPort; -00114 int dataPort; -00115 -00117 detectorType myDetectorType; -00118 -00119 -00121 char trimDir[MAX_STR_LENGTH]; -00123 char calDir[MAX_STR_LENGTH]; -00125 int nTrimEn; -00127 int trimEnergies[100]; -00128 -00129 -00131 int fileIndex; -00133 char filePath[MAX_STR_LENGTH]; -00135 char fileName[MAX_STR_LENGTH]; +00049 class detectorData { +00050 public: +00059 detectorData(float *val=NULL, float *err=NULL, float *ang=NULL, int f_ind=-1, char *fname="", int np=-1) : values(val), errors(err), angles(ang), fileIndex(f_ind), npoints(np){strcpy(fileName,fname);}; +00064 ~detectorData() {if (values) delete [] values; if (errors) delete [] errors; if (angles) delete [] angles;}; +00065 //private: +00066 float *values; +00067 float *errors; +00068 float *angles; +00069 int fileIndex; +00070 char fileName[1000]; +00071 int npoints; +00072 }; +00073 +00074 +00075 +00076 +00077 +00078 +00079 +00080 +00081 +00082 +00083 using namespace std; +00123 class slsDetector { +00124 +00125 +00126 +00127 public: +00128 +00129 +00131 enum {GET_ONLINE_FLAG, +00132 OFFLINE_FLAG, +00133 ONLINE_FLAG +00134 }; +00135 00136 -00137 /* size of the detector */ -00138 -00140 int nMod[2]; -00142 int nMods; -00144 int nModMax[2]; -00146 int nModsMax; -00148 int nChans; -00150 int nChips; -00152 int nDacs; -00154 int nAdcs; -00156 int dynamicRange; -00158 int dataBytes; -00159 -00161 int correctionMask; -00163 float tDead; -00165 int nBadChans; -00167 char badChanFile[MAX_STR_LENGTH]; -00169 int badChansList[MAX_BADCHANS]; -00171 int nBadFF; -00173 int badFFList[MAX_BADCHANS]; -00174 -00176 char angConvFile[MAX_STR_LENGTH]; -00178 angleConversionConstant angOff[MAXMODS]; -00180 int angDirection; -00182 float fineOffset; -00184 float globalOffset; -00186 int numberOfPositions; -00188 float detPositions[MAXPOS]; -00190 float binSize; -00191 -00192 /* infos necessary for the readout to determine the size of the data */ -00194 int nROI; -00196 ROI roiLimits[MAX_ROIS]; -00198 readOutFlags roFlags; -00199 -00200 /* detector setup - not needed */ -00202 detectorSettings currentSettings; -00204 int currentThresholdEV; -00206 int64_t timerValue[MAX_TIMERS]; -00208 int clkDiv; -00209 -00210 /*offsets*/ -00212 int ffoff; -00214 int fferroff; -00216 int modoff; -00218 int dacoff; -00220 int adcoff; -00222 int chipoff; -00224 int chanoff; -00225 -00226 } sharedSlsDetector; -00227 -00228 -00229 -00236 slsDetector(detectorType type=GENERIC, int id=0); -00237 //slsDetector(string const fname); -00238 // ~slsDetector(){while(dataQueue.size()>0){}}; -00240 ~slsDetector(){}; -00241 -00242 -00245 int setOnline(int const online); -00248 int exists() {return thisDetector->alreadyExisting;}; -00249 -00256 virtual int readConfigurationFile(string const fname)=0; -00262 virtual int writeConfigurationFile(string const fname)=0; -00263 +00137 +00142 typedef struct sharedSlsDetector { +00144 int alreadyExisting; +00145 +00147 char hostname[MAX_STR_LENGTH]; +00149 int controlPort; +00151 int stopPort; +00153 int dataPort; +00154 +00156 detectorType myDetectorType; +00157 +00158 +00160 char trimDir[MAX_STR_LENGTH]; +00162 char calDir[MAX_STR_LENGTH]; +00164 int nTrimEn; +00166 int trimEnergies[100]; +00167 +00168 +00170 int fileIndex; +00172 char filePath[MAX_STR_LENGTH]; +00174 char fileName[MAX_STR_LENGTH]; +00175 +00176 /* size of the detector */ +00177 +00179 int nMod[2]; +00181 int nMods; +00183 int nModMax[2]; +00185 int nModsMax; +00187 int nChans; +00189 int nChips; +00191 int nDacs; +00193 int nAdcs; +00195 int dynamicRange; +00197 int dataBytes; +00198 +00200 int correctionMask; +00202 float tDead; +00204 int nBadChans; +00206 char badChanFile[MAX_STR_LENGTH]; +00208 int badChansList[MAX_BADCHANS]; +00210 int nBadFF; +00212 int badFFList[MAX_BADCHANS]; +00213 +00215 char angConvFile[MAX_STR_LENGTH]; +00217 angleConversionConstant angOff[MAXMODS]; +00219 int angDirection; +00221 float fineOffset; +00223 float globalOffset; +00225 int numberOfPositions; +00227 float detPositions[MAXPOS]; +00229 float binSize; +00230 +00231 /* infos necessary for the readout to determine the size of the data */ +00233 int nROI; +00235 ROI roiLimits[MAX_ROIS]; +00237 readOutFlags roFlags; +00238 +00239 /* detector setup - not needed */ +00241 detectorSettings currentSettings; +00243 int currentThresholdEV; +00245 int64_t timerValue[MAX_TIMERS]; +00247 int clkDiv; +00248 +00249 /*offsets*/ +00251 int ffoff; +00253 int fferroff; +00255 int modoff; +00257 int dacoff; +00259 int adcoff; +00261 int chipoff; +00263 int chanoff; 00264 -00265 /* -00266 It should be possible to dump all the settings of the detector (including trimbits, threshold energy, gating/triggering, acquisition time etc. -00267 in a file and retrieve it for repeating the measurement with identicals ettings, if necessary -00268 */ -00275 virtual int dumpDetectorSetup(string const fname)=0; -00281 virtual int retrieveDetectorSetup(string const fname)=0; -00282 -00294 int setTCPSocket(string const name="", int const control_port=-1, int const stop_port=-1, int const data_port=-1); -00296 char* getHostname() {return thisDetector->hostname;}; -00298 int getControlPort() {return thisDetector->controlPort;}; -00300 int getStopPort() {return thisDetector->stopPort;}; -00302 int getDataPort() {return thisDetector->dataPort;}; -00303 -00304 -00305 /* I/O */ -00307 char* getTrimDir() {return thisDetector->trimDir;}; -00309 char* setTrimDir(string s) {sprintf(thisDetector->trimDir, s.c_str()); return thisDetector->trimDir;}; -00316 int getTrimEn(int *en=NULL) {if (en) {for (int ien=0; ien<thisDetector->nTrimEn; ien++) en[ien]=thisDetector->trimEnergies[ien];} return (thisDetector->nTrimEn);}; -00317 -00327 virtual sls_detector_module* readTrimFile(string fname, sls_detector_module* myMod=NULL)=0; -00328 -00338 virtual int writeTrimFile(string fname, sls_detector_module mod)=0; -00339 -00348 virtual int writeTrimFile(string fname, int imod)=0; -00349 -00354 char* setFilePath(string s) {sprintf(thisDetector->filePath, s.c_str()); return thisDetector->filePath;}; -00355 -00360 char* setFileName(string s) {sprintf(thisDetector->fileName, s.c_str()); return thisDetector->fileName;}; -00361 -00366 int setFileIndex(int i) {thisDetector->fileIndex=i; return thisDetector->fileIndex;}; -00367 -00372 char* getFilePath() {return thisDetector->filePath;}; -00373 -00378 char* getFileName() {return thisDetector->fileName;}; -00379 -00384 int getFileIndex() {return thisDetector->fileIndex;}; -00385 -00397 string createFileName(); -00398 -00413 virtual int writeDataFile(string fname, float *data, float *err=NULL, float *ang=NULL, char dataformat='f', int nch=-1)=0; -00414 -00423 virtual int writeDataFile(string fname, int *data)=0; +00265 } sharedSlsDetector; +00266 +00267 +00268 +00275 slsDetector(detectorType type=GENERIC, int id=0); +00276 //slsDetector(string const fname); +00277 // ~slsDetector(){while(dataQueue.size()>0){}}; +00279 ~slsDetector(){}; +00280 +00281 +00284 int setOnline(int const online); +00287 int exists() {return thisDetector->alreadyExisting;}; +00288 +00295 virtual int readConfigurationFile(string const fname)=0; +00301 virtual int writeConfigurationFile(string const fname)=0; +00302 +00303 +00304 /* +00305 It should be possible to dump all the settings of the detector (including trimbits, threshold energy, gating/triggering, acquisition time etc. +00306 in a file and retrieve it for repeating the measurement with identicals ettings, if necessary +00307 */ +00314 virtual int dumpDetectorSetup(string const fname)=0; +00320 virtual int retrieveDetectorSetup(string const fname)=0; +00321 +00333 int setTCPSocket(string const name="", int const control_port=-1, int const stop_port=-1, int const data_port=-1); +00335 char* getHostname() {return thisDetector->hostname;}; +00337 int getControlPort() {return thisDetector->controlPort;}; +00339 int getStopPort() {return thisDetector->stopPort;}; +00341 int getDataPort() {return thisDetector->dataPort;}; +00342 +00343 +00344 /* I/O */ +00346 char* getTrimDir() {return thisDetector->trimDir;}; +00348 char* setTrimDir(string s) {sprintf(thisDetector->trimDir, s.c_str()); return thisDetector->trimDir;}; +00355 int getTrimEn(int *en=NULL) {if (en) {for (int ien=0; ien<thisDetector->nTrimEn; ien++) en[ien]=thisDetector->trimEnergies[ien];} return (thisDetector->nTrimEn);}; +00356 +00366 virtual sls_detector_module* readTrimFile(string fname, sls_detector_module* myMod=NULL)=0; +00367 +00377 virtual int writeTrimFile(string fname, sls_detector_module mod)=0; +00378 +00387 virtual int writeTrimFile(string fname, int imod)=0; +00388 +00393 char* setFilePath(string s) {sprintf(thisDetector->filePath, s.c_str()); return thisDetector->filePath;}; +00394 +00399 char* setFileName(string s) {sprintf(thisDetector->fileName, s.c_str()); return thisDetector->fileName;}; +00400 +00405 int setFileIndex(int i) {thisDetector->fileIndex=i; return thisDetector->fileIndex;}; +00406 +00411 char* getFilePath() {return thisDetector->filePath;}; +00412 +00417 char* getFileName() {return thisDetector->fileName;}; +00418 +00423 int getFileIndex() {return thisDetector->fileIndex;}; 00424 -00439 virtual int readDataFile(string fname, float *data, float *err=NULL, float *ang=NULL, char dataformat='f', int nch=0)=0; -00440 -00449 virtual int readDataFile(string fname, int *data)=0; -00450 -00455 char* getCalDir() {cout << "cal dir is " << thisDetector->calDir; return thisDetector->calDir;}; -00456 -00457 -00462 char* setCalDir(string s) {sprintf(thisDetector->calDir, s.c_str()); return thisDetector->calDir;}; -00471 virtual int readCalibrationFile(string fname, float &gain, float &offset)=0; -00480 virtual int writeCalibrationFile(string fname, float gain, float offset)=0; -00481 -00482 -00489 virtual int readAngularConversion(string fname="")=0; -00496 virtual int writeAngularConversion(string fname="")=0; -00497 -00498 -00499 -00500 /* Communication to server */ -00501 -00502 -00510 int execCommand(string cmd, string answer); -00511 -00518 int setDetectorType(detectorType type=GET_DETECTOR_TYPE); -00519 -00526 int setDetectorType(string type); -00527 -00533 void getDetectorType(char *type); -00534 -00535 -00536 // Detector configuration functions -00544 // Detector configuration functions -00551 int setNumberOfModules(int n, dimension d=X); // if n=GET_FLAG returns the number of installed modules -00552 -00553 /* -00554 returns the instrinsic size of the detector (maxmodx, maxmody, nchans, nchips, ndacs -00555 enum numberOf { -00556 MAXMODX, -00557 MAXMODY, -00558 CHANNELS, -00559 CHIPS, -00560 DACS -00561 } -00562 */ -00563 -00564 -00570 int getMaxNumberOfModules(dimension d=X); // -00571 -00572 -00579 externalSignalFlag setExternalSignalFlags(externalSignalFlag pol=GET_EXTERNAL_SIGNAL_FLAG , int signalindex=0); -00580 -00581 -00589 externalCommunicationMode setExternalCommunicationMode(externalCommunicationMode pol=GET_EXTERNAL_COMMUNICATION_MODE); -00590 +00436 string createFileName(); +00437 +00452 virtual int writeDataFile(string fname, float *data, float *err=NULL, float *ang=NULL, char dataformat='f', int nch=-1)=0; +00453 +00462 virtual int writeDataFile(string fname, int *data)=0; +00463 +00478 virtual int readDataFile(string fname, float *data, float *err=NULL, float *ang=NULL, char dataformat='f', int nch=0)=0; +00479 +00488 virtual int readDataFile(string fname, int *data)=0; +00489 +00494 char* getCalDir() {cout << "cal dir is " << thisDetector->calDir; return thisDetector->calDir;}; +00495 +00496 +00501 char* setCalDir(string s) {sprintf(thisDetector->calDir, s.c_str()); return thisDetector->calDir;}; +00510 virtual int readCalibrationFile(string fname, float &gain, float &offset)=0; +00519 virtual int writeCalibrationFile(string fname, float gain, float offset)=0; +00520 +00521 +00528 virtual int readAngularConversion(string fname="")=0; +00535 virtual int writeAngularConversion(string fname="")=0; +00536 +00537 +00538 +00539 /* Communication to server */ +00540 +00541 +00549 int execCommand(string cmd, string answer); +00550 +00557 int setDetectorType(detectorType type=GET_DETECTOR_TYPE); +00558 +00565 int setDetectorType(string type); +00566 +00572 void getDetectorType(char *type); +00573 +00574 +00575 // Detector configuration functions +00583 // Detector configuration functions +00590 int setNumberOfModules(int n, dimension d=X); // if n=GET_FLAG returns the number of installed modules 00591 -00592 // Tests and identification -00593 -00600 int64_t getId(idMode mode, int imod=0); -00607 int digitalTest(digitalTestMode mode, int imod=0); -00616 int* analogTest(analogTestMode mode); -00617 -00623 int enableAnalogOutput(int ichan); -00624 -00630 int enableAnalogOutput(int imod, int ichip, int ichan); -00631 -00640 int giveCalibrationPulse(float vcal, int npulses); -00641 -00642 // Expert Initialization functions -00643 -00644 -00652 int writeRegister(int addr, int val); -00653 -00660 int readRegister(int addr); -00661 -00669 float setDAC(float val, dacIndex index, int imod=-1); -00670 -00677 float getADC(dacIndex index, int imod=0); -00678 -00688 int setChannel(int64_t reg, int ichan=-1, int ichip=-1, int imod=-1); -00689 -00695 int setChannel(sls_detector_channel chan); -00696 -00704 sls_detector_channel getChannel(int ichan, int ichip, int imod); -00705 -00706 -00707 -00716 int setChip(int reg, int ichip=-1, int imod=-1); -00717 -00724 int setChip(sls_detector_chip chip); -00725 -00734 sls_detector_chip getChip(int ichip, int imod); +00592 /* +00593 returns the instrinsic size of the detector (maxmodx, maxmody, nchans, nchips, ndacs +00594 enum numberOf { +00595 MAXMODX, +00596 MAXMODY, +00597 CHANNELS, +00598 CHIPS, +00599 DACS +00600 } +00601 */ +00602 +00603 +00609 int getMaxNumberOfModules(dimension d=X); // +00610 +00611 +00618 externalSignalFlag setExternalSignalFlags(externalSignalFlag pol=GET_EXTERNAL_SIGNAL_FLAG , int signalindex=0); +00619 +00620 +00628 externalCommunicationMode setExternalCommunicationMode(externalCommunicationMode pol=GET_EXTERNAL_COMMUNICATION_MODE); +00629 +00630 +00631 // Tests and identification +00632 +00639 int64_t getId(idMode mode, int imod=0); +00646 int digitalTest(digitalTestMode mode, int imod=0); +00655 int* analogTest(analogTestMode mode); +00656 +00662 int enableAnalogOutput(int ichan); +00663 +00669 int enableAnalogOutput(int imod, int ichip, int ichan); +00670 +00679 int giveCalibrationPulse(float vcal, int npulses); +00680 +00681 // Expert Initialization functions +00682 +00683 +00691 int writeRegister(int addr, int val); +00692 +00699 int readRegister(int addr); +00700 +00708 float setDAC(float val, dacIndex index, int imod=-1); +00709 +00716 float getADC(dacIndex index, int imod=0); +00717 +00727 int setChannel(int64_t reg, int ichan=-1, int ichip=-1, int imod=-1); +00728 +00734 int setChannel(sls_detector_channel chan); 00735 -00736 -00743 int setModule(int reg, int imod=-1); -00744 -00751 int setModule(sls_detector_module module); -00752 -00758 sls_detector_module *getModule(int imod); -00759 -00760 // calibration functions -00761 // int setCalibration(int imod, detectorSettings isettings, float gain, float offset); -00762 //int getCalibration(int imod, detectorSettings isettings, float &gain, float &offset); -00763 +00743 sls_detector_channel getChannel(int ichan, int ichip, int imod); +00744 +00745 +00746 +00755 int setChip(int reg, int ichip=-1, int imod=-1); +00756 +00763 int setChip(sls_detector_chip chip); 00764 -00765 /* -00766 calibrated setup of the threshold -00767 */ -00773 int getThresholdEnergy(int imod=-1); +00773 sls_detector_chip getChip(int ichip, int imod); 00774 -00782 int setThresholdEnergy(int e_eV, int imod=-1, detectorSettings isettings=GET_SETTINGS); -00783 -00789 detectorSettings getSettings(int imod=-1); -00790 -00799 detectorSettings setSettings(detectorSettings isettings, int imod=-1); -00800 -00801 -00802 // Acquisition functions +00775 +00782 int setModule(int reg, int imod=-1); +00783 +00790 int setModule(sls_detector_module module); +00791 +00797 sls_detector_module *getModule(int imod); +00798 +00799 // calibration functions +00800 // int setCalibration(int imod, detectorSettings isettings, float gain, float offset); +00801 //int getCalibration(int imod, detectorSettings isettings, float &gain, float &offset); +00802 00803 -00804 -00809 int startAcquisition(); -00810 -00815 int stopAcquisition(); -00816 -00821 int startReadOut(); -00822 -00827 int getRunStatus(); -00828 -00834 int* startAndReadAll(); -00835 -00840 int startAndReadAllNoWait(); -00841 -00847 int* getDataFromDetectorNoWait(); -00848 -00854 int* readFrame(); -00855 -00861 int* readAll(); -00862 -00863 -00869 int* popDataQueue(); -00870 -00877 int64_t setTimer(timerIndex index, int64_t t=-1); -00878 -00884 int64_t getTimeLeft(timerIndex index); -00885 -00886 +00804 /* +00805 calibrated setup of the threshold +00806 */ +00812 int getThresholdEnergy(int imod=-1); +00813 +00821 int setThresholdEnergy(int e_eV, int imod=-1, detectorSettings isettings=GET_SETTINGS); +00822 +00828 detectorSettings getSettings(int imod=-1); +00829 +00838 detectorSettings setSettings(detectorSettings isettings, int imod=-1); +00839 +00840 +00841 // Acquisition functions +00842 +00843 +00848 int startAcquisition(); +00849 +00854 int stopAcquisition(); +00855 +00860 int startReadOut(); +00861 +00866 int getRunStatus(); +00867 +00873 int* startAndReadAll(); +00874 +00879 int startAndReadAllNoWait(); +00880 +00886 int* getDataFromDetectorNoWait(); 00887 -00888 -00895 int setSpeed(speedVariable sp, int value=-1); -00896 -00897 // Flags -00905 int setDynamicRange(int n=-1); -00906 -00912 int setROI(int nroi=-1, int *xmin=NULL, int *xmax=NULL, int *ymin=NULL, int *ymax=NULL); -00913 -00914 -00920 int setReadOutFlags(readOutFlags flag); -00921 -00930 int executeTrimming(trimMode mode, int par1, int par2, int imod=-1); +00893 int* readFrame(); +00894 +00900 int* readAll(); +00901 +00902 +00908 int* popDataQueue(); +00909 +00915 detectorData* popFinalDataQueue(); +00922 int64_t setTimer(timerIndex index, int64_t t=-1); +00923 +00929 int64_t getTimeLeft(timerIndex index); +00930 00931 -00932 -00933 //Corrections -00934 -00940 int setFlatFieldCorrection(string fname=""); +00932 +00933 +00940 int setSpeed(speedVariable sp, int value=-1); 00941 -00948 int getFlatFieldCorrections(float *corr=NULL, float *ecorr=NULL); -00949 -00955 int setRateCorrection(float t=0); -00956 -00957 -00963 int getRateCorrections(float &t); -00964 -00969 int getRateCorrections(); -00970 -00976 int setBadChannelCorrection(string fname=""); -00977 -00983 int getBadChannelCorrections(int *bad=NULL); -00984 -00986 char *getBadChannelCorrectionFile() {return thisDetector->badChanFile;}; -00987 -00988 -00996 virtual int setAngularConversion(string fname="")=0; -00997 -01006 virtual int getAngularConversion(int &direction, angleConversionConstant *angconv=NULL)=0; -01007 -01008 -01013 virtual char *getAngularConversion()=0; -01014 -01020 virtual float setGlobalOffset(float f)=0; -01021 -01027 virtual float setFineOffset(float f)=0; -01033 virtual float getFineOffset()=0; -01034 -01040 virtual float getGlobalOffset()=0; -01041 -01050 virtual int setPositions(int nPos, float *pos)=0; -01058 virtual int getPositions(float *pos=NULL)=0; +00942 // Flags +00950 int setDynamicRange(int n=-1); +00951 +00957 int setROI(int nroi=-1, int *xmin=NULL, int *xmax=NULL, int *ymin=NULL, int *ymax=NULL); +00958 +00959 +00965 int setReadOutFlags(readOutFlags flag); +00966 +00975 int executeTrimming(trimMode mode, int par1, int par2, int imod=-1); +00976 +00977 +00978 //Corrections +00979 +00985 int setFlatFieldCorrection(string fname=""); +00986 +00993 int getFlatFieldCorrection(float *corr=NULL, float *ecorr=NULL); +00994 +01000 int setRateCorrection(float t=0); +01001 +01002 +01008 int getRateCorrection(float &t); +01009 +01014 int getRateCorrection(); +01015 +01021 int setBadChannelCorrection(string fname=""); +01022 +01028 int getBadChannelCorrection(int *bad=NULL); +01029 +01031 char *getBadChannelCorrectionFile() {return thisDetector->badChanFile;}; +01032 +01033 +01041 virtual int setAngularConversion(string fname="")=0; +01042 +01051 virtual int getAngularConversion(int &direction, angleConversionConstant *angconv=NULL)=0; +01052 +01053 +01058 virtual char *getAngularConversion()=0; 01059 -01060 -01067 virtual float setBinSize(float bs)=0; -01068 -01073 virtual float getBinSize()=0; -01074 -01075 -01076 -01077 -01078 -01079 -01085 float* decodeData(int *datain); +01065 virtual float setGlobalOffset(float f)=0; +01066 +01072 virtual float setFineOffset(float f)=0; +01078 virtual float getFineOffset()=0; +01079 +01085 virtual float getGlobalOffset()=0; 01086 -01087 -01088 -01089 -01100 int flatFieldCorrect(float datain, float errin, float &dataout, float &errout, float ffcoefficient, float fferr); -01101 -01110 int flatFieldCorrect(float* datain, float *errin, float* dataout, float *errout); -01111 -01112 -01113 -01124 int rateCorrect(float datain, float errin, float &dataout, float &errout, float tau, float t); -01125 -01134 int rateCorrect(float* datain, float *errin, float* dataout, float *errout); -01135 -01136 -01147 virtual int resetMerging(float *mp, float *mv,float *me, int *mm)=0; -01160 virtual int addToMerging(float *p1, float *v1, float *e1, float *mp, float *mv,float *me, int *mm)=0; -01161 -01171 int finalizeMerging(float *mp, float *mv,float *me, int *mm); -01172 -01176 int exitServer(); -01177 -01182 virtual void* processData()=0; // thread function -01187 sls_detector_module* createModule(); -01193 void deleteModule(sls_detector_module *myMod); -01194 -01195 -01206 virtual void acquire()=0; -01207 -01208 protected: -01209 -01213 sharedSlsDetector *thisDetector; -01214 -01218 int onlineFlag; -01219 -01223 int detId; -01224 -01228 int shmId; -01229 -01233 MySocketTCP *controlSocket; -01234 -01238 MySocketTCP *stopSocket; -01239 -01243 MySocketTCP *dataSocket; -01244 -01248 queue<int*> dataQueue; -01249 -01253 pthread_t dataProcessingThread; -01254 -01258 float currentPosition; -01259 -01263 float currentPositionIndex; -01264 -01268 float currentI0; -01269 -01270 -01271 -01273 float *mergingBins; -01274 -01276 float *mergingCounts; -01277 -01279 float *mergingErrors; -01280 -01282 int *mergingMultiplicity; -01283 -01284 -01285 -01286 -01287 -01288 -01289 -01291 float *ffcoefficients; -01293 float *fferrors; -01295 sls_detector_module *detectorModules; -01297 float *dacs; -01299 float *adcs; -01301 int *chipregs; -01303 int *chanregs; -01305 int *badChannelMask; -01306 -01312 int* getDataFromDetector(); -01313 -01319 int initSharedMemory(detectorType type=GENERIC, int id=0); +01095 virtual int setPositions(int nPos, float *pos)=0; +01103 virtual int getPositions(float *pos=NULL)=0; +01104 +01105 +01112 virtual float setBinSize(float bs)=0; +01113 +01118 virtual float getBinSize()=0; +01119 +01120 +01121 +01122 +01123 +01124 +01130 float* decodeData(int *datain); +01131 +01132 +01133 +01134 +01145 int flatFieldCorrect(float datain, float errin, float &dataout, float &errout, float ffcoefficient, float fferr); +01146 +01155 int flatFieldCorrect(float* datain, float *errin, float* dataout, float *errout); +01156 +01157 +01158 +01169 int rateCorrect(float datain, float errin, float &dataout, float &errout, float tau, float t); +01170 +01179 int rateCorrect(float* datain, float *errin, float* dataout, float *errout); +01180 +01181 +01192 virtual int resetMerging(float *mp, float *mv,float *me, int *mm)=0; +01205 virtual int addToMerging(float *p1, float *v1, float *e1, float *mp, float *mv,float *me, int *mm)=0; +01206 +01216 int finalizeMerging(float *mp, float *mv,float *me, int *mm); +01217 +01221 int exitServer(); +01222 +01228 virtual void* processData(int delflag=1)=0; // thread function +01233 sls_detector_module* createModule(); +01239 void deleteModule(sls_detector_module *myMod); +01240 +01241 +01253 virtual void acquire(int delflag=1)=0; +01254 +01255 protected: +01256 +01260 sharedSlsDetector *thisDetector; +01261 +01265 int onlineFlag; +01266 +01270 int detId; +01271 +01275 int shmId; +01276 +01280 MySocketTCP *controlSocket; +01281 +01285 MySocketTCP *stopSocket; +01286 +01290 MySocketTCP *dataSocket; +01291 +01295 queue<int*> dataQueue; +01299 queue<detectorData*> finalDataQueue; +01300 +01301 +01302 +01303 +01307 float currentPosition; +01308 +01312 float currentPositionIndex; +01313 +01317 float currentI0; +01318 +01319 01320 -01322 int freeSharedMemory(); -01328 int initializeDetectorSize(detectorType type); -01332 int initializeDetectorStructure(); -01336 int sendChannel(sls_detector_channel*); -01340 int sendChip(sls_detector_chip*); -01344 int sendModule(sls_detector_module*); -01348 int receiveChannel(sls_detector_channel*); -01352 int receiveChip(sls_detector_chip*); -01356 int receiveModule(sls_detector_module*); -01357 -01361 void startThread(); -01362 -01366 int fillBadChannelMask(); -01367 }; -01368 +01322 float *mergingBins; +01323 +01325 float *mergingCounts; +01326 +01328 float *mergingErrors; +01329 +01331 int *mergingMultiplicity; +01332 +01333 +01334 +01335 +01336 +01337 +01338 +01340 float *ffcoefficients; +01342 float *fferrors; +01344 sls_detector_module *detectorModules; +01346 float *dacs; +01348 float *adcs; +01350 int *chipregs; +01352 int *chanregs; +01354 int *badChannelMask; +01355 +01361 int* getDataFromDetector(); +01362 +01368 int initSharedMemory(detectorType type=GENERIC, int id=0); 01369 -01370 //static void* startProcessData(void *n); -01371 #endif -
    Generated on Tue Dec 1 10:56:45 2009 by  +01371 int freeSharedMemory(); +01377 int initializeDetectorSize(detectorType type); +01381 int initializeDetectorStructure(); +01385 int sendChannel(sls_detector_channel*); +01389 int sendChip(sls_detector_chip*); +01393 int sendModule(sls_detector_module*); +01397 int receiveChannel(sls_detector_channel*); +01401 int receiveChip(sls_detector_chip*); +01405 int receiveModule(sls_detector_module*); +01406 +01410 void startThread(); +01411 +01415 int fillBadChannelMask(); +01416 }; +01417 +01418 +01419 //static void* startProcessData(void *n); +01420 #endif +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/slsDetector_8h.html b/slsDetectorSoftware/docs/html/slsDetector_8h.html index 79161fa8e..f064aca1c 100644 --- a/slsDetectorSoftware/docs/html/slsDetector_8h.html +++ b/slsDetectorSoftware/docs/html/slsDetector_8h.html @@ -41,6 +41,8 @@ namespace  std

    Classes

    +class  detectorData + class  slsDetector  This is the base class for all SLS detector functionalities. More...
    @@ -271,7 +273,7 @@ should be changed in order to have it separate for the different detector types

    -


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/sls__detector__defs_8h-source.html b/slsDetectorSoftware/docs/html/sls__detector__defs_8h-source.html index feb88a58a..e588aca2b 100644 --- a/slsDetectorSoftware/docs/html/sls__detector__defs_8h-source.html +++ b/slsDetectorSoftware/docs/html/sls__detector__defs_8h-source.html @@ -311,7 +311,7 @@ 00443 00444 00445 #endif -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/sls__detector__defs_8h.html b/slsDetectorSoftware/docs/html/sls__detector__defs_8h.html index 9ea7cef4f..c9fadec3c 100644 --- a/slsDetectorSoftware/docs/html/sls__detector__defs_8h.html +++ b/slsDetectorSoftware/docs/html/sls__detector__defs_8h.html @@ -1074,7 +1074,7 @@ trimming is performed offline

    -


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structROI-members.html b/slsDetectorSoftware/docs/html/structROI-members.html index 83b49f43f..987a31c98 100644 --- a/slsDetectorSoftware/docs/html/structROI-members.html +++ b/slsDetectorSoftware/docs/html/structROI-members.html @@ -24,7 +24,7 @@ xminROI ymaxROI yminROI -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structROI.html b/slsDetectorSoftware/docs/html/structROI.html index 2c4a50573..2b3e135ee 100644 --- a/slsDetectorSoftware/docs/html/structROI.html +++ b/slsDetectorSoftware/docs/html/structROI.html @@ -100,7 +100,7 @@ is the roi ymin (in channel number)


    The documentation for this struct was generated from the following file: -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structangleConversionConstant-members.html b/slsDetectorSoftware/docs/html/structangleConversionConstant-members.html index c761c1ab6..f4dea10ca 100644 --- a/slsDetectorSoftware/docs/html/structangleConversionConstant-members.html +++ b/slsDetectorSoftware/docs/html/structangleConversionConstant-members.html @@ -28,7 +28,7 @@ offsetangleConversionConstant r_conversionangleConversionConstant tiltangleConversionConstant -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structangleConversionConstant.html b/slsDetectorSoftware/docs/html/structangleConversionConstant.html index 673889680..6dcbb81b8 100644 --- a/slsDetectorSoftware/docs/html/structangleConversionConstant.html +++ b/slsDetectorSoftware/docs/html/structangleConversionConstant.html @@ -167,7 +167,7 @@ ossible tilt in the orthogonal direction (unused)


    The documentation for this struct was generated from the following file: -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structiarray-members.html b/slsDetectorSoftware/docs/html/structiarray-members.html index 34772d766..dd4dbf7a0 100644 --- a/slsDetectorSoftware/docs/html/structiarray-members.html +++ b/slsDetectorSoftware/docs/html/structiarray-members.html @@ -22,7 +22,7 @@

    iarray Member List

    This is the complete list of members for iarray, including all inherited members.

    -
    iptriarray
    leniarray


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structiarray.html b/slsDetectorSoftware/docs/html/structiarray.html index 4d1f69c1b..b1376c3bd 100644 --- a/slsDetectorSoftware/docs/html/structiarray.html +++ b/slsDetectorSoftware/docs/html/structiarray.html @@ -65,7 +65,7 @@ is the number of elements of the array


    The documentation for this struct was generated from the following file: -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structslsDetector_1_1sharedSlsDetector-members.html b/slsDetectorSoftware/docs/html/structslsDetector_1_1sharedSlsDetector-members.html index 21770f1ed..3cff5aa06 100644 --- a/slsDetectorSoftware/docs/html/structslsDetector_1_1sharedSlsDetector-members.html +++ b/slsDetectorSoftware/docs/html/structslsDetector_1_1sharedSlsDetector-members.html @@ -72,7 +72,7 @@ timerValueslsDetector::sharedSlsDetector trimDirslsDetector::sharedSlsDetector trimEnergiesslsDetector::sharedSlsDetector -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structslsDetector_1_1sharedSlsDetector.html b/slsDetectorSoftware/docs/html/structslsDetector_1_1sharedSlsDetector.html index 7e94b7f4a..931469666 100644 --- a/slsDetectorSoftware/docs/html/structslsDetector_1_1sharedSlsDetector.html +++ b/slsDetectorSoftware/docs/html/structslsDetector_1_1sharedSlsDetector.html @@ -924,7 +924,7 @@ list of the energies at which the detector has been trimmed (unused)


    The documentation for this struct was generated from the following file: -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structsls__detector__channel-members.html b/slsDetectorSoftware/docs/html/structsls__detector__channel-members.html index ecd0697c4..8bb45a18f 100644 --- a/slsDetectorSoftware/docs/html/structsls__detector__channel-members.html +++ b/slsDetectorSoftware/docs/html/structsls__detector__channel-members.html @@ -24,7 +24,7 @@ chipsls_detector_channel modulesls_detector_channel regsls_detector_channel -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structsls__detector__channel.html b/slsDetectorSoftware/docs/html/structsls__detector__channel.html index 2b56d8913..8d6b1c6a3 100644 --- a/slsDetectorSoftware/docs/html/structsls__detector__channel.html +++ b/slsDetectorSoftware/docs/html/structsls__detector__channel.html @@ -101,7 +101,7 @@ is the is the channel register (e.g. trimbits, calibration enable, comparator en


    The documentation for this struct was generated from the following file: -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structsls__detector__chip-members.html b/slsDetectorSoftware/docs/html/structsls__detector__chip-members.html index f6a54f28d..faca5260c 100644 --- a/slsDetectorSoftware/docs/html/structsls__detector__chip-members.html +++ b/slsDetectorSoftware/docs/html/structsls__detector__chip-members.html @@ -25,7 +25,7 @@ modulesls_detector_chip nchansls_detector_chip regsls_detector_chip -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structsls__detector__chip.html b/slsDetectorSoftware/docs/html/structsls__detector__chip.html index 099a08660..786ebce56 100644 --- a/slsDetectorSoftware/docs/html/structsls__detector__chip.html +++ b/slsDetectorSoftware/docs/html/structsls__detector__chip.html @@ -119,7 +119,7 @@ is the chip register (e.g. output analogue buffer enable)
    See


    The documentation for this struct was generated from the following file: -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structsls__detector__module-members.html b/slsDetectorSoftware/docs/html/structsls__detector__module-members.html index 0f6d99209..38dbac3b8 100644 --- a/slsDetectorSoftware/docs/html/structsls__detector__module-members.html +++ b/slsDetectorSoftware/docs/html/structsls__detector__module-members.html @@ -33,7 +33,7 @@ offsetsls_detector_module regsls_detector_module serialnumbersls_detector_module -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/structsls__detector__module.html b/slsDetectorSoftware/docs/html/structsls__detector__module.html index 8a0e64994..620987711 100644 --- a/slsDetectorSoftware/docs/html/structsls__detector__module.html +++ b/slsDetectorSoftware/docs/html/structsls__detector__module.html @@ -266,7 +266,7 @@ is the module serial number


    The documentation for this struct was generated from the following file: -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/usersFunctions_8c.html b/slsDetectorSoftware/docs/html/usersFunctions_8c.html index ff935cba6..0466d92c6 100644 --- a/slsDetectorSoftware/docs/html/usersFunctions_8c.html +++ b/slsDetectorSoftware/docs/html/usersFunctions_8c.html @@ -197,7 +197,7 @@

    -


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/usersFunctions_8h-source.html b/slsDetectorSoftware/docs/html/usersFunctions_8h-source.html index 2e8ddf18b..80db6b6e0 100644 --- a/slsDetectorSoftware/docs/html/usersFunctions_8h-source.html +++ b/slsDetectorSoftware/docs/html/usersFunctions_8h-source.html @@ -52,7 +52,7 @@ 00032 00033 00034 #endif -
    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/html/usersFunctions_8h.html b/slsDetectorSoftware/docs/html/usersFunctions_8h.html index 0cdc90fe0..93804111d 100644 --- a/slsDetectorSoftware/docs/html/usersFunctions_8h.html +++ b/slsDetectorSoftware/docs/html/usersFunctions_8h.html @@ -197,7 +197,7 @@

    -


    Generated on Tue Dec 1 10:56:45 2009 by  +
    Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7
    diff --git a/slsDetectorSoftware/docs/latex/annotated.tex b/slsDetectorSoftware/docs/latex/annotated.tex index 5020f593b..892f06c97 100644 --- a/slsDetectorSoftware/docs/latex/annotated.tex +++ b/slsDetectorSoftware/docs/latex/annotated.tex @@ -1,6 +1,7 @@ \section{Class List} Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList} \item\contentsline{section}{\bf{angle\-Conversion\-Constant} }{\pageref{structangleConversionConstant}}{} +\item\contentsline{section}{\bf{detector\-Data} }{\pageref{classdetectorData}}{} \item\contentsline{section}{\bf{eiger\-Detector} (This is class contains all eiger specific functionalities )}{\pageref{classeigerDetector}}{} \item\contentsline{section}{\bf{iarray} }{\pageref{structiarray}}{} \item\contentsline{section}{\bf{My\-Socket\-TCP} }{\pageref{classMySocketTCP}}{} diff --git a/slsDetectorSoftware/docs/latex/classmythenDetector.tex b/slsDetectorSoftware/docs/latex/classmythenDetector.tex index 92a30a722..45716d31e 100644 --- a/slsDetectorSoftware/docs/latex/classmythenDetector.tex +++ b/slsDetectorSoftware/docs/latex/classmythenDetector.tex @@ -11,6 +11,10 @@ Inheritance diagram for mythen\-Detector::\begin{figure}[H] \subsection*{Public Member Functions} \begin{CompactItemize} \item +\bf{mythen\-Detector} (int id=0) +\item +\bf{$\sim$mythen\-Detector} () +\item int \bf{read\-Configuration\-File} (string const fname) \item int \bf{write\-Configuration\-File} (string const fname) @@ -69,25 +73,43 @@ int \bf{add\-To\-Merging} (float $\ast$p1, float $\ast$v1, float $\ast$e1, float \item int \bf{finalize\-Merging} (float $\ast$mp, float $\ast$mv, float $\ast$me, int $\ast$mm) \item -void $\ast$ \bf{process\-Data} () +void $\ast$ \bf{process\-Data} (int delflag=1) \item -void \bf{acquire} () +void \bf{acquire} (int delflag=1) \end{CompactItemize} +\subsection{Constructor \& Destructor Documentation} +\index{mythenDetector@{mythen\-Detector}!mythenDetector@{mythenDetector}} +\index{mythenDetector@{mythenDetector}!mythenDetector@{mythen\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}mythen\-Detector::mythen\-Detector (int {\em id} = {\tt 0})\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_5efa6a91622e5e173d7491801f60bda0} + + +(default) constructor \index{mythenDetector@{mythen\-Detector}!~mythenDetector@{$\sim$mythenDetector}} +\index{~mythenDetector@{$\sim$mythenDetector}!mythenDetector@{mythen\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}mythen\-Detector::$\sim$mythen\-Detector ()\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_8118166c2e7c3d3968b9ae5016614693} + + +destructor + \subsection{Member Function Documentation} \index{mythenDetector@{mythen\-Detector}!acquire@{acquire}} \index{acquire@{acquire}!mythenDetector@{mythen\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mythen\-Detector::acquire ()\hspace{0.3cm}{\tt [virtual]}}\label{classmythenDetector_bb3d2f51a414cf9dace29a4b5676828f} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mythen\-Detector::acquire (int {\em delflag} = {\tt 1})\hspace{0.3cm}{\tt [virtual]}}\label{classmythenDetector_f393765b5a3d5f8f05251116f38d52dd} performs the complete acquisition and data processing moves the detector to next position \par starts and reads the detector \par reads the IC (if required) \par reads the encoder (iof required for angualr conversion) \par - processes the data (flat field, rate, angular conversion and merging process\-Data()) + processes the data (flat field, rate, angular conversion and merging process\-Data()) \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em delflag}]if 1 the data are deleted, else left there for further processing (or plotting?) \end{description} +\end{Desc} -Implements \bf{sls\-Detector} \doxyref{p.}{classslsDetector_d2ee30dfd50f06431dca4e4b9619f301}.\index{mythenDetector@{mythen\-Detector}!addToMerging@{addToMerging}} + +Implements \bf{sls\-Detector} \doxyref{p.}{classslsDetector_1af6548fd0d81d45909a5c805d4be7a8}.\index{mythenDetector@{mythen\-Detector}!addToMerging@{addToMerging}} \index{addToMerging@{addToMerging}!mythenDetector@{mythen\-Detector}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::add\-To\-Merging (float $\ast$ {\em p1}, float $\ast$ {\em v1}, float $\ast$ {\em e1}, float $\ast$ {\em mp}, float $\ast$ {\em mv}, float $\ast$ {\em me}, int $\ast$ {\em mm})\hspace{0.3cm}{\tt [virtual]}}\label{classmythenDetector_eaaf7d7e3150f473e3bbcf59d91692c2} @@ -180,12 +202,17 @@ get positions for the acquisition \begin{Desc} Implements \bf{sls\-Detector} \doxyref{p.}{classslsDetector_248794801b9794d20e7d58bceab564ab}.\index{mythenDetector@{mythen\-Detector}!processData@{processData}} \index{processData@{processData}!mythenDetector@{mythen\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ mythen\-Detector::process\-Data ()\hspace{0.3cm}{\tt [virtual]}}\label{classmythenDetector_b5416cb00251f95fc3661936c3cbb1c4} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ mythen\-Detector::process\-Data (int {\em delflag} = {\tt 1})\hspace{0.3cm}{\tt [virtual]}}\label{classmythenDetector_2555fc046cd8d5ba7116003ad4027112} -function for processing data +function for processing data \begin{Desc} +\item[Parameters:] +\begin{description} +\item[{\em delflag}]if 1 the data are deleted, else left there for further processing (or plotting?) \end{description} +\end{Desc} -Implements \bf{sls\-Detector} \doxyref{p.}{classslsDetector_971d316af920fcb3ade98c486fe42c99}.\index{mythenDetector@{mythen\-Detector}!readAngularConversion@{readAngularConversion}} + +Implements \bf{sls\-Detector} \doxyref{p.}{classslsDetector_3e93c7da79e5f72e3a3c881aefdea5d3}.\index{mythenDetector@{mythen\-Detector}!readAngularConversion@{readAngularConversion}} \index{readAngularConversion@{readAngularConversion}!mythenDetector@{mythen\-Detector}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::read\-Angular\-Conversion (string {\em fname} = {\tt \char`\"{}\char`\"{}})\hspace{0.3cm}{\tt [virtual]}}\label{classmythenDetector_33bf1b939eb877bbd4aa42f400d7ca36} diff --git a/slsDetectorSoftware/docs/latex/classslsDetector.tex b/slsDetectorSoftware/docs/latex/classslsDetector.tex index 3efe90744..347f1beed 100644 --- a/slsDetectorSoftware/docs/latex/classslsDetector.tex +++ b/slsDetectorSoftware/docs/latex/classslsDetector.tex @@ -184,6 +184,8 @@ int $\ast$ \bf{read\-All} () \item int $\ast$ \bf{pop\-Data\-Queue} () \item +\bf{detector\-Data} $\ast$ \bf{pop\-Final\-Data\-Queue} () +\item int64\_\-t \bf{set\-Timer} (\bf{timer\-Index} index, int64\_\-t t=-1) \item int64\_\-t \bf{get\-Time\-Left} (\bf{timer\-Index} index) @@ -200,17 +202,17 @@ int \bf{execute\-Trimming} (\bf{trim\-Mode} mode, int par1, int par2, int imod=- \item int \bf{set\-Flat\-Field\-Correction} (string fname=\char`\"{}\char`\"{}) \item -int \bf{get\-Flat\-Field\-Corrections} (float $\ast$corr=NULL, float $\ast$ecorr=NULL) +int \bf{get\-Flat\-Field\-Correction} (float $\ast$corr=NULL, float $\ast$ecorr=NULL) \item int \bf{set\-Rate\-Correction} (float t=0) \item -int \bf{get\-Rate\-Corrections} (float \&t) +int \bf{get\-Rate\-Correction} (float \&t) \item -int \bf{get\-Rate\-Corrections} () +int \bf{get\-Rate\-Correction} () \item int \bf{set\-Bad\-Channel\-Correction} (string fname=\char`\"{}\char`\"{}) \item -int \bf{get\-Bad\-Channel\-Corrections} (int $\ast$bad=NULL) +int \bf{get\-Bad\-Channel\-Correction} (int $\ast$bad=NULL) \item char $\ast$ \bf{get\-Bad\-Channel\-Correction\-File} () \item @@ -254,13 +256,13 @@ int \bf{finalize\-Merging} (float $\ast$mp, float $\ast$mv, float $\ast$me, int \item int \bf{exit\-Server} () \item -virtual void $\ast$ \bf{process\-Data} ()=0 +virtual void $\ast$ \bf{process\-Data} (int delflag=1)=0 \item \bf{sls\_\-detector\_\-module} $\ast$ \bf{create\-Module} () \item void \bf{delete\-Module} (\bf{sls\_\-detector\_\-module} $\ast$my\-Mod) \item -virtual void \bf{acquire} ()=0 +virtual void \bf{acquire} (int delflag=1)=0 \end{CompactItemize} \subsection*{Protected Member Functions} \begin{CompactItemize} @@ -310,7 +312,7 @@ int \bf{shm\-Id} \item queue$<$ int $\ast$ $>$ \bf{data\-Queue} \item -pthread\_\-t \bf{data\-Processing\-Thread} +queue$<$ \bf{detector\-Data} $\ast$ $>$ \bf{final\-Data\-Queue} \item float \bf{current\-Position} \item @@ -423,18 +425,18 @@ destructor \subsection{Member Function Documentation} \index{slsDetector@{sls\-Detector}!acquire@{acquire}} \index{acquire@{acquire}!slsDetector@{sls\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void sls\-Detector::acquire ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classslsDetector_d2ee30dfd50f06431dca4e4b9619f301} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void sls\-Detector::acquire (int {\em delflag} = {\tt 1})\hspace{0.3cm}{\tt [pure virtual]}}\label{classslsDetector_1af6548fd0d81d45909a5c805d4be7a8} pure virtual function performs the complete acquisition and data processing moves the detector to next position \par starts and reads the detector \par reads the IC (if required) \par reads the encoder (iof required for angualr conversion) \par - processes the data (flat field, rate, angular conversion and merging process\-Data()) \begin{Desc} -\item[See also:]\doxyref{mythen\-Detector::acquire()}{p.}{classmythenDetector_bb3d2f51a414cf9dace29a4b5676828f} \end{Desc} + processes the data (flat field, rate, angular conversion and merging process\-Data()) /param delflag if 1 the data are processed, written to file and then deleted. If 0 they are added to the final\-Data\-Queue \begin{Desc} +\item[See also:]\doxyref{mythen\-Detector::acquire()}{p.}{classmythenDetector_f393765b5a3d5f8f05251116f38d52dd} \end{Desc} -Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_bb3d2f51a414cf9dace29a4b5676828f}.\index{slsDetector@{sls\-Detector}!addToMerging@{addToMerging}} +Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_f393765b5a3d5f8f05251116f38d52dd}.\index{slsDetector@{sls\-Detector}!addToMerging@{addToMerging}} \index{addToMerging@{addToMerging}!slsDetector@{sls\-Detector}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual int sls\-Detector::add\-To\-Merging (float $\ast$ {\em p1}, float $\ast$ {\em v1}, float $\ast$ {\em e1}, float $\ast$ {\em mp}, float $\ast$ {\em mv}, float $\ast$ {\em me}, int $\ast$ {\em mm})\hspace{0.3cm}{\tt [pure virtual]}}\label{classslsDetector_feb8730f24292620e5d451cd2d4bb9cd} @@ -658,14 +660,9 @@ pure virtual function get angular conversion \begin{Desc} \item[See also:]\doxyref{mythen\-Detector::get\-Angular\-Conversion}{p.}{classmythenDetector_b2b2f17c36883323ad0abf762c63494f} \end{Desc} -Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_b2b2f17c36883323ad0abf762c63494f}.\index{slsDetector@{sls\-Detector}!getBadChannelCorrectionFile@{getBadChannelCorrectionFile}} -\index{getBadChannelCorrectionFile@{getBadChannelCorrectionFile}!slsDetector@{sls\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ sls\-Detector::get\-Bad\-Channel\-Correction\-File ()\hspace{0.3cm}{\tt [inline]}}\label{classslsDetector_0b562f90b64c80e3eb64e9e2153bb234} - - -returns the bad channel list file \index{slsDetector@{sls\-Detector}!getBadChannelCorrections@{getBadChannelCorrections}} -\index{getBadChannelCorrections@{getBadChannelCorrections}!slsDetector@{sls\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::get\-Bad\-Channel\-Corrections (int $\ast$ {\em bad} = {\tt NULL})}\label{classslsDetector_f80db913b55026bb69d35585b08729cc} +Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_b2b2f17c36883323ad0abf762c63494f}.\index{slsDetector@{sls\-Detector}!getBadChannelCorrection@{getBadChannelCorrection}} +\index{getBadChannelCorrection@{getBadChannelCorrection}!slsDetector@{sls\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::get\-Bad\-Channel\-Correction (int $\ast$ {\em bad} = {\tt NULL})}\label{classslsDetector_62f84759c85d7f4323bb34bf2a4dc5c5} get bad channels correction \begin{Desc} @@ -675,7 +672,12 @@ get bad channels correction \begin{Desc} \end{Desc} \begin{Desc} \item[Returns:]0 if bad channel disabled or no bad channels, $>$0 otherwise \end{Desc} -\index{slsDetector@{sls\-Detector}!getBinSize@{getBinSize}} +\index{slsDetector@{sls\-Detector}!getBadChannelCorrectionFile@{getBadChannelCorrectionFile}} +\index{getBadChannelCorrectionFile@{getBadChannelCorrectionFile}!slsDetector@{sls\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ sls\-Detector::get\-Bad\-Channel\-Correction\-File ()\hspace{0.3cm}{\tt [inline]}}\label{classslsDetector_0b562f90b64c80e3eb64e9e2153bb234} + + +returns the bad channel list file \index{slsDetector@{sls\-Detector}!getBinSize@{getBinSize}} \index{getBinSize@{getBinSize}!slsDetector@{sls\-Detector}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual float sls\-Detector::get\-Bin\-Size ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classslsDetector_7d83754e3f41042caa9297da9a33b714} @@ -787,9 +789,9 @@ pure virtual function get detector fine offset \begin{Desc} \item[See also:]\doxyref{mythen\-Detector::get\-Fine\-Offset}{p.}{classmythenDetector_00720f1445f3f301fa3316828d978de6} \end{Desc} -Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_00720f1445f3f301fa3316828d978de6}.\index{slsDetector@{sls\-Detector}!getFlatFieldCorrections@{getFlatFieldCorrections}} -\index{getFlatFieldCorrections@{getFlatFieldCorrections}!slsDetector@{sls\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::get\-Flat\-Field\-Corrections (float $\ast$ {\em corr} = {\tt NULL}, float $\ast$ {\em ecorr} = {\tt NULL})}\label{classslsDetector_af22c79193907e364c6db97f5e55b9fd} +Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_00720f1445f3f301fa3316828d978de6}.\index{slsDetector@{sls\-Detector}!getFlatFieldCorrection@{getFlatFieldCorrection}} +\index{getFlatFieldCorrection@{getFlatFieldCorrection}!slsDetector@{sls\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::get\-Flat\-Field\-Correction (float $\ast$ {\em corr} = {\tt NULL}, float $\ast$ {\em ecorr} = {\tt NULL})}\label{classslsDetector_062700a0470f96b20ba842bcd6aa9b63} get flat field corrections \begin{Desc} @@ -867,16 +869,16 @@ pure virtual function get positions for the acquisition \begin{Desc} \item[See also:]\doxyref{mythen\-Detector::get\-Positions}{p.}{classmythenDetector_0d306720dced0d3576474978b06b4be4} \end{Desc} -Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_0d306720dced0d3576474978b06b4be4}.\index{slsDetector@{sls\-Detector}!getRateCorrections@{getRateCorrections}} -\index{getRateCorrections@{getRateCorrections}!slsDetector@{sls\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::get\-Rate\-Corrections ()}\label{classslsDetector_7606366a3cbe280c90dc659036814697} +Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_0d306720dced0d3576474978b06b4be4}.\index{slsDetector@{sls\-Detector}!getRateCorrection@{getRateCorrection}} +\index{getRateCorrection@{getRateCorrection}!slsDetector@{sls\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::get\-Rate\-Correction ()}\label{classslsDetector_c7a659ab136c9e5ece059fc9356c6a91} get rate correction \begin{Desc} \item[Returns:]0 if rate correction disabled, $>$0 otherwise \end{Desc} -\index{slsDetector@{sls\-Detector}!getRateCorrections@{getRateCorrections}} -\index{getRateCorrections@{getRateCorrections}!slsDetector@{sls\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::get\-Rate\-Corrections (float \& {\em t})}\label{classslsDetector_6e6212f4bbe0c5df253ec9c535c3f9b1} +\index{slsDetector@{sls\-Detector}!getRateCorrection@{getRateCorrection}} +\index{getRateCorrection@{getRateCorrection}!slsDetector@{sls\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::get\-Rate\-Correction (float \& {\em t})}\label{classslsDetector_b997c9997d91725bec43254e6d05191a} get rate correction \begin{Desc} @@ -1095,16 +1097,25 @@ pops the data from the data queue \begin{Desc} \item[Returns:]pointer to the popped data or NULL if the queue is empty. \end{Desc} \begin{Desc} \item[See also:]\doxyref{data\-Queue}{p.}{classslsDetector_52e9fe9baf37db001cdf58f982ab5dd6} \end{Desc} +\index{slsDetector@{sls\-Detector}!popFinalDataQueue@{popFinalDataQueue}} +\index{popFinalDataQueue@{popFinalDataQueue}!slsDetector@{sls\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\bf{detector\-Data} $\ast$ sls\-Detector::pop\-Final\-Data\-Queue ()}\label{classslsDetector_1f8b5d695dbf8865665261a02ced3238} + + +pops the data from thepostprocessed data queue \begin{Desc} +\item[Returns:]pointer to the popped data or NULL if the queue is empty. \end{Desc} +\begin{Desc} +\item[See also:]\doxyref{final\-Data\-Queue}{p.}{classslsDetector_4ac6f49427b58349fe54fbaa4e16fa9c} \end{Desc} \index{slsDetector@{sls\-Detector}!processData@{processData}} \index{processData@{processData}!slsDetector@{sls\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void$\ast$ sls\-Detector::process\-Data ()\hspace{0.3cm}{\tt [pure virtual]}}\label{classslsDetector_971d316af920fcb3ade98c486fe42c99} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void$\ast$ sls\-Detector::process\-Data (int {\em delflag} = {\tt 1})\hspace{0.3cm}{\tt [pure virtual]}}\label{classslsDetector_3e93c7da79e5f72e3a3c881aefdea5d3} -pure virtual function function for processing data \begin{Desc} -\item[See also:]\doxyref{mythen\-Detector::process\-Data}{p.}{classmythenDetector_b5416cb00251f95fc3661936c3cbb1c4} \end{Desc} +pure virtual function function for processing data /param delflag if 1 the data are processed, written to file and then deleted. If 0 they are added to the final\-Data\-Queue \begin{Desc} +\item[See also:]\doxyref{mythen\-Detector::process\-Data}{p.}{classmythenDetector_2555fc046cd8d5ba7116003ad4027112} \end{Desc} -Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_b5416cb00251f95fc3661936c3cbb1c4}.\index{slsDetector@{sls\-Detector}!rateCorrect@{rateCorrect}} +Implemented in \bf{mythen\-Detector} \doxyref{p.}{classmythenDetector_2555fc046cd8d5ba7116003ad4027112}.\index{slsDetector@{sls\-Detector}!rateCorrect@{rateCorrect}} \index{rateCorrect@{rateCorrect}!slsDetector@{sls\-Detector}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int sls\-Detector::rate\-Correct (float $\ast$ {\em datain}, float $\ast$ {\em errin}, float $\ast$ {\em dataout}, float $\ast$ {\em errout})}\label{classslsDetector_518feacfa3a1d6156779f8eaacdf86d3} @@ -1912,12 +1923,7 @@ current position index of the detector \index{slsDetector@{sls\-Detector}!dacs@{ \subsubsection{\setlength{\rightskip}{0pt plus 5cm}float$\ast$ \bf{sls\-Detector::dacs}\hspace{0.3cm}{\tt [protected]}}\label{classslsDetector_dc1b3f867b97136fca83f86c83b7ae14} -pointer to dac valuse \index{slsDetector@{sls\-Detector}!dataProcessingThread@{dataProcessingThread}} -\index{dataProcessingThread@{dataProcessingThread}!slsDetector@{sls\-Detector}} -\subsubsection{\setlength{\rightskip}{0pt plus 5cm}pthread\_\-t \bf{sls\-Detector::data\-Processing\-Thread}\hspace{0.3cm}{\tt [protected]}}\label{classslsDetector_8257cca09e23b601764e57f5a8bdaacd} - - -data processing thread??? \index{slsDetector@{sls\-Detector}!dataQueue@{dataQueue}} +pointer to dac valuse \index{slsDetector@{sls\-Detector}!dataQueue@{dataQueue}} \index{dataQueue@{dataQueue}!slsDetector@{sls\-Detector}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}queue$<$int$\ast$$>$ \bf{sls\-Detector::data\-Queue}\hspace{0.3cm}{\tt [protected]}}\label{classslsDetector_52e9fe9baf37db001cdf58f982ab5dd6} @@ -1947,7 +1953,12 @@ pointer to flat field coefficients \index{slsDetector@{sls\-Detector}!fferrors@{ \subsubsection{\setlength{\rightskip}{0pt plus 5cm}float$\ast$ \bf{sls\-Detector::fferrors}\hspace{0.3cm}{\tt [protected]}}\label{classslsDetector_636168b92509e96418c9134d6d82ad4c} -pointer to flat field coefficient errors \index{slsDetector@{sls\-Detector}!mergingBins@{mergingBins}} +pointer to flat field coefficient errors \index{slsDetector@{sls\-Detector}!finalDataQueue@{finalDataQueue}} +\index{finalDataQueue@{finalDataQueue}!slsDetector@{sls\-Detector}} +\subsubsection{\setlength{\rightskip}{0pt plus 5cm}queue$<$\bf{detector\-Data}$\ast$$>$ \bf{sls\-Detector::final\-Data\-Queue}\hspace{0.3cm}{\tt [protected]}}\label{classslsDetector_4ac6f49427b58349fe54fbaa4e16fa9c} + + +queue containing the postprocessed data \index{slsDetector@{sls\-Detector}!mergingBins@{mergingBins}} \index{mergingBins@{mergingBins}!slsDetector@{sls\-Detector}} \subsubsection{\setlength{\rightskip}{0pt plus 5cm}float$\ast$ \bf{sls\-Detector::merging\-Bins}\hspace{0.3cm}{\tt [protected]}}\label{classslsDetector_81751fd6e87f9659a8b6afe13efec2cf} diff --git a/slsDetectorSoftware/docs/latex/doxygen.sty b/slsDetectorSoftware/docs/latex/doxygen.sty index 687c528aa..fdd421e03 100644 --- a/slsDetectorSoftware/docs/latex/doxygen.sty +++ b/slsDetectorSoftware/docs/latex/doxygen.sty @@ -10,8 +10,8 @@ {\fancyplain{}{\bfseries\rightmark}} \rhead[\fancyplain{}{\bfseries\leftmark}] {\fancyplain{}{\bfseries\thepage}} -\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Tue Dec 1 10:56:45 2009 by Doxygen }]{} -\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Dec 1 10:56:45 2009 by Doxygen }} +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Tue Dec 1 15:31:44 2009 by Doxygen }]{} +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Dec 1 15:31:44 2009 by Doxygen }} \cfoot{} \newenvironment{Code} {\footnotesize} diff --git a/slsDetectorSoftware/docs/latex/hierarchy.tex b/slsDetectorSoftware/docs/latex/hierarchy.tex index 20def11ea..a01d36763 100644 --- a/slsDetectorSoftware/docs/latex/hierarchy.tex +++ b/slsDetectorSoftware/docs/latex/hierarchy.tex @@ -1,6 +1,7 @@ \section{Class Hierarchy} This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList} \item \contentsline{section}{angle\-Conversion\-Constant}{\pageref{structangleConversionConstant}}{} +\item \contentsline{section}{detector\-Data}{\pageref{classdetectorData}}{} \item \contentsline{section}{iarray}{\pageref{structiarray}}{} \item \contentsline{section}{My\-Socket\-TCP}{\pageref{classMySocketTCP}}{} \item \contentsline{section}{ROI}{\pageref{structROI}}{} diff --git a/slsDetectorSoftware/docs/latex/refman.tex b/slsDetectorSoftware/docs/latex/refman.tex index ea048c804..fd0fb6618 100644 --- a/slsDetectorSoftware/docs/latex/refman.tex +++ b/slsDetectorSoftware/docs/latex/refman.tex @@ -19,7 +19,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.4.7}\\ \vspace*{0.5cm} -{\small Tue Dec 1 10:56:45 2009}\\ +{\small Tue Dec 1 15:31:44 2009}\\ \end{center} \end{titlepage} \clearemptydoublepage @@ -43,6 +43,7 @@ \input{namespacestd} \chapter{Class Documentation} \input{structangleConversionConstant} +\include{classdetectorData} \include{classeigerDetector} \include{structiarray} \include{classMySocketTCP} diff --git a/slsDetectorSoftware/docs/latex/slsDetector_8h.tex b/slsDetectorSoftware/docs/latex/slsDetector_8h.tex index 5593318b2..581a7d11f 100644 --- a/slsDetectorSoftware/docs/latex/slsDetector_8h.tex +++ b/slsDetectorSoftware/docs/latex/slsDetector_8h.tex @@ -23,6 +23,8 @@ namespace \bf{std} \subsection*{Classes} \begin{CompactItemize} \item +class \bf{detector\-Data} +\item class \bf{sls\-Detector} \begin{CompactList}\small\item\em This is the base class for all SLS detector functionalities. \item\end{CompactList}\item struct \bf{sls\-Detector::shared\-Sls\-Detector} diff --git a/slsDetectorSoftware/mythenDetector/mythenDetector.cpp b/slsDetectorSoftware/mythenDetector/mythenDetector.cpp index 03d62a778..4d2deea85 100644 --- a/slsDetectorSoftware/mythenDetector/mythenDetector.cpp +++ b/slsDetectorSoftware/mythenDetector/mythenDetector.cpp @@ -249,9 +249,14 @@ int mythenDetector::writeConfigurationFile(string const fname){ It should be possible to dump all the settings of the detector (including trimbits, threshold energy, gating/triggering, acquisition time etc. in a file and retrieve it for repeating the measurement with identicals ettings, if necessary */ -/* int mythenDetector::dumpDetectorSetup(string fname){}; - int mythenDetector::retrieveDetectorSetup(string fname){}; -*/ +int mythenDetector::dumpDetectorSetup(string fname){ + cout << "Function not yet implemented " << endl; +}; + int mythenDetector::retrieveDetectorSetup(string fname){ + cout << "Function not yet implemented " << endl; + +}; + @@ -688,9 +693,12 @@ int mythenDetector::readCalibrationFile(string fname, float &gain, float &offset } return 0; }; -/* -int mythenDetector::writeCalibrationFile(string fname, float gain, float offset){}; -*/ + +int mythenDetector::writeCalibrationFile(string fname, float gain, float offset){ + cout << "Function not yet implemented " << endl; +}; + + /* Communication to server */ @@ -953,25 +961,25 @@ void mythenDetector::acquire(){ go_to_position (thisDetector->detPositions[ip]); currentPositionIndex=ip+1; } - //write header before? - startAndReadAll(); if (thisDetector->correctionMask&(1<< I0_NORMALIZATION)) currentI0=get_i0(); + //write header before? + startAndReadAll(); //write header after? + if (thisDetector->correctionMask&(1<< I0_NORMALIZATION)) + currentI0=get_i0(); if (thisDetector->correctionMask&(1<< ANGULAR_CONVERSION)) currentPosition=get_position(); - processData(); } } -void* mythenDetector::processData() { +void* mythenDetector::processData(int delflag) { int *myData; float *fdata; - // float *dataout=new float[thisDetector->nChans*thisDetector->nChips*thisDetector->nMods]; float *rcdata=NULL, *rcerr=NULL; float *ffcdata=NULL, *ffcerr=NULL; float *ang=NULL; @@ -980,7 +988,9 @@ void* mythenDetector::processData() { int imod; int nb; int np; - while(1) { + detectorData *thisData; + + // while(1) { // ???????????????????????? this was needed in case of a thread....but one should take care of the position and run indexes!!!!!! if( !dataQueue.empty() ) { @@ -1058,38 +1068,54 @@ void* mythenDetector::processData() { ang[ip]=angle(ip,currentPosition,thisDetector->fineOffset+thisDetector->globalOffset,thisDetector->angOff[imod].r_conversion,thisDetector->angOff[imod].center, thisDetector->angOff[imod].offset,thisDetector->angOff[imod].tilt,thisDetector->angDirection); } writeDataFile (createFileName().append(".dat"), ffcdata, ffcerr,ang); - if (currentPositionIndex==thisDetector->numberOfPositions || (currentPositionIndex==0) { + if ((currentPositionIndex==thisDetector->numberOfPositions) || (currentPositionIndex==0)) { np=finalizeMerging(mergingBins, mergingCounts,mergingErrors, mergingMultiplicity); /** file writing */ currentPositionIndex++; writeDataFile (createFileName().append(".dat"),mergingCounts, mergingErrors, mergingBins,'f',np); - - delete [] mergingBins; - delete [] mergingCounts; - delete [] mergingErrors; - delete [] mergingMultiplicity; - thisDetector->fileIndex++; + if (delflag) { + delete [] mergingBins; + delete [] mergingCounts; + delete [] mergingErrors; + delete [] mergingMultiplicity; + } else { + thisData=new detectorData(mergingCounts,mergingErrors,mergingBins,thisDetector->fileIndex,createFileName().append(".dat"),np); + finalDataQueue.push(thisData); + } + thisDetector->fileIndex++; } + + if (ffcdata) + delete [] ffcdata; + if (ffcerr) + delete [] ffcerr; + if (ang) + delete [] ang; //} - + } else { writeDataFile (createFileName().append(".dat"), ffcdata, ffcerr); + if (delflag) { + if (ffcdata) + delete [] ffcdata; + if (ffcerr) + delete [] ffcerr; + if (ang) + delete [] ang; + } else { + thisData=new detectorData(ffcdata,ffcerr,NULL,thisDetector->fileIndex,createFileName().append(".dat")); + finalDataQueue.push(thisData); + } thisDetector->fileIndex++; } - - if (ffcdata) - delete [] ffcdata; - if (ffcerr) - delete [] ffcerr; - if (ang) - delete [] ang; + } } - } + // } // ???????????????????????? } diff --git a/slsDetectorSoftware/mythenDetector/mythenDetector.h b/slsDetectorSoftware/mythenDetector/mythenDetector.h index 0ddfb9324..0fb02c2f2 100644 --- a/slsDetectorSoftware/mythenDetector/mythenDetector.h +++ b/slsDetectorSoftware/mythenDetector/mythenDetector.h @@ -28,7 +28,7 @@ class mythenDetector : public slsDetector{ /** (default) constructor */ - mythenDetector(int id=0) : slsDetector(MYTHEN, id); + mythenDetector(int id=0) : slsDetector(MYTHEN, id){}; //slsDetector(string const fname); // ~slsDetector(){while(dataQueue.size()>0){}}; /** destructor */ @@ -274,8 +274,9 @@ class mythenDetector : public slsDetector{ /** function for processing data + \param delflag if 1 the data are deleted, else left there for further processing (or plotting?) */ - void* processData(); // thread function + void* processData(int delflag=1); // thread function /** performs the complete acquisition and data processing moves the detector to next position
    @@ -283,9 +284,10 @@ class mythenDetector : public slsDetector{ reads the IC (if required)
    reads the encoder (iof required for angualr conversion)
    processes the data (flat field, rate, angular conversion and merging ::processData()) + \param delflag if 1 the data are deleted, else left there for further processing (or plotting?) */ - void acquire(); + void acquire(int delflag=1); }; diff --git a/slsDetectorSoftware/mythenDetectorServer/server_funcs.c b/slsDetectorSoftware/mythenDetectorServer/server_funcs.c index 240048a43..66c9c00e6 100755 --- a/slsDetectorSoftware/mythenDetectorServer/server_funcs.c +++ b/slsDetectorSoftware/mythenDetectorServer/server_funcs.c @@ -114,6 +114,7 @@ int function_table() { flist[F_GET_TIME_LEFT]=&get_time_left; flist[F_SET_DYNAMIC_RANGE]=&set_dynamic_range; flist[F_SET_ROI]=&set_roi; + flist[F_SET_SPEED]=&set_speed; flist[F_SET_READOUT_FLAGS]=&set_readout_flags; flist[F_EXECUTE_TRIMMING]=&execute_trimming; #ifdef VERBOSE @@ -1999,6 +2000,65 @@ int get_roi(int fnum) { return FAIL; } +int set_speed(int fnum) { + + enum speedVariable arg; + int val, n; + int ret=OK; + int retval; + + sprintf(mess,"can't set speed variable\n"); + + + n = receiveDataOnly(&arg,sizeof(arg)); + if (n < 0) { + sprintf(mess,"Error reading from socket\n"); + ret=FAIL; + } + n = receiveDataOnly(&val,sizeof(val)); + if (n < 0) { + sprintf(mess,"Error reading from socket\n"); + ret=FAIL; + } + +#ifdef VERBOSE + printf("setting speed variable %d to %d\n",arg,val); +#endif + if (ret==OK) { + switch (arg) { + case CLOCK_DIVIDER: + if (val>0) + retval=setClockDivider(val); + else + retval=getClockDivider(); + break; + case WAIT_STATES: + if (val>0) + retval=setWaitStates(val); + else + retval=getWaitStates(); + break; + case SET_SIGNAL_LENGTH: + if (val>0) + retval=setSetLength(val); + else + retval=getSetLength(); + break; + default: + ret=FAIL; + } + } + n = sendDataOnly(&ret,sizeof(ret)); + if (ret!=OK) { + n = sendDataOnly(mess,strlen(mess)+1); + } else { + n = sendDataOnly(&retval,sizeof(retval)); + } + return ret; +} + + + int set_readout_flags(int fnum) { enum readOutFlags retval; diff --git a/slsDetectorSoftware/mythenDetectorServer/server_funcs.h b/slsDetectorSoftware/mythenDetectorServer/server_funcs.h index b6f49ed32..ae1042597 100755 --- a/slsDetectorSoftware/mythenDetectorServer/server_funcs.h +++ b/slsDetectorSoftware/mythenDetectorServer/server_funcs.h @@ -61,6 +61,7 @@ int get_time_left(int); int set_dynamic_range(int); int set_roi(int); int get_roi(int); +int set_speed(int); int set_readout_flags(int); int execute_trimming(int); diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 0c993dcd7..d239944ad 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -2372,6 +2372,16 @@ int* slsDetector::popDataQueue() { } return retval; } + +detectorData* slsDetector::popFinalDataQueue() { + detectorData *retval=NULL; + if( !finalDataQueue.empty() ) { + retval=finalDataQueue.front(); + finalDataQueue.pop(); + } + return retval; +} + /* set or read the acquisition timers enum timerIndex { @@ -2587,7 +2597,7 @@ enum readOutFlags { setReadOutFlags(STORE_IN_RAM, READ_HITS, ZERO_COMPRESSION, - BACKGROUND_CORRECTIONS + BACKGROUND_CORRECTION }{}; */ @@ -2773,7 +2783,7 @@ float* slsDetector::decodeData(int *datain) { return dataout; } -//Corrections +//Correction /* enum correctionFlags { DISCARD_BAD_CHANNELS, @@ -2796,7 +2806,7 @@ int slsDetector::setFlatFieldCorrection(string fname){ if (fname=="") { #ifdef VERBOSE - cout << "disabling flat field corrections" << endl; + cout << "disabling flat field correction" << endl; #endif thisDetector->correctionMask&=~(1<correctionMask&(1<correctionMask&(1<correctionMask&=~(1<tDead=tdead[thisDetector->currentSettings]; } #ifdef VERBOSE - cout << "Setting rate corrections with dead time "<< thisDetector->tDead << endl; + cout << "Setting rate correction with dead time "<< thisDetector->tDead << endl; #endif } return thisDetector->correctionMask&(1<correctionMask&(1<correctionMask&(1<nBadChans; } -int slsDetector::getBadChannelCorrections(int *bad) { +int slsDetector::getBadChannelCorrection(int *bad) { int ichan; if (thisDetector->correctionMask&(1<< DISCARD_BAD_CHANNELS)) { if (bad) { diff --git a/slsDetectorSoftware/slsDetector/slsDetector.h b/slsDetectorSoftware/slsDetector/slsDetector.h index 177e9f537..8cd16ce70 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.h +++ b/slsDetectorSoftware/slsDetector/slsDetector.h @@ -41,6 +41,45 @@ extern "C" { #define defaultTDead {170,90,750} /**< should be changed in order to have it separate for the different detector types */ + + +/** + data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) + */ +class detectorData { + public: + /** The constructor + \param val pointer to the data + \param err pointer to errors + \param ang pointer to the angles + \param f_ind file index + \param fname file name to which the data are saved + \param np number of points defaults to the number of detector channels + */ + detectorData(float *val=NULL, float *err=NULL, float *ang=NULL, int f_ind=-1, char *fname="", int np=-1) : values(val), errors(err), angles(ang), fileIndex(f_ind), npoints(np){strcpy(fileName,fname);}; + /** + the destructor + deletes also the arrays pointing to data/errors/angles if not NULL + */ + ~detectorData() {if (values) delete [] values; if (errors) delete [] errors; if (angles) delete [] angles;}; + //private: + float *values; /**< pointer to the data */ + float *errors; /**< pointer to the errors */ + float *angles;/**< pointer to the angles */ + int fileIndex;/**< file index */ + char fileName[1000];/**< file name */ + int npoints;/**< number of points */ +}; + + + + + + + + + + using namespace std; /** \mainpage Common C++ library for SLS detectors data acquisition @@ -868,6 +907,12 @@ typedef struct sharedSlsDetector { */ int* popDataQueue(); + /** + pops the data from thepostprocessed data queue + \returns pointer to the popped data or NULL if the queue is empty. + \sa finalDataQueue + */ + detectorData* popFinalDataQueue(); /** set/get timer value \param index timer index @@ -945,7 +990,7 @@ typedef struct sharedSlsDetector { \param ecorr if !=NULL will be filled with the correction coefficients errors \returns 0 if ff correction disabled, >0 otherwise */ - int getFlatFieldCorrections(float *corr=NULL, float *ecorr=NULL); + int getFlatFieldCorrection(float *corr=NULL, float *ecorr=NULL); /** set rate correction @@ -960,13 +1005,13 @@ typedef struct sharedSlsDetector { \param t reference for dead time \returns 0 if rate correction disabled, >0 otherwise */ - int getRateCorrections(float &t); + int getRateCorrection(float &t); /** get rate correction \returns 0 if rate correction disabled, >0 otherwise */ - int getRateCorrections(); + int getRateCorrection(); /** set bad channels correction @@ -980,7 +1025,7 @@ typedef struct sharedSlsDetector { \param bad pointer to array that if bad!=NULL will be filled with the bad channel list \returns 0 if bad channel disabled or no bad channels, >0 otherwise */ - int getBadChannelCorrections(int *bad=NULL); + int getBadChannelCorrection(int *bad=NULL); /** returns the bad channel list file */ char *getBadChannelCorrectionFile() {return thisDetector->badChanFile;}; @@ -1177,9 +1222,10 @@ typedef struct sharedSlsDetector { /** pure virtual function function for processing data + /param delflag if 1 the data are processed, written to file and then deleted. If 0 they are added to the finalDataQueue \sa mythenDetector::processData */ - virtual void* processData()=0; // thread function + virtual void* processData(int delflag=1)=0; // thread function /** Allocates the memory for a sls_detector_module structure and initializes it \returns myMod the pointer to the allocate dmemory location @@ -1200,10 +1246,11 @@ typedef struct sharedSlsDetector { reads the IC (if required)
    reads the encoder (iof required for angualr conversion)
    processes the data (flat field, rate, angular conversion and merging ::processData()) + /param delflag if 1 the data are processed, written to file and then deleted. If 0 they are added to the finalDataQueue \sa mythenDetector::acquire() */ - virtual void acquire()=0; + virtual void acquire(int delflag=1)=0; protected: @@ -1246,12 +1293,14 @@ typedef struct sharedSlsDetector { data queue */ queue dataQueue; - /** - data processing thread??? + queue containing the postprocessed data */ - pthread_t dataProcessingThread; + queue finalDataQueue; + + + /** current position of the detector */