mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-26 16:20:03 +02:00
minor changes by Anna
This commit is contained in:
parent
c35203ebfb
commit
3baa677a2e
@ -43,7 +43,7 @@ class mythen3_01_jctbData : public slsDetectorData<short unsigned int> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static short unsigned int* mythen03_frame(char *ptr, int dr=24, int nch=64*3, int off=5) {
|
virtual short unsigned int* mythen03_frame(char *ptr, int dr=24, int nch=64*3, int off=5) {
|
||||||
// off=0;
|
// off=0;
|
||||||
int iarg;
|
int iarg;
|
||||||
int64_t word, *wp;
|
int64_t word, *wp;
|
||||||
|
127
slsDetectorCalibration/dataStructures/Mythen3_02_jctbData.h
Normal file
127
slsDetectorCalibration/dataStructures/Mythen3_02_jctbData.h
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
#ifndef MYTHEN302JCTBDATA_H
|
||||||
|
#define MYTHEN302JCTBDATA_H
|
||||||
|
|
||||||
|
|
||||||
|
#include "Mythen3_01_jctbData.h"
|
||||||
|
//class mythen3_02_jctbData : public slsDetectorData<short unsigned int> {
|
||||||
|
class mythen3_02_jctbData : public mythen3_01_jctbData {
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
mythen3_02_jctbData( int nch=64*3,int dr=24, int off=5): mythen3_01_jctbData( nch,dr, off)
|
||||||
|
//slsDetectorData<short unsigned int>(64*3,1,dr*8*nch,NULL,NULL,NULL), dynamicRange(dr), serialOffset(off), frameNumber(0), numberOfCounters(nch)
|
||||||
|
{};
|
||||||
|
|
||||||
|
/* virtual void getPixel(int ip, int &x, int &y) {x=-1; y=-1;}; */
|
||||||
|
|
||||||
|
/* virtual short unsigned int getChannel(char *data, int ix, int iy=0) { */
|
||||||
|
/* int ret=-1; */
|
||||||
|
/* short unsigned int *val=mythen03_frame(data,dynamicRange,numberOfCounters,serialOffset); */
|
||||||
|
/* if (ix>=0 && ix<numberOfCounters) ret=val[ix]; */
|
||||||
|
/* delete [] val; */
|
||||||
|
/* return ret; */
|
||||||
|
/* }; */
|
||||||
|
|
||||||
|
/* virtual int getFrameNumber(char *buff) {return frameNumber;}; */
|
||||||
|
|
||||||
|
/* virtual char *findNextFrame(char *data, int &ndata, int dsize) { */
|
||||||
|
/* ndata=dsize; */
|
||||||
|
/* return data; */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
/* virtual char *readNextFrame(ifstream &filebin) { */
|
||||||
|
/* char *data=NULL; */
|
||||||
|
/* if (filebin.is_open()) { */
|
||||||
|
/* data=new char[dataSize]; */
|
||||||
|
/* filebin.read(data,dataSize); */
|
||||||
|
/* } */
|
||||||
|
/* return data; */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
/* virtual short unsigned int **getData(char *ptr, int dsize=-1) { */
|
||||||
|
/* short unsigned int **val; */
|
||||||
|
/* val=new short unsigned int*[1]; */
|
||||||
|
/* val[0]=mythen03_frame(ptr,dynamicRange,nx,serialOffset); */
|
||||||
|
/* return val; */
|
||||||
|
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
|
||||||
|
virtual short unsigned int* mythen03_frame(char *ptr, int dr=24, int nch=64*3, int off=5) {
|
||||||
|
// off=0;
|
||||||
|
int iarg;
|
||||||
|
int64_t word, *wp;
|
||||||
|
short unsigned int* val=new short unsigned int[nch];
|
||||||
|
int bit[64];
|
||||||
|
int nb=2;
|
||||||
|
int ioff=0;
|
||||||
|
int idr=0;
|
||||||
|
int ib=0;
|
||||||
|
int iw=0;
|
||||||
|
int ii=0;
|
||||||
|
bit[0]=17;//19;
|
||||||
|
bit[1]=6;//8;
|
||||||
|
idr=0;
|
||||||
|
for (ib=0; ib<nch; ib++) {
|
||||||
|
val[ib]=0;
|
||||||
|
}
|
||||||
|
wp=(int64_t*)ptr;
|
||||||
|
|
||||||
|
for (iw=0; iw<nch/nb; iw) {
|
||||||
|
word=*wp;;
|
||||||
|
if (ioff<off) {
|
||||||
|
ioff++;
|
||||||
|
cout <<"*";
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (idr<16) {
|
||||||
|
for (ib=0; ib<nb; ib++) {
|
||||||
|
if (word&(1<<bit[ib])) {
|
||||||
|
cout << "+" ;
|
||||||
|
val[iw+nch*(ib/nb)]|=(1<<idr);
|
||||||
|
} else {
|
||||||
|
cout << "-" ;
|
||||||
|
}
|
||||||
|
}//end for()
|
||||||
|
}
|
||||||
|
|
||||||
|
idr++;
|
||||||
|
|
||||||
|
|
||||||
|
if (idr==dr) {
|
||||||
|
idr=0;
|
||||||
|
// cout << dec << " " << iw << " " << val[iw] << " " << val[iw+nch/2] << endl;
|
||||||
|
cout <<dec << iw<<endl;
|
||||||
|
iw++;
|
||||||
|
}//end if()
|
||||||
|
|
||||||
|
}//end else()
|
||||||
|
wp+=1;
|
||||||
|
ii++;
|
||||||
|
}//end for
|
||||||
|
|
||||||
|
cout << "Decoded "<<ii << " samples"<< endl;
|
||||||
|
cout << "Should be "<< nch/nb*dr+off << " samples"<< endl;
|
||||||
|
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* virtual int setFrameNumber(int f=0) {if (f>=0) frameNumber=f; return frameNumber; }; */
|
||||||
|
/* virtual int setDynamicRange(int d=-1) {if (d>0 && d<=24) dynamicRange=d; return dynamicRange;}; */
|
||||||
|
/* virtual int setSerialOffset(int d=-1) {if (d>=0) serialOffset=d; return serialOffset;}; */
|
||||||
|
/* virtual int setNumberOfCounters(int d=-1) {if (d>=0) numberOfCounters=d; return numberOfCounters;}; */
|
||||||
|
|
||||||
|
|
||||||
|
/* private: */
|
||||||
|
|
||||||
|
/* int dynamicRange; */
|
||||||
|
/* int serialOffset; */
|
||||||
|
/* int frameNumber; */
|
||||||
|
/* int numberOfCounters; */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user