mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
T1 data structure fixed
This commit is contained in:
parent
5dbfbdb82b
commit
1510fa71d3
@ -28,10 +28,12 @@ class moench03Ctb10GbT1Data : public slsReceiverData<uint16_t> {
|
|||||||
// moench03Ctb10GbData(int ns=5000): slsDetectorData<uint16_t>(400, 400, 8208*40, NULL, NULL) , nadc(32), sc_width(25), sc_height(200) {
|
// moench03Ctb10GbData(int ns=5000): slsDetectorData<uint16_t>(400, 400, 8208*40, NULL, NULL) , nadc(32), sc_width(25), sc_height(200) {
|
||||||
moench03Ctb10GbT1Data(int ns=5000): slsReceiverData<uint16_t>(400, 400, 40, 8208), nadc(32), sc_width(25), sc_height(200) {
|
moench03Ctb10GbT1Data(int ns=5000): slsReceiverData<uint16_t>(400, 400, 40, 8208), nadc(32), sc_width(25), sc_height(200) {
|
||||||
|
|
||||||
int adc_nr[32]={200,225,250,275,300,325,350,375,\
|
int adc_nr[32]={300,325,350,375,300,325,350,375, \
|
||||||
0,25,50,75,100,125,150,175,\
|
200,225,250,275,200,225,250,275,\
|
||||||
175,150,125,100,75,50,25,0,\
|
100,125,150,175,100,125,150,175,\
|
||||||
375,350,325,300,275,250,225,200};
|
0,25,50,75,0,25,50,75};
|
||||||
|
|
||||||
|
|
||||||
int row, col;
|
int row, col;
|
||||||
|
|
||||||
int isample;
|
int isample;
|
||||||
@ -94,10 +96,10 @@ class moench03Ctb10GbT1Data : public slsReceiverData<uint16_t> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//cout << dataMap[0][0] << endl;
|
||||||
|
|
||||||
iframe=0;
|
iframe=0;
|
||||||
// cout << "data struct created" << endl;
|
cout << "data struct created" << endl;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -174,24 +176,38 @@ class moench03Ctb10GbT1Data : public slsReceiverData<uint16_t> {
|
|||||||
/* }; */
|
/* }; */
|
||||||
|
|
||||||
|
|
||||||
virtual char *readNextFrame(ifstream &filebin, int& fnum) {
|
virtual char *readNextFrame(ifstream &filebin) {
|
||||||
|
int ff=-1, np=-1;
|
||||||
|
return readNextFrame(filebin, ff, np);
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual char *readNextFrame(ifstream &filebin, int &ff) {
|
||||||
|
int np=-1;
|
||||||
|
return readNextFrame(filebin, ff, np);
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual char *readNextFrame(ifstream &filebin, int& ff, int &np) {
|
||||||
char *data=new char[packetSize*nPackets];
|
char *data=new char[packetSize*nPackets];
|
||||||
char *retval=0;
|
char *retval=0;
|
||||||
int np=0, nd;
|
int nd;
|
||||||
fnum = -1;
|
int fnum = -1;
|
||||||
|
np=0;
|
||||||
int pn;
|
int pn;
|
||||||
char aa[8224];
|
char aa[8224];
|
||||||
char *packet=(char *)aa;
|
char *packet=(char *)aa;
|
||||||
|
// cout << packetSize*nPackets << endl;
|
||||||
|
if (ff>=0)
|
||||||
|
fnum=ff;
|
||||||
|
|
||||||
if (filebin.is_open()) {
|
if (filebin.is_open()) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
while(filebin.read((char*)packet, 8208) && np<nPackets){
|
while(filebin.read((char*)packet, 8208) ){
|
||||||
pn=getPacketNumber(packet);
|
pn=getPacketNumber(packet);
|
||||||
|
|
||||||
if (pn==1 && fnum<0)
|
if (fnum<0)
|
||||||
fnum= getFrameNumber(packet);
|
fnum= getFrameNumber(packet);
|
||||||
|
|
||||||
// cout << "fn: " << fnum << "\t pn: " << pn << endl;
|
// cout << "fn: " << fnum << "\t pn: " << pn << endl;
|
||||||
@ -202,12 +218,22 @@ class moench03Ctb10GbT1Data : public slsReceiverData<uint16_t> {
|
|||||||
delete [] data;
|
delete [] data;
|
||||||
return NULL;
|
return NULL;
|
||||||
} else
|
} else
|
||||||
|
filebin.seekg(-8208,ios_base::cur);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
if (pn>nPackets) {
|
||||||
|
cout << "Bad packet number " << pn << endl;
|
||||||
|
}
|
||||||
|
|
||||||
memcpy(data+(pn-1)*packetSize, packet, packetSize);
|
memcpy(data+(pn-1)*packetSize, packet, packetSize);
|
||||||
np++;
|
np++;
|
||||||
|
|
||||||
|
if (np==nPackets)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (pn==nPackets)
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,14 +244,13 @@ class moench03Ctb10GbT1Data : public slsReceiverData<uint16_t> {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
ff=fnum;
|
||||||
|
return data;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
int getPacketNumber(int x, int y) {return dataMap[y][x]/8208;};
|
int getPacketNumber(int x, int y) {return dataMap[y][x]/8208;};
|
||||||
|
|
||||||
virtual char *readNextFrame(ifstream &filebin) {
|
|
||||||
int fnum;
|
|
||||||
return readNextFrame(filebin, fnum);
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class moench03TCtbData : public slsDetectorData<uint16_t> {
|
class moench03CtbData : public slsDetectorData<uint16_t> {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@ -25,21 +25,24 @@ class moench03TCtbData : public slsDetectorData<uint16_t> {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
moench03TCtbData(int ns=5000): slsDetectorData<uint16_t>(400, 400, ns*2*32, NULL, NULL) , nadc(32), sc_width(25), sc_height(200) {
|
moench03CtbData(int ns=5000): slsDetectorData<uint16_t>(400, 400, ns*2*32, NULL, NULL) , nadc(32), sc_width(25), sc_height(200) {
|
||||||
|
|
||||||
|
|
||||||
int adc_nr[32]={200,225,250,275,300,325,350,375,\
|
|
||||||
0,25,50,75,100,125,150,175,\
|
|
||||||
175,150,125,100,75,50,25,0,\
|
|
||||||
375,350,325,300,275,250,225,200};
|
|
||||||
int row, col;
|
int row, col;
|
||||||
|
|
||||||
int isample;
|
int isample;
|
||||||
int iadc;
|
int iadc;
|
||||||
int ix, iy;
|
int ix, iy;
|
||||||
|
|
||||||
|
int adc_nr[32]={200,225,250,275,300,325,350,375,\
|
||||||
|
0,25,50,75,100,125,150,175,\
|
||||||
|
175,150,125,100,75,50,25,0,\
|
||||||
|
375,350,325,300,275,250,225,200};
|
||||||
|
|
||||||
|
/* int adc_nr[32]={300,325,350,375,300,325,350,375, \ */
|
||||||
|
/* 200,225,250,275,200,225,250,275,\ */
|
||||||
|
/* 100,125,150,175,100,125,150,175,\ */
|
||||||
|
/* 0,25,50,75,0,25,50,75}; */
|
||||||
|
|
||||||
|
|
||||||
for (iadc=0; iadc<nadc; iadc++) {
|
for (iadc=0; iadc<nadc; iadc++) {
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
//#include <list>
|
//#include <list>
|
||||||
//#include <queue>
|
//#include <queue>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include "moench03Ctb10GbData.h"
|
#include "moench03Ctb10GbT1Data.h"
|
||||||
#include "moench03CommonMode.h"
|
#include "moench03CommonMode.h"
|
||||||
#define MYROOT1
|
#define MYROOT1
|
||||||
#include "singlePhotonDetector.h"
|
#include "singlePhotonDetector.h"
|
||||||
@ -37,7 +37,7 @@ using namespace std;
|
|||||||
|
|
||||||
|
|
||||||
TH2F *readImage(ifstream &filebin, TH2F *h2=NULL, TH2F *hped=NULL) {
|
TH2F *readImage(ifstream &filebin, TH2F *h2=NULL, TH2F *hped=NULL) {
|
||||||
moench03Ctb10GbData *decoder=new moench03Ctb10GbData();
|
moench03Ctb10GbT1Data *decoder=new moench03Ctb10GbT1Data();
|
||||||
char *buff=decoder->readNextFrame(filebin);
|
char *buff=decoder->readNextFrame(filebin);
|
||||||
|
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ TH2F *readImage(char *fname, int iframe=0, TH2F *hped=NULL) {
|
|||||||
TH2F *calcPedestal(char *fformat, int runmin, int runmax){
|
TH2F *calcPedestal(char *fformat, int runmin, int runmax){
|
||||||
ifstream filebin;
|
ifstream filebin;
|
||||||
char fname[10000];
|
char fname[10000];
|
||||||
moench03Ctb10GbData *decoder=new moench03Ctb10GbData();
|
moench03Ctb10GbT1Data *decoder=new moench03Ctb10GbT1Data();
|
||||||
singlePhotonDetector<uint16_t> *filter=new singlePhotonDetector<uint16_t>(decoder, 3, 5, 1, NULL);
|
singlePhotonDetector<uint16_t> *filter=new singlePhotonDetector<uint16_t>(decoder, 3, 5, 1, NULL);
|
||||||
char *buff;
|
char *buff;
|
||||||
int ix,iy;
|
int ix,iy;
|
||||||
@ -142,7 +142,7 @@ TH2F *calcPedestal(char *fformat, int runmin, int runmax){
|
|||||||
TH1D *calcSpectrum(char *fformat, int runmin, int runmax, TH2F *hped=NULL){
|
TH1D *calcSpectrum(char *fformat, int runmin, int runmax, TH2F *hped=NULL){
|
||||||
ifstream filebin;
|
ifstream filebin;
|
||||||
char fname[10000];
|
char fname[10000];
|
||||||
moench03Ctb10GbData *decoder=new moench03Ctb10GbData();
|
moench03Ctb10GbT1Data *decoder=new moench03Ctb10GbT1Data();
|
||||||
TH1D *hspectrum=new TH1D("hsp","hsp",2500,-500,10000);
|
TH1D *hspectrum=new TH1D("hsp","hsp",2500,-500,10000);
|
||||||
char *buff;
|
char *buff;
|
||||||
int ix,iy;
|
int ix,iy;
|
||||||
@ -180,7 +180,7 @@ TH1D *calcSpectrum(char *fformat, int runmin, int runmax, TH2F *hped=NULL){
|
|||||||
TH2F *drawImage(char *fformat, int runmin, int runmax, TH2F *hped=NULL){
|
TH2F *drawImage(char *fformat, int runmin, int runmax, TH2F *hped=NULL){
|
||||||
ifstream filebin;
|
ifstream filebin;
|
||||||
char fname[10000];
|
char fname[10000];
|
||||||
moench03Ctb10GbData *decoder=new moench03Ctb10GbData();
|
moench03Ctb10GbT1Data *decoder=new moench03Ctb10GbT1Data();
|
||||||
TH2F *hspectrum=new TH2F("hsp","hsp",400,0,400,400,0,400);
|
TH2F *hspectrum=new TH2F("hsp","hsp",400,0,400,400,0,400);
|
||||||
char *buff;
|
char *buff;
|
||||||
int ix,iy;
|
int ix,iy;
|
||||||
@ -243,7 +243,7 @@ THStack *moench03ReadData(char *fformat, char *tit, int runmin, int runmax, int
|
|||||||
double hc=0;
|
double hc=0;
|
||||||
int sign=1;
|
int sign=1;
|
||||||
|
|
||||||
moench03Ctb10GbData *decoder=new moench03Ctb10GbData();
|
moench03Ctb10GbT1Data *decoder=new moench03Ctb10GbT1Data();
|
||||||
cout << "decoder allocated " << endl;
|
cout << "decoder allocated " << endl;
|
||||||
|
|
||||||
moench03CommonMode *cmSub=NULL;
|
moench03CommonMode *cmSub=NULL;
|
||||||
@ -278,30 +278,30 @@ THStack *moench03ReadData(char *fformat, char *tit, int runmin, int runmax, int
|
|||||||
cout << "hstack allocated " << endl;
|
cout << "hstack allocated " << endl;
|
||||||
|
|
||||||
|
|
||||||
TH2F *h1=new TH2F("h1",tit,nbins,hmin-0.5,hmax-0.5,NC*NR,-0.5,NC*NR-0.5);
|
TH2F *h1=NULL;//new TH2F("h1",tit,nbins,hmin-0.5,hmax-0.5,NC*NR,-0.5,NC*NR-0.5);
|
||||||
hs->Add(h1);
|
// hs->Add(h1);
|
||||||
cout << "h1 allocated " << endl;
|
// cout << "h1 allocated " << endl;
|
||||||
|
|
||||||
TH2F *h2;
|
TH2F *h2=NULL;
|
||||||
TH2F *h3;
|
TH2F *h3=NULL;
|
||||||
if (hitfinder) {
|
// if (hitfinder) {
|
||||||
h2=new TH2F("h2",tit,nbins,hmin-0.5,hmax-0.5,NC*NR,-0.5,NC*NR-0.5);
|
// h2=new TH2F("h2",tit,nbins,hmin-0.5,hmax-0.5,NC*NR,-0.5,NC*NR-0.5);
|
||||||
cout << "h2 allocated " << endl;
|
// cout << "h2 allocated " << endl;
|
||||||
h3=new TH2F("h3",tit,nbins,hmin-0.5,hmax-0.5,NC*NR,-0.5,NC*NR-0.5);
|
// h3=new TH2F("h3",tit,nbins,hmin-0.5,hmax-0.5,NC*NR,-0.5,NC*NR-0.5);
|
||||||
cout << "h3 allocated " << endl;
|
// cout << "h3 allocated " << endl;
|
||||||
// hetaX=new TH2F("hetaX",tit,nbins,-1,2,NC*NR,-0.5,NC*NR-0.5);
|
// // hetaX=new TH2F("hetaX",tit,nbins,-1,2,NC*NR,-0.5,NC*NR-0.5);
|
||||||
// hetaY=new TH2F("hetaY",tit,nbins,-1,2,NC*NR,-0.5,NC*NR-0.5);
|
// // hetaY=new TH2F("hetaY",tit,nbins,-1,2,NC*NR,-0.5,NC*NR-0.5);
|
||||||
hs->Add(h2);
|
// hs->Add(h2);
|
||||||
hs->Add(h3);
|
// hs->Add(h3);
|
||||||
// hs->Add(hetaX);
|
// // hs->Add(hetaX);
|
||||||
// hs->Add(hetaY);
|
// // hs->Add(hetaY);
|
||||||
}
|
// }
|
||||||
if (hs->GetHists()) {
|
// if (hs->GetHists()) {
|
||||||
for (int i=0; i<3; i++)
|
// for (int i=0; i<3; i++)
|
||||||
if (hs->GetHists()->At(1)) cout << i << " " ;
|
// if (hs->GetHists()->At(1)) cout << i << " " ;
|
||||||
cout << " histos allocated " << endl;
|
// cout << " histos allocated " << endl;
|
||||||
} else
|
// } else
|
||||||
cout << "no hists in stack " << endl;
|
// cout << "no hists in stack " << endl;
|
||||||
|
|
||||||
|
|
||||||
ifstream filebin;
|
ifstream filebin;
|
||||||
@ -310,7 +310,8 @@ THStack *moench03ReadData(char *fformat, char *tit, int runmin, int runmax, int
|
|||||||
int ix=20, iy=20, ir, ic;
|
int ix=20, iy=20, ir, ic;
|
||||||
|
|
||||||
|
|
||||||
Int_t iFrame;
|
Int_t iFrame=-1;
|
||||||
|
Int_t np=-1;
|
||||||
TTree *tall;
|
TTree *tall;
|
||||||
if (hitfinder)
|
if (hitfinder)
|
||||||
tall=filter->initEventTree(tit, &iFrame);
|
tall=filter->initEventTree(tit, &iFrame);
|
||||||
@ -353,17 +354,21 @@ THStack *moench03ReadData(char *fformat, char *tit, int runmin, int runmax, int
|
|||||||
cout << "file name " << fname << endl;
|
cout << "file name " << fname << endl;
|
||||||
filebin.open((const char *)(fname), ios::in | ios::binary);
|
filebin.open((const char *)(fname), ios::in | ios::binary);
|
||||||
nph=0;
|
nph=0;
|
||||||
while ((buff=decoder->readNextFrame(filebin))) {
|
if (filebin.is_open())
|
||||||
|
;
|
||||||
|
else
|
||||||
|
cout << "Could not open file " << fname<< endl;
|
||||||
|
while ((buff=decoder->readNextFrame(filebin, iFrame))) {
|
||||||
|
//cout << (void*)buff << endl;
|
||||||
filter->newFrame();
|
filter->newFrame();
|
||||||
|
|
||||||
if (cmsub) {
|
// if (cmsub) {
|
||||||
// cout << "cm" << endl;
|
// // cout << "cm" << endl;
|
||||||
for (ix=xmin-1; ix<xmax+1; ix++)
|
// for (ix=xmin-1; ix<xmax+1; ix++)
|
||||||
for (iy=ymin-1; iy<ymax+1; iy++) {
|
// for (iy=ymin-1; iy<ymax+1; iy++) {
|
||||||
thisEvent=filter->getEventType(buff, ix, iy,0);
|
// thisEvent=filter->getEventType(buff, ix, iy,0);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
// if (hitfinder) {
|
// if (hitfinder) {
|
||||||
|
|
||||||
// //calculate pedestals and common modes
|
// //calculate pedestals and common modes
|
||||||
@ -373,10 +378,10 @@ THStack *moench03ReadData(char *fformat, char *tit, int runmin, int runmax, int
|
|||||||
|
|
||||||
for (ix=xmin-1; ix<xmax+1; ix++)
|
for (ix=xmin-1; ix<xmax+1; ix++)
|
||||||
for (iy=ymin-1; iy<ymax+1; iy++) {
|
for (iy=ymin-1; iy<ymax+1; iy++) {
|
||||||
// cout << ix << " " << iy << endl;
|
// cout << buff << " " << iFrame << " " << ix << " " << iy << endl;
|
||||||
thisEvent=filter->getEventType(buff, ix, iy, cmsub);
|
thisEvent=filter->getEventType(buff, ix, iy, cmsub);
|
||||||
// if (nf>10) {
|
// if (nf>10) {
|
||||||
h1->Fill(filter->getClusterTotal(1), iy+NR*ix);
|
// h1->Fill(filter->getClusterTotal(1), iy+NR*ix);
|
||||||
|
|
||||||
#ifdef MY_DEBUG
|
#ifdef MY_DEBUG
|
||||||
// if (iev%10==0)
|
// if (iev%10==0)
|
||||||
@ -388,9 +393,9 @@ THStack *moench03ReadData(char *fformat, char *tit, int runmin, int runmax, int
|
|||||||
if (thisEvent==PHOTON_MAX ) {
|
if (thisEvent==PHOTON_MAX ) {
|
||||||
nph++;
|
nph++;
|
||||||
|
|
||||||
h2->Fill(filter->getClusterTotal(2), iy+NR*ix);
|
// h2->Fill(filter->getClusterTotal(2), iy+NR*ix);
|
||||||
h3->Fill(filter->getClusterTotal(3), iy+NR*ix);
|
// h3->Fill(filter->getClusterTotal(3), iy+NR*ix);
|
||||||
iFrame=decoder->getFrameNumber(buff);
|
// iFrame=decoder->getFrameNumber(buff);
|
||||||
|
|
||||||
tall->Fill();
|
tall->Fill();
|
||||||
|
|
||||||
@ -403,7 +408,8 @@ THStack *moench03ReadData(char *fformat, char *tit, int runmin, int runmax, int
|
|||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
iFrame=-1;
|
||||||
|
np=-1;
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
//////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////
|
||||||
@ -457,7 +463,7 @@ THStack *moench03ReadData(char *fformat, char *tit, int runmin, int runmax, int
|
|||||||
TGraph* checkFrameNumber(char *fformat, int runmin, int runmax, int ix, int iy){
|
TGraph* checkFrameNumber(char *fformat, int runmin, int runmax, int ix, int iy){
|
||||||
ifstream filebin;
|
ifstream filebin;
|
||||||
char fname[10000];
|
char fname[10000];
|
||||||
moench03Ctb10GbData *decoder=new moench03Ctb10GbData();
|
moench03Ctb10GbT1Data *decoder=new moench03Ctb10GbT1Data();
|
||||||
char *buff;
|
char *buff;
|
||||||
int ii=0;
|
int ii=0;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class moench03CtbData : public slsDetectorData<uint16_t> {
|
class moench03TCtbData : public slsDetectorData<uint16_t> {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@ -25,13 +25,9 @@ class moench03CtbData : public slsDetectorData<uint16_t> {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
moench03CtbData(int ns=5000): slsDetectorData<uint16_t>(400, 400, ns*2*32, NULL, NULL) , nadc(32), sc_width(25), sc_height(200) {
|
moench03TCtbData(int ns=5000): slsDetectorData<uint16_t>(400, 400, ns*2*32, NULL, NULL) , nadc(32), sc_width(25), sc_height(200) {
|
||||||
|
|
||||||
|
|
||||||
int adc_nr[32]={300,325,350,375,300,325,350,375, \
|
|
||||||
200,225,250,275,200,225,250,275,\
|
|
||||||
100,125,150,175,100,125,150,175,\
|
|
||||||
0,25,50,75,0,25,50,75};
|
|
||||||
int row, col;
|
int row, col;
|
||||||
|
|
||||||
int isample;
|
int isample;
|
||||||
@ -40,6 +36,17 @@ class moench03CtbData : public slsDetectorData<uint16_t> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int adc_nr[32]={300,325,350,375,300,325,350,375, \
|
||||||
|
200,225,250,275,200,225,250,275,\
|
||||||
|
100,125,150,175,100,125,150,175,\
|
||||||
|
0,25,50,75,0,25,50,75};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* int adc_nr[32]={200,225,250,275,300,325,350,375,\ */
|
||||||
|
/* 0,25,50,75,100,125,150,175,\ */
|
||||||
|
/* 175,150,125,100,75,50,25,0,\ */
|
||||||
|
/* 375,350,325,300,275,250,225,200}; */
|
||||||
|
|
||||||
|
|
||||||
for (iadc=0; iadc<nadc; iadc++) {
|
for (iadc=0; iadc<nadc; iadc++) {
|
||||||
@ -56,12 +63,15 @@ class moench03CtbData : public slsDetectorData<uint16_t> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int adc4;
|
||||||
for (int i=0; i<nx*ny; i++) {
|
for (int i=0; i<nx*ny; i++) {
|
||||||
isample=i/nadc;
|
isample=i/nadc;
|
||||||
iadc=i%nadc;
|
iadc=i%nadc;
|
||||||
ix=isample%sc_width;
|
ix=isample%sc_width;
|
||||||
iy=isample/sc_width;
|
iy=isample/sc_width;
|
||||||
if (iadc<(nadc/2)) {
|
adc4 = (int)iadc/4;
|
||||||
|
// if (iadc<(nadc/2)) {
|
||||||
|
if (adc4%2==0) {
|
||||||
xmap[i]=adc_nr[iadc]+ix;
|
xmap[i]=adc_nr[iadc]+ix;
|
||||||
ymap[i]=ny/2-1-iy;
|
ymap[i]=ny/2-1-iy;
|
||||||
} else {
|
} else {
|
||||||
@ -72,6 +82,22 @@ class moench03CtbData : public slsDetectorData<uint16_t> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* for (int i=0; i<nx*ny; i++) { */
|
||||||
|
/* isample=i/nadc; */
|
||||||
|
/* iadc=i%nadc; */
|
||||||
|
/* ix=isample%sc_width; */
|
||||||
|
/* iy=isample/sc_width; */
|
||||||
|
/* if (iadc<(nadc/2)) { */
|
||||||
|
/* xmap[i]=adc_nr[iadc]+ix; */
|
||||||
|
/* ymap[i]=ny/2-1-iy; */
|
||||||
|
/* } else { */
|
||||||
|
/* xmap[i]=adc_nr[iadc]+ix; */
|
||||||
|
/* ymap[i]=ny/2+iy; */
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
|
||||||
|
/* } */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -220,6 +220,8 @@ class slsDetectorData {
|
|||||||
virtual dataType getChannel(char *data, int ix, int iy=0) {
|
virtual dataType getChannel(char *data, int ix, int iy=0) {
|
||||||
dataType m=0, d=0;
|
dataType m=0, d=0;
|
||||||
if (ix>=0 && ix<nx && iy>=0 && iy<ny && dataMap[iy][ix]>=0 && dataMap[iy][ix]<dataSize) {
|
if (ix>=0 && ix<nx && iy>=0 && iy<ny && dataMap[iy][ix]>=0 && dataMap[iy][ix]<dataSize) {
|
||||||
|
// cout << ix << " " << iy << " " ;
|
||||||
|
//cout << dataMap[ix][iy] << " " << (void*)data << " " << dataSize<< endl;
|
||||||
m=dataMask[iy][ix];
|
m=dataMask[iy][ix];
|
||||||
d=*((dataType*)(data+dataMap[iy][ix]));
|
d=*((dataType*)(data+dataMap[iy][ix]));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user