mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-20 02:40:03 +02:00
moench02 common mode moved to new structure
This commit is contained in:
parent
5c393e6204
commit
cadb4cff93
@ -1,7 +1,7 @@
|
||||
#ifndef MOENCHCOMMONMODE_H
|
||||
#define MOENCHCOMMONMODE_H
|
||||
|
||||
#include "commonModeSubtraction.h"
|
||||
#include "commonModeSubtractionNew.h"
|
||||
|
||||
class moenchCommonMode : public commonModeSubtraction {
|
||||
/** @short class to calculate the common mode noise for moench02 i.e. on 4 supercolumns separately */
|
||||
@ -9,35 +9,35 @@ class moenchCommonMode : public commonModeSubtraction {
|
||||
/** constructor - initalizes a commonModeSubtraction with 4 different regions of interest
|
||||
\param nn number of samples for the moving average
|
||||
*/
|
||||
moenchCommonMode(int nn=1000) : commonModeSubtraction(nn,4){} ;
|
||||
moenchCommonMode(int nn=1000) : commonModeSubtraction(0){} ;
|
||||
|
||||
|
||||
/** add value to common mode as a function of the pixel value, subdividing the region of interest in the 4 supercolumns of 40 columns each;
|
||||
\param val value to add to the common mode
|
||||
\param ix pixel coordinate in the x direction
|
||||
\param iy pixel coordinate in the y direction
|
||||
*/
|
||||
virtual void addToCommonMode(double val, int ix=0, int iy=0) {
|
||||
(void) iy;
|
||||
int isc=ix/40;
|
||||
if (isc>=0 && isc<nROI) {
|
||||
cmPed[isc]+=val;
|
||||
nCm[isc]++;
|
||||
}
|
||||
};
|
||||
/**returns common mode value as a function of the pixel value, subdividing the region of interest in the 4 supercolumns of 40 columns each;
|
||||
\param ix pixel coordinate in the x direction
|
||||
\param iy pixel coordinate in the y direction
|
||||
\returns common mode value
|
||||
*/
|
||||
virtual double getCommonMode(int ix=0, int iy=0) {
|
||||
(void) iy;
|
||||
int isc=ix/40;
|
||||
if (isc>=0 && isc<nROI) {
|
||||
if (nCm[isc]>0) return cmPed[isc]/nCm[isc]-cmStat[isc].Mean();
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
/* /\** add value to common mode as a function of the pixel value, subdividing the region of interest in the 4 supercolumns of 40 columns each; */
|
||||
/* \param val value to add to the common mode */
|
||||
/* \param ix pixel coordinate in the x direction */
|
||||
/* \param iy pixel coordinate in the y direction */
|
||||
/* *\/ */
|
||||
/* virtual void addToCommonMode(double val, int ix=0, int iy=0) { */
|
||||
/* (void) iy; */
|
||||
/* int isc=ix/40; */
|
||||
/* if (isc>=0 && isc<nROI) { */
|
||||
/* cmPed[isc]+=val; */
|
||||
/* nCm[isc]++; */
|
||||
/* } */
|
||||
/* }; */
|
||||
/* /\**returns common mode value as a function of the pixel value, subdividing the region of interest in the 4 supercolumns of 40 columns each; */
|
||||
/* \param ix pixel coordinate in the x direction */
|
||||
/* \param iy pixel coordinate in the y direction */
|
||||
/* \returns common mode value */
|
||||
/* *\/ */
|
||||
/* virtual double getCommonMode(int ix=0, int iy=0) { */
|
||||
/* (void) iy; */
|
||||
/* int isc=ix/40; */
|
||||
/* if (isc>=0 && isc<nROI) { */
|
||||
/* if (nCm[isc]>0) return cmPed[isc]/nCm[isc]-cmStat[isc].Mean(); */
|
||||
/* } */
|
||||
/* return 0; */
|
||||
/* }; */
|
||||
|
||||
};
|
||||
|
||||
|
@ -114,7 +114,7 @@ int main(int argc, char *argv[]) {
|
||||
char dummybuff[size];
|
||||
|
||||
int ncol_cm=20;
|
||||
double xt_ghost=0.00045;
|
||||
double xt_ghost=0.0004;
|
||||
moench03CommonMode *cm=new moench03CommonMode(ncol_cm);
|
||||
moench03GhostSummation *gs=new moench03GhostSummation(det, xt_ghost);
|
||||
double *gainmap=NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user