mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-01-19 20:28:51 +01:00
formatted slsDetectorCalibration
This commit is contained in:
@@ -5,59 +5,60 @@
|
||||
|
||||
#include "commonModeSubtractionNew.h"
|
||||
|
||||
class commonModeSubtractionColumn: public commonModeSubtraction{
|
||||
public:
|
||||
commonModeSubtractionColumn(int nr=200) : commonModeSubtraction(800), rows(nr) {};
|
||||
virtual int getROI(int ix, int iy){return ix+(iy/200)*400;};
|
||||
|
||||
virtual void addToCommonMode(double val, int ix=0, int iy=0) {
|
||||
if (iy<rows || iy>399-rows) {
|
||||
int iroi=getROI(ix,iy);
|
||||
// cout << iy << " " << ix << " " << iroi ;
|
||||
if (iroi>=0 && iroi<nROI) {
|
||||
mean[iroi]+=val;
|
||||
mean2[iroi]+=val*val;
|
||||
nCm[iroi]++;
|
||||
if (nCm[iroi]>rows) cout << "Too many pixels added " << nCm[iroi] << endl;
|
||||
/* if (ix==10 && iy<20) */
|
||||
/* cout << " ** "<<val << " " << mean[iroi] << " " << nCm[iroi] << " " << getCommonMode(ix, iy) << endl; */
|
||||
}
|
||||
}
|
||||
class commonModeSubtractionColumn : public commonModeSubtraction {
|
||||
public:
|
||||
commonModeSubtractionColumn(int nr = 200)
|
||||
: commonModeSubtraction(800), rows(nr){};
|
||||
virtual int getROI(int ix, int iy) { return ix + (iy / 200) * 400; };
|
||||
|
||||
virtual void addToCommonMode(double val, int ix = 0, int iy = 0) {
|
||||
if (iy < rows || iy > 399 - rows) {
|
||||
int iroi = getROI(ix, iy);
|
||||
// cout << iy << " " << ix << " " << iroi ;
|
||||
if (iroi >= 0 && iroi < nROI) {
|
||||
mean[iroi] += val;
|
||||
mean2[iroi] += val * val;
|
||||
nCm[iroi]++;
|
||||
if (nCm[iroi] > rows)
|
||||
cout << "Too many pixels added " << nCm[iroi] << endl;
|
||||
/* if (ix==10 && iy<20) */
|
||||
/* cout << " ** "<<val << " " << mean[iroi] << " " <<
|
||||
* nCm[iroi] << " " << getCommonMode(ix, iy) << endl; */
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
virtual commonModeSubtractionColumn *Clone() {
|
||||
return new commonModeSubtractionColumn(this->rows);
|
||||
virtual commonModeSubtractionColumn *Clone() {
|
||||
return new commonModeSubtractionColumn(this->rows);
|
||||
}
|
||||
|
||||
private:
|
||||
int rows;
|
||||
private:
|
||||
int rows;
|
||||
};
|
||||
|
||||
|
||||
class commonModeSubtractionSuperColumn: public commonModeSubtraction{
|
||||
public:
|
||||
commonModeSubtractionSuperColumn() : commonModeSubtraction(32) {};
|
||||
virtual int getROI(int ix, int iy){ return ix/25+(iy/200)*16;};
|
||||
class commonModeSubtractionSuperColumn : public commonModeSubtraction {
|
||||
public:
|
||||
commonModeSubtractionSuperColumn() : commonModeSubtraction(32){};
|
||||
virtual int getROI(int ix, int iy) { return ix / 25 + (iy / 200) * 16; };
|
||||
};
|
||||
|
||||
|
||||
class commonModeSubtractionHalf: public commonModeSubtraction{
|
||||
public:
|
||||
commonModeSubtractionHalf() : commonModeSubtraction(2) {};
|
||||
virtual int getROI(int ix, int iy){ (void) ix; return iy/200;};
|
||||
class commonModeSubtractionHalf : public commonModeSubtraction {
|
||||
public:
|
||||
commonModeSubtractionHalf() : commonModeSubtraction(2){};
|
||||
virtual int getROI(int ix, int iy) {
|
||||
(void)ix;
|
||||
return iy / 200;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class moench03CommonMode : public commonModeSubtractionColumn {
|
||||
/** @short class to calculate the common mode noise for moench02 i.e. on 4 supercolumns separately */
|
||||
public:
|
||||
/** constructor - initalizes a commonModeSubtraction with 4 different regions of interest
|
||||
\param nn number of samples for the moving average
|
||||
*/
|
||||
moench03CommonMode(int nr=20) : commonModeSubtractionColumn(nr){} ;
|
||||
|
||||
|
||||
/** @short class to calculate the common mode noise for moench02 i.e. on 4
|
||||
* supercolumns separately */
|
||||
public:
|
||||
/** constructor - initalizes a commonModeSubtraction with 4 different
|
||||
regions of interest \param nn number of samples for the moving average
|
||||
*/
|
||||
moench03CommonMode(int nr = 20) : commonModeSubtractionColumn(nr){};
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user